After you resize disks of Linux instances by extending disk capacity in the Elastic Compute Service (ECS) console, you must extend partitions and file systems on the disks in the instance operating systems for the new disk capacity to take effect. In specific early versions of Linux operating systems, partitions and file systems on disks cannot be extended online by using tools such as growpart. In this case, you must extend the disk partitions and file systems offline in the instance operating systems. A disk is online when it is in the Mount state, and is offline when it is in the Umount state. This topic describes how to offline extend partitions and file systems on a data disk of a Linux instance.

Prerequisites

  1. A snapshot is created for a data disk of a Linux instance.

    To prevent data loss caused by accidental changes, we recommend that you create a snapshot to back up your data. For more information, see Create a snapshot of a disk.

  2. The data disk is resized in the ECS console.

    If the data disk is not resized, perform the operations that are described in Step 1: Resize a disk to extend its capacity to resize the data disk by extending its capacity.

  3. Connect to an ECS instance.

    For more information about connection methods, see Connection methods.

Background information

In the examples of this topic, the following configurations are used:
  • Operating system of the instance: Alibaba Cloud Linux 2.1903 LTS 64-bit public image
  • Data disk: ultra disk
  • Device name of the data disk: /dev/vdb

Adjust the commands or parameter settings based on the actual operating system and device name of your data disk.

Check the partition format and the file system type

  1. Run the following command to check the partition format of the data disk:
    sudo fdisk -lu /dev/vdb
    In this example, the disk has a partition named /dev/vdb1.
    • If the disk uses the master boot record (MBR) partition format, the value of System is Linux.
    • If the disk uses the GUID Partition Table (GPT) partition format, the value of System is GPT.
    [testuser@ecshost ~]# sudo fdisk -lu /dev/vdb
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x9277b47b
    
    Device Boot Start End Blocks Id System
    /dev/vdb1 2048 41943039 20970496 83 Linux
  2. Run the following command to check the file system type of the partition:
    blkid /dev/vdb1
    In this example, the file system type of /dev/vdb1 is ext4.
    [testuser@ecshost ~]# blkid /dev/vdb1
    /dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
    Note If the data disk does not have partitions or file systems or if the data disk has partitions but no file systems, no results are returned.
  3. Run one of the following commands to check the status of the file system.
    • To check the status of an ext file system, run the following command:
      sudo e2fsck -n /dev/vdb1
    • To check the status of an xfs file system, run the following command:
      sudo xfs_repair -n /dev/vdb1
    • To check the status of a btrfs file system, run the following command:
      sudo btrfsck /dev/vdb1
    Different command outputs are returned for different types of file systems.
    • The following code provides a sample command output for an ext or xfs file system. If the file system works as expected, clean is returned in the command output. If clean is not returned, troubleshoot the issue.
      [testuser@ecshost ~]# sudo e2fsck -n /dev/vdb1
      Warning! /dev/vdb1 is mounted.
      Warning: skipping journal recovery because doing a read-only filesystem check.
      /dev/vdb1: clean, 11/1310720 files, 126322/5242624 blocks
    • The following code provides a sample command output for a btrfs file system. found 114688 bytes used err is 0 indicates that the file system works as expected. If an error is returned in the command output, troubleshoot the issue.
      [testuser@ecshost ~]# sudo btrfsck /dev/vdb1
      Checking filesystem on /dev/vdb1
      UUID: 1234b7a7-68ff-4f48-a88c-8943f27f1234
      checking extents
      checking free space cache
      checking fs roots
      checking csums
      checking root refs
      found 114688 bytes used err is 0
      total csum bytes: 0
      total tree bytes: 114688
      total fs tree bytes: 32768
      total extent tree bytes: 16384
      btree space waste bytes: 109471
      file data blocks allocated: 0
      referenced 0

Choose a method to extend partitions or file systems

Choose an extend method based on the partition format and the file system type.

ScenarioExtend method
The data disk has partitions and file systems.
The new data disk does not have partitions or file systems.After you resize the data disk in the ECS console, perform the operations described in Initialize a data disk whose size does not exceed 2 TiB on a Linux instance or Initialize a data disk that is larger than 2 TiB in size.
The raw data disk has a file system but no partitions.After you resize the data disk in the ECS console, perform the operations described in Option 5: Extend the file system of a raw data disk.
The data disk is not attached to an instance.After you attach the data disk to an instance, perform the operations described in this topic to extend partitions and files systems on the data disk.
Note
  • If a data disk contains an MBR partition, the data disk cannot be resized to 2 TiB or larger. To prevent data loss, we recommend that you create a disk larger than 2 TiB in size, format the new disk to GPT, and then copy the data in the MBR partition to a GPT partition on the new disk. For more information, see Initialize a data disk that is larger than 2 TiB in size.
  • If data disks cannot be resized due to issues with the resize or format tool, you can upgrade the tool to a later version or re-install the tool.

