扩容分区
- 运行
sudo lsblk,确认待扩容云盘设备名称及分区编号
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 50G 0 disk
├─vda1 253:1 0 2M 0 part
├─vda2 253:2 0 200M 0 part /boot/efi
└─vda3 253:3 0 39.8G 0 part /
vdb 253:16 0 40G 0 disk /data
注:仅支持对单块云盘的最后一个分区扩容。
常用设备命名及分区格式如下:
| 设备类型 |
设备名称 |
分区编号 |
| 非NVMe协议云盘 |
格式为vd[a-z],如vda(系统盘),vdb,vdc等,适用于大多数云盘和本地盘设备。 |
格式为vd[a-z]<分区编号>,如vda3分区编号为3。 |
| NVMe协议云盘 |
格式为nvmeXn1,如nvme0n1,nvme1n1,nvme2n1等。 |
格式为nvmeXn1p<分区编号>,如nvme0n1p1分区编号为1。 |
将命令中的<设备名称>与<分区编号>调整为上面获取到的设备名称与分区编号后执行命令。
注:设备名称和分区编号之间有空格。命令中的LC_ALL=en_US.UTF-8是用于适配中文系统编码的环境变量,当回执内容中包含关键字CHANGED,表示指令执行成功
sudo LC_ALL=en_US.UTF-8 growpart /dev/<设备名称> <分区编号>
运行sudo lsblk命令,若分区总量等于设备容量,示例中设备vda容量大小与分区总量都为50GiB,表明分区扩容完成。接下来需要扩容文件系统,才能使新增空间可用。
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 253:0 0 50G 0 disk
├─vda1 253:1 0 2M 0 part
├─vda2 253:2 0 200M 0 part /boot/efi
└─vda3 253:3 0 49.8G 0 part /
vdb 253:16 0 40G 0 disk /data
扩容文件系统
- 运行命令sudo lsblk -f,记录待扩容云盘的目标设备名称、文件系统类型和挂载目录,后续执行扩容文件系统指令时需要使用。
$ sudo lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
vda
├─vda1
├─vda2 vfat 7938-FA03 /boot/efi
└─vda3 ext4 root 33b46ac5-7482-4aa5-8de0-60ab4c3a4c78 /
vdb ext4 3d7a3861-da22-484e-bbf4-b09375894b4f /data
执行扩容文件系统。
- ext2/ext3/ext4文件系统。将命令中的变量
<目标设备名称>替换为从上一步中获取的目标设备名称后执行
sudo resize2fs /dev/<目标设备名称>
- xfs文件系统。将命令中的
<挂载目录>替换为从上一步中获取的挂载目录后执行。
sudo xfs_growfs <挂载目录>
运行sudo df -Th,确认文件系统大小(回执中Size字段对应的值)是否与云盘容量基本一致。
文件系统创建时会占用部分容量用于存储元数据,因此文件系统大小可能小于实际容量。