When you resize a disk of an Elastic Compute Service (ECS) instance, only the storage capacity of the disk is extended. The file systems of the instance are not resized. You can perform the operations in this topic to resize the file systems of the instance and then extend its storage capacity.

Prerequisites

  1. A snapshot is created to back up data.

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

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

    If no data disks are resized, perform the operations described in Step 2: Resize the disk in the ECS console to resize a data disk.

  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
  • Category of the 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:
    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.
    [root@ecshost ~]# 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.
    [root@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. Check the status of the file system.
    • Run the following command to check the status of an ext file system:
      e2fsck -n /dev/vdb1
    • Run the following command to check the status of an xfs file system:
      xfs_repair -n /dev/vdb1
    • Run the following command to check the status of a btrfs file system:
      btrfsck /dev/vdb1
    Different command outputs are returned for different types of file systems.
    • The following code shows an example command output for an ext or xfs file system. If the file system works normally, clean is returned. If clean is not returned, troubleshoot the issue.
      [root@ecshost ~]# 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 shows an example command output for a btrfs file system. found 114688 bytes used err is 0 indicates that the file system works normally. If an error is returned in the command output, troubleshoot the issue.
      [root@ecshost ~]# 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 resize partitions or file systems

Choose a resize method based on the partition format and the file system type.

Scenario Resize 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 Partition and format a data disk on a Linux instance or Partition and format a data disk 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: Resize 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 following operations in this topic to resize 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 it to a GPT partition, and then copy the data in the MBR partition to the GPT partition. For more information, see Partition and format a data disk 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: Resize existing MBR partitions

Note To prevent data loss, we recommend that you do not resize partitions and file systems that are mounted to ECS instances. To resize a partition that is mounted to an ECS instance, run the umount command to unmount the partition and then resize it. When the partition resumes normal working, run the mount command to mount it again. 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 resize 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 resize the file system.

Perform the following operations to resize 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:
      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.

      [root@ecshost ~]# 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 file path and wait until the partition is unmounted.
      Run the following command to view the mount information:
      mount | grep "/dev/vdb"
      Run the following command to unmount the /dev/vdb1 partition from the data disk:
      umount /dev/vdb1
      Run the following command to view the operation result:
      mount | grep "/dev/vdb"

      A command output similar to the following one is returned:

      [root@ecshost ~]# mount | grep "/dev/vdb"
      /dev/vdb1 on /mnt type ext4 (rw,relatime,data=ordered)
      [root@ecshost ~]# umount /dev/vdb1
      [root@ecshost ~]# mount | grep "/dev/vdb"
    3. Run the fdisk command to delete the existing partition.
      Warning If errors occur 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 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 verify whether the partition is deleted.
      5. Enter w to save changes and exit.

      The following sample code shows how to delete a partition:

      [root@ecshost ~]# 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 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 resize operation fails.
      7. Enter w to save changes and exit.

      The following sample code shows how to resize a partition. In this example, the /dev/vdb1 partition is resized from 20 GiB to 40 GiB.

      [root@ecshost ~]# 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:
      partprobe /dev/vdb
      Note If the -bash: partprobe: command not found error message appears in the CentOS 6 operating system, change the source address of a YUM repository. For more information, see Change the CentOS 6 source address. Run the yum install -y parted command to install the Parted tool. Then, run the partprobe /dev/vdb command again.
      partx -u /dev/vdb1
    6. Run the following command to check whether the partition table is added:
      lsblk /dev/vdb
    7. Run the following command to check the file system and verify whether the file system is in the clean state:
      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 e2fsck -n /dev/vdb1 command to check the file system.
  2. Resize the file system.
    • If the file system type is ext such as ext3 and ext4, run the following commands in sequence to resize the file system and remount the partition.

      Run the following command to resize the file system:

      resize2fs /dev/vdb1

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

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

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

      mount /dev/vdb1 /mnt

      Run the following command to resize the file system:

      xfs_growfs /mnt
      Note The new version xfs_growfs identifies the device to resize 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 resize the file system.
      Run the following command to mount the partition to /mnt:
      mount /dev/vdb1 /mnt
      Run the following command to resize the file system:
      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:
    fdisk -u /dev/vdb

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

    [root@ecshost ~]# 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:

    [root@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. Create a file system.
    • Run the following command to create an ext4 file system:
      mkfs.ext4 /dev/vdb2
    • Run the following command to create an xfs file system:
      mkfs.xfs -f /dev/vdb2
    • Run the following command to create a btrfs file system:
      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:
    [root@ecshost ~]# blkid /dev/vdb2
    /dev/vdb2: UUID="e3f336dc-d534-4fdd-****-b6ff1a55bdbb" TYPE="ext4"
  5. Run the following command to mount the partition:
    mount /dev/vdb2 /mnt
  6. Run the following command to view the space and usage of the data disk:
    df -h
    If the partition is mounted, the information about the new file system is displayed, as shown in the following example command output.
    [root@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: Resize existing GPT partitions

Perform the following operations to resize an existing GPT partition:

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

    A command output similar to the following one is returned:

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

      To view the instructions on using 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? and Fix/Ignore? appear, 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 existing 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 code provides an example on how to perform the preceding steps.
    [root@ecshost ~]# 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:
    fsck -f /dev/vdb1

    A command output similar to the following one is returned:

    [root@ecshost ~]# 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. Resize the file system corresponding to the partition and remount the partition.
    • ext file system such as ext3 and ext4
      Run the following command to resize the file system of the new partition:
      resize2fs /dev/vdb1
      Run the following command to remount the partition:
      mount /dev/vdb1 /mnt
    • xfs file system
      Run the following command to remount the partition:
      mount /dev/vdb1 /mnt
      Run the following command to resize the file system:
      xfs_growfs /mnt
      Note The new version xfs_growfs identifies the device to resize 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:
      mount /dev/vdb1 /mnt
      Run the following command to resize the file system:
      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 in the data disk:
    fdisk -l

    A command output similar to the following one is returned:

    [root@ecshost ~]# 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 it.
    1. Run the following command to start Parted:
      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. Create a file system for the new partition.
    • Run the following command to create an ext4 file system:
      mkfs.ext4 /dev/vdb2
    • Run the following command to create an ext3 file system:
      mkfs.ext3 /dev/vdb2
    • Run the following command to create an xfs file system:
      mkfs.xfs -f /dev/vdb2
    • Run the following command to create a btrfs file system:
      mkfs.btrfs /dev/vdb2
    A command output similar to the following one is returned. In this example, an xfs file system is created.
    [root@ecshost ~]# 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:
    fdisk -l

    A command output similar to the following one is returned:

    [root@ecshost ~]# 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 the file systems:
    blkid

    A command output similar to the following one is returned:

    [root@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:
    mount /dev/vdb2 /mnt

Option 5: Resize 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 resize the file system:

  1. Run the following command to view the type of the file system:
    df -Th
    A command output similar to the following one is returned. In this example, the command output indicates that the file system type of /dev/vdb is xfs.
    [root@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. Resize the file system based on the file system type.
    • xfs file system
      If the file system type is xfs, run the xfs_growfs command as the root user:
      xfs_growfs /mnt
      In the preceding command, /mnt indicates the mount point of the file system.
      Note The new version xfs_growfs identifies the device to resize 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 the mount information:
        mount | grep "/dev/vdb"
      2. Run the following command to unmount the /dev/vdb data disk:
        umount /dev/vdb
      3. Run the following command to view the operation result:
        mount | grep "/dev/vdb"
        A command output similar to the following one is returned:
        [root@ecshost ~]# mount | grep "/dev/vdb"
        /dev/vdb on /mnt type ext4 (rw,relatime,data=ordered)
        [root@ecshost ~]# umount /dev/vdb
        [root@ecshost ~]# mount | grep "/dev/vdb"
      4. Run one of the following commands to resize the file system based on the file system type.
        • If the file system type is ext, run the resize2fs command as the root user:
          resize2fs /dev/vdb
        • If the file system type is btrfs, run the btrfs command as the root user:
          btrfs filesystem resize max /mnt
          In the preceding command, /mnt indicates the mount point of the file system.
      5. Run the following command to mount the disk to the mount point:
        mount /dev/vdb /mnt
  3. Run the df -h command to view the resize results:
    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 resized.
    [root@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