Option 1: Extend existing MBR partitions

Note To prevent data loss, we recommend that you do not extend partitions or file systems that are mounted to ECS instances. If you want to extend a partition that is mounted to an ECS instance, run the umount command to unmount the partition before you extend the partition. Extend the partition, wait until the partition works as expected, and then run the mount command to remount the partition. Perform operations based on the Linux kernel version:
  • If the instance kernel version is earlier than 3.6, unmount the partition, modify the partition table, and then extend the file system.
  • If the instance kernel version is 3.6 or later, modify the partition table, notify the kernel to update the partition table, and then extend the file system.

Perform the following operations to extend an existing MBR partition:

  1. Modify the partition table.
    1. Run the following command to view the partition information and record the start and end sectors of the partition:
      sudo fdisk -lu /dev/vdb

      In this example, the start sector number of the /dev/vdb1 partition is 2048 and the end sector number is 41943039.

      [testuser@ecshost ~]# sudo fdisk -lu /dev/vdb
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      
      Device Boot Start End Blocks Id System
      /dev/vdb1 2048 41943039 20970496 83 Linux
    2. View the mount path of the data disk. Unmount the partition based on the returned path, and wait until the partition is unmounted.
      Run the following command to view mount information:
      mount | grep "/dev/vdb"
      Run the following command to unmount the /dev/vdb data disk:
      sudo umount /dev/vdb1
      Run the following command to check whether the data disk is unmounted:
      mount | grep "/dev/vdb"

      A command output similar to the following one is returned:

      [testuser@ecshost ~]# mount | grep "/dev/vdb"
      /dev/vdb1 on /mnt type ext4 (rw,relatime,data=ordered)
      [testuser@ecshost ~]# sudo umount /dev/vdb1
      [testuser@ecshost ~]# mount | grep "/dev/vdb"
    3. Run the fdisk command to delete the existing partition.
      Warning If an error occurs when you delete a partition, data stored on the partition may be deleted. To prevent data loss, back up important data such as user data in a database before you delete a partition.
      1. Run the sudo fdisk -u /dev/vdb command to partition the data disk.
      2. Enter p to obtain the partition table.
      3. Enter d to delete the partition.
      4. Enter p to check whether the partition is deleted.
      5. Enter w to save the changes and exit.

      The following sample code demonstrates how to delete a partition:

      [testuser@ecshost ~]# sudo fdisk -u /dev/vdb
      Welcome to fdisk (util-linux 2.23.2).
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      Command (m for help): p
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      Device Boot Start End Blocks Id System
      /dev/vdb1 2048 41943039 20970496 83 Linux
      Command (m for help): d
      Selected partition 1
      Partition 1 is deleted
      Command (m for help): p
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      Device Boot Start End Blocks Id System
      Command (m for help): w
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.
    4. Run the fdisk command to create a partition.
      1. Run the sudo fdisk -u /dev/vdb command to partition the data disk.
      2. Enter p to obtain the partition table.
      3. Enter n to create a partition.
      4. Enter p to select the primary partition type.
      5. Enter <Partition number> to select a partition number. In this example, 1 is selected.
      6. Set the start and end sector numbers for the new partition.
        Warning The start sector number of the new partition must be the same as that of the existing partition, and the end sector number must be greater than that of the existing partition. Otherwise, the extend operation fails.
      7. Enter w to save the changes and exit.

      The following sample code demonstrates how to extend a partition. In this example, the /dev/vdb1 partition is extended from 20 GiB to 40 GiB.

      [testuser@ecshost ~]# sudo fdisk -u /dev/vdb
      Welcome to fdisk (util-linux 2.23.2).
      Changes will remain in memory only, until you decide to write them.
      Be careful before using the write command.
      Command (m for help): p
      Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
      Units = sectors of 1 * 512 = 512 bytes
      Sector size (logical/physical): 512 bytes / 512 bytes
      I/O size (minimum/optimal): 512 bytes / 512 bytes
      Disk label type: dos
      Disk identifier: 0x9277b47b
      Device Boot Start End Blocks Id System
      Command (m for help): n
      Partition type:
      p primary (0 primary, 0 extended, 4 free)
      e extended
      Select (default p): p
      Partition number (1-4, default 1): 1
      First sector (2048-83886079, default 2048):
      Using default value 2048
      Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079):
      Partition 1 of type Linux and of size 40 GiB is set
      Command (m for help): w
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.
    5. Run one of the following commands to notify the kernel to update the partition table:
      sudo partprobe /dev/vdb
      Note If the -bash: partprobe: command not found error message appears in the CentOS 6 operating system, change the URL of the YUM repository. For more information, see Change the CentOS 6 source address. Run the sudo yum install -y parted command to install the Parted tool. Then, run the partprobe /dev/vdb command again.
      sudo partx -u /dev/vdb1
    6. Run the following command to check whether the partition table is added:
      sudo lsblk /dev/vdb
    7. Run the following command to check whether the extended file system is in the clean state:
      sudo e2fsck -f /dev/vdb1
      Note If the file system is not in the clean state after you run the preceding command, you can run the sudo e2fsck -n /dev/vdb1 command to check the file system.
  2. Extend the file system.
    • If the file system type is ext such as ext3 or ext4, run the following commands in sequence to extend the file system and remount the partition.

      Run the following command to extend the file system:

      sudo resize2fs /dev/vdb1

      Run the following command to mount the partition to /mnt:

      sudo mount /dev/vdb1 /mnt
    • If the file system type is xfs, run the following commands in sequence to remount the partition and then extend the file system.

      Run the following command to mount the partition to /mnt:

      sudo mount /dev/vdb1 /mnt

      Run the following command to extend the file system:

      sudo xfs_growfs /mnt
      Note The new version xfs_growfs identifies the device to extend based on the mount point. Example: xfs_growfs /mnt. You can run the xfs_growfs --help command to check how to use xfs_growfs of different versions.
    • If the file system type is btrfs, run the following commands in sequence to remount the partition and then extend the file system.
      Run the following command to mount the partition to /mnt:
      sudo mount /dev/vdb1 /mnt
      Run the following command to extend the file system:
      sudo btrfs filesystem resize max /mnt

