如果新增空间用于扩容已有的GPT分区,按照以下步骤在实例中完成扩容:

1、查看数据盘的挂载路径,根据返回的文件路径卸载分区,直至完全卸载已挂载的分区。
查看挂载(mount)信息。

mount | grep "/dev/vdb"

取消挂载(umount)数据盘。

umount /dev/vdb1

查看操作结果。

mount | grep "/dev/vdb"

示例结果如下所示。

[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、使用Parted工具为现有GPT分区分配容量。
运行以下命令进入Parted分区工具。

parted /dev/vdb

如需查看Parted工具使用说明,运行help命令。

运行以下命令查看分区信息,并记录现有分区的分区号和起始扇区的值。

print

若界面提示Fix/Ignore/Cancel?和Fix/Ignore?,均输入Fix即可。

本示例中,现有分区大小为1TiB,分区号(即Number的值)为1,起始扇区(即Start)的值为1049kB。

运行以下命令删除现有分区。

rm <分区号>

本示例中,现有分区的分区号为1,因此命令为:

rm 1

运行以下命令重新创建主分区。

mkpart primary <原分区的起始扇区> <容量分配百分比>

本示例中,原分区的起始扇区为1049kB,且要将扩容后的总容量(即3TiB)全部分配给该分区,因此命令为:

mkpart primary 1049kB 100%

运行以下命令查看新分区是否创建成功。

print

如下图所示,新的GPT分区仍为1号分区,容量已变更为3TiB。

GPT分区结果
运行以下命令退出Parted分区工具。

quit

以下为命令行交互示例。

[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、运行以下命令确认文件系统一致性。

fsck -f /dev/vdb1

示例结果如下所示。

[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

扩展分区对应的文件系统并重新挂载分区。

ext*文件系统(例如ext3和ext4):

运行以下命令调整新分区的ext*文件系统大小。

resize2fs /dev/vdb1

运行以下命令重新挂载分区。

mount /dev/vdb1 /mnt

xfs文件系统:

运行以下命令重新挂载分区。

mount /dev/vdb1 /mnt

运行以下命令调整xfs文件系统大小。

xfs_growfs /mnt

说明 新版xfs_growfs根据挂载点识别待扩容设备,例如xfs_growfs /mnt。您可以运行xfs_growfs --help查看不同版本xfs_growfs的使用方法。