Option 2: Create and format MBR partitions

Perform the following operations to create more MBR partitions:

  1. Run the following command to create a partition:
    sudo fdisk -u /dev/vdb

    The following sample code demonstrates how to create a partition. In this example, a 20 GiB partition named /dev/vdb2 is created.

    [testuser@ecshost ~]# sudo fdisk -u /dev/vdb
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write commad.
    
    Command (m for help): p
    
    Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x2b31a2a3
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vdb1            2048    41943039    20970496   83  Linux
    
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p
    Partition number (2-4, default 2): 2
    First sector (41943040-83886079, default 41943040):
    Using default value 41943040
    Last sector, +sectors or +size{K,M,G} (41943040-83886079, default 83886079):
    Using default value 83886079
    Partition 2 of type Linux and of size 20 GiB is set
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
  2. Run the following command to view the partition:
    lsblk /dev/vdb

    A command output similar to the following one is returned:

    [testuser@ecshost ~]# lsblk /dev/vdb
    NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    vdb    253:16   0  40G  0 disk
    ├─vdb1 253:17   0  20G  0 part
    └─vdb2 253:18   0  20G  0 part
  3. Run one of the following commands to create a file system.
    • To create an ext4 file system, run the following command:
      sudo mkfs.ext4 /dev/vdb2
    • To create an xfs file system, run the following command:
      sudo mkfs.xfs -f /dev/vdb2
    • To create a btrfs file system, run the following command:
      sudo mkfs.btrfs /dev/vdb2
  4. Run the following command to view the information about the file system:
    blkid /dev/vdb2
    A command output similar to the following one is returned:
    [testuser@ecshost ~]# blkid /dev/vdb2
    /dev/vdb2: UUID="e3f336dc-d534-4fdd-****-b6ff1a55bdbb" TYPE="ext4"
  5. Run the following command to mount the partition:
    sudo mount /dev/vdb2 /mnt
  6. Run the following command to view the space and usage of the data disk:
    df -h
    A command output similar to the following one is returned. In the command output, the information about the new file system is displayed, indicating that the partition is mounted:
    [testuser@ecshost ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 1.6G 36G 5% /
    devtmpfs 3.9G 0 3.9G 0% /dev
    tmpfs 3.9G 0 3.9G 0% /dev/shm
    tmpfs 3.9G 460K 3.9G 1% /run
    tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
    /dev/vdb2 9.8G 37M 9.2G 1% /mnt
    tmpfs 783M 0 783M 0% /run/user/0

Option 3: Extend existing GPT partitions

Perform the following operations to extend an existing GPT partition:

  1. View the mount path of the data disk. Unmount the partition based on the returned path, and wait until the partition is unmounted.
    Run the following command to view mount information:
    mount | grep "/dev/vdb"
    Run the following command to unmount the /dev/vdb data disk:
    sudo umount /dev/vdb1
    Run the following command to check whether the data disk is unmounted:
    mount | grep "/dev/vdb"

    A command output similar to the following one is returned:

    [testuser@ecshost ~]# mount | grep "/dev/vdb"
    /dev/vdb1 on /mnt type ext4 (rw,relatime,data=ordered)
    [testuser@ecshost ~]# sudo umount /dev/vdb1
    [testuser@ecshost ~]# mount | grep "/dev/vdb"
  2. Use Parted to allocate capacity for the existing GPT partition.
    1. Run the following command to start Parted:
      sudo parted /dev/vdb

      To view the instructions on how to use Parted, run the help command.

    2. Run the following command to view the partition information and record the partition number and start sector number of the existing partition:
      print

      If Fix/Ignore/Cancel? or Fix/Ignore? appears, enter Fix.

      In this example, the size of the existing partition is 1 TiB, the partition number (the value of Number) is 1, and the start sector number (the value of Start) is 1049kB.

      resize-gpt-start
    3. Run the following command to delete the existing partition:
      rm <Partition number>

      In this example, the partition number of the existing partition is 1. Run the following command to delete the partition:

      rm 1
    4. Run the following command to recreate the primary partition:
      mkpart primary <Start sector number of the existing partition> <Percentage of the allocated capacity>

      In this example, the start sector number of the existing partition is 1049kB, and the 3 TiB total capacity is allocated to the partition. Run the following command to create the primary partition:

      mkpart primary 1049kB 100%
    5. Run the following command to check whether the primary partition is created:
      print

      A command output similar to the following one is returned. In the command output, the partition number of the new GPT partition is still 1 but the capacity of the partition is increased to 3 TiB.

      GPT partitioning result
    6. Run the following command to exit Parted:
      quit
    The following sample code demonstrates how to perform the preceding steps:
    [testuser@ecshost ~]# sudo parted /dev/vdb
    GNU Parted 3.1
    Using /dev/vdb
    Welcome to GNU Parted! Type 'help' to view a list of commands.
    (parted) print
    Error: The backup GPT table is not at the end of the disk, as it should be.
    This might mean that another operating system believes the disk is smaller.
    Fix, by moving the backup to the end (and removing the old backup)?
    Fix/Ignore/Cancel? Fix
    Warning: Not all of the space available to /dev/vdb appears to be used, you can
    fix the GPT to use all of the space (an extra 4294967296 blocks) or continue
    with the current setting?
    Fix/Ignore? Fix
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 3299GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  1100GB  1100GB  ext4         primary
    
    (parted) rm 1
    (parted) mkpart primary 1049kB 100%
    (parted) print
    Model: Virtio Block Device (virtblk)
    Disk /dev/vdb: 3299GB
    Sector size (logical/physical): 512B/512B
    Partition Table: gpt
    Disk Flags:
    
    Number  Start   End     Size    File system  Name     Flags
     1      1049kB  3299GB  3299GB  ext4         primary
    
    (parted) quit
    Information: You may need to update /etc/fstab.
  3. Run the following command to check the file system for consistency:
    sudo fsck -f /dev/vdb1

    A command output similar to the following one is returned:

    [testuser@ecshost ~]# sudo fsck -f /dev/vdb1
    fsck from util-linux 2.23.2
    e2fsck 1.43.5 (04-Aug-2017)
    Pass 1: Checking inodes, blocks, and sizes
    Pass 2: Checking directory structure
    Pass 3: Checking directory connectivity
    Pass 4: Checking reference counts
    Pass 5: Checking group summary information
    /dev/vdb1: 11/67108864 files (0.0% non-contiguous), 4265369/268434944 blocks
  4. Extend the file system that corresponds to the partition, and remount the partition.
    • ext file system such as ext3 or ext4
      Run the following command to extend the file system of the new partition:
      sudo resize2fs /dev/vdb1
      Run the following command to remount the partition:
      sudo mount /dev/vdb1 /mnt
    • xfs file system
      Run the following command to remount the partition:
      sudo mount /dev/vdb1 /mnt
      Run the following command to extend the file system:
      sudo xfs_growfs /mnt
      Note The new version xfs_growfs identifies the device to extend based on the mount point. Example: xfs_growfs /mnt. You can run the xfs_growfs --help command to check how to use xfs_growfs of different versions.
    • btrfs file system
      Run the following command to remount the partition:
      sudo mount /dev/vdb1 /mnt
      Run the following command to extend the file system:
      sudo btrfs filesystem resize max /mnt

Option 4: Create and format GPT partitions

Perform the following operations to create more GPT partitions. In this example, a 32 TiB data disk is used. The disk has a 4.8 TiB /dev/vdb1 partition, and a new /dev/vdb2 partition is to be created.

  1. Run the following command to view the information of existing partitions on the data disk:
    sudo fdisk -l

    A command output similar to the following one is returned:

    [testuser@ecshost ~]# sudo fdisk -l
    Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x000b1b45
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83875364    41936658+  83  Linux
    WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
    
    Disk /dev/vdb: 35184.4 GB, 35184372088832 bytes, 68719476736 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: gpt
    Disk identifier: BCE92401-F427-45CC-8B0D-B30EDF279C2F
    
    #         Start          End    Size  Type            Name
     1         2048  10307921919    4.8T  Microsoft basic mnt                    
  2. Use Parted to create a partition and allocate capacity for the partition.
    1. Run the following command to start Parted:
      sudo parted /dev/vdb
    2. Run the following command to view the disk capacity to be allocated. Record the start and end sectors and the capacity of the existing partition.
      print free

      In this example, the start sector number of /dev/vdb1 is 1049KB, the end sector number is 5278GB, and the capacity is 5,278 GiB.

      (parted) print free
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 35.2TB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start   End     Size    File system  Name  Flags
              17.4kB  1049kB  1031kB  Free Space
       1      1049kB  5278GB  5278GB  ext4         mnt
              5278GB  35.2TB  29.9TB  Free Space                    
    3. Run the following command to set the start sector and capacity for the new partition:
      mkpart <Partition name> <Start sector number> <Percentage of the allocated capacity>
      In this example, the /dev/vdb2 partition named test is created. The start sector number of the new partition is the end sector number of the existing partition. The new capacity is allocated to the new partition.
      mkpart test 5278GB 100%
    4. Run the following command to check whether the capacity (Size) of the partition is changed:
      print

      A command output similar to the following one is returned:

      (parted) print
      Model: Virtio Block Device (virtblk)
      Disk /dev/vdb: 35.2TB
      Sector size (logical/physical): 512B/512B
      Partition Table: gpt
      Disk Flags:
      
      Number  Start   End     Size    File system  Name  Flags
       1      1049kB  5278GB  5278GB  ext4         mnt
       2      5278GB  35.2TB  29.9TB               test                    
    5. Run the following command to exit Parted:
      quit
  3. Run one of the following commands to create a file system for the new partition.
    • To create an ext4 file system, run the following command:
      sudo mkfs.ext4 /dev/vdb2
    • To create an ext3 file system, run the following command:
      sudo mkfs.ext3 /dev/vdb2
    • To create an xfs file system, run the following command:
      sudo mkfs.xfs -f /dev/vdb2
    • To create a btrfs file system, run the following command:
      sudo mkfs.btrfs /dev/vdb2
    A command output similar to the following one is returned. In this example, an xfs file system is created.
    [testuser@ecshost ~]# sudo mkfs -t xfs /dev/vdb2
    meta-data=/dev/vdb2              isize=512    agcount=28, agsize=268435455 blks
             =                       sectsz=512   attr=2, projid32bit=1
             =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=7301444096, imaxpct=5
             =                       sunit=0      swidth=0 blks
    naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
    log      =internal log           bsize=4096   blocks=521728, version=2
             =                       sectsz=512   sunit=0 blks, lazy-count=1
    realtime =none                   extsz=4096   blocks=0, rtextents=0               
  4. Run the following command to view the changes to the partition capacity:
    sudo fdisk -l

    A command output similar to the following one is returned:

    [testuser@ecshost ~]# sudo fdisk -l
    Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x000b1b45
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/vda1   *        2048    83875364    41936658+  83  Linux
    WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.
    
    Disk /dev/vdb: 35184.4 GB, 35184372088832 bytes, 68719476736 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: gpt
    Disk identifier: BCE92401-F427-45CC-8B0D-B30EDF279C2F
    
    #         Start          End    Size  Type            Name
     1         2048  10307921919    4.8T  Microsoft basic mnt
     2  10307921920  68719474687   27.2T  Microsoft basic test  
  5. Run the following command to view the types of file system:
    blkid

    A command output similar to the following one is returned:

    [testuser@ecshost ~]# blkid
    /dev/vda1: UUID="ed95c595-4813-480e-****-85b1347842e8" TYPE="ext4"
    /dev/vdb1: UUID="21e91bbc-7bca-4c08-****-88d5b3a2303d" TYPE="ext4" PARTLABEL="mnt" PARTUUID="576235e0-5e04-4b76-****-741cbc7e98cb"
    /dev/vdb2: UUID="a7dcde59-8f0f-4193-****-362a27192fb1" TYPE="xfs" PARTLABEL="test" PARTUUID="464a9fa9-3933-4365-****-c42de62d2864"  
  6. Run the following command to mount the new partition:
    sudo mount /dev/vdb2 /mnt

Option 5: Extend the file system of a raw data disk

If a raw data disk contains a file system but no partitions, perform the following operations to extend the file system.

  1. Run the following command to view the type of file system:
    df -Th
    A command output similar to the following one is returned. In this example, the file system type of /dev/vdb is xfs.
    [testuser@ecshost ~]# df -Th
    Filesystem     Type      Size  Used Avail Use% Mounted on
    devtmpfs       devtmpfs  434M     0  434M   0% /dev
    tmpfs          tmpfs     446M     0  446M   0% /dev/shm
    tmpfs          tmpfs     446M  524K  446M   1% /run
    tmpfs          tmpfs     446M     0  446M   0% /sys/fs/cgroup
    /dev/vda1      ext4       20G  2.5G   17G  14% /
    tmpfs          tmpfs      90M     0   90M   0% /run/user/0
    /dev/vdb       xfs        20G   53M   20G   1% /mnt
  2. Extend the file system based on the file system type.
    • xfs file system
      If the file system type is xfs, run the following xfs_growfs command to extend the file system:
      sudo xfs_growfs /mnt
      In the preceding command, /mnt is the mount point of the file system.
      Note The new version xfs_growfs identifies the device to extend based on the mount point. Example: xfs_growfs /mnt. You can run the xfs_growfs --help command to check how to use xfs_growfs of different versions.
    • ext and btrfs file systems
      1. Run the following command to view mount information:
        mount | grep "/dev/vdb"
      2. Run the following command to unmount the /dev/vdb data disk:
        sudo umount /dev/vdb
      3. Run the following command to check whether the data disk is unmounted:
        mount | grep "/dev/vdb"
        A command output similar to the following one is returned:
        [testuser@ecshost ~]# mount | grep "/dev/vdb"
        /dev/vdb on /mnt type ext4 (rw,relatime,data=ordered)
        [testuser@ecshost ~]# sudo umount /dev/vdb
        [testuser@ecshost ~]# mount | grep "/dev/vdb"
      4. Extend the file system.
        • If the file system type is ext, run the following resize2fs command to extend the file system:
          sudo resize2fs /dev/vdb
        • If the file system type is btrfs, run the following btrfs command to extend the file system:
          sudo btrfs filesystem resize max /mnt
          In the preceding command, /mnt is the mount point of the file system.
      5. Run the following command to mount the disk to the mount point:
        sudo mount /dev/vdb /mnt
  3. Run the df -h command to check whether the file system is extended:
    df -Th
    A command output similar to the following one is returned. The command output shows that the file system has a larger capacity, which indicates that the file system is extended.
    [testuser@ecshost ~]# df -Th
    Filesystem     Type      Size  Used Avail Use% Mounted on
    devtmpfs       devtmpfs  434M     0  434M   0% /dev
    tmpfs          tmpfs     446M     0  446M   0% /dev/shm
    tmpfs          tmpfs     446M  524K  446M   1% /run
    tmpfs          tmpfs     446M     0  446M   0% /sys/fs/cgroup
    /dev/vda1      ext4       20G  2.5G   17G  14% /
    tmpfs          tmpfs      90M     0   90M   0% /run/user/0
    /dev/vdb       xfs        30G   63M   30G   1% /mnt