Linux系统在使用过程中,发现根目录磁盘容量不足,需要扩展其磁盘容量,具体过程如下:
1、添加新磁盘,并查看磁盘文件名
[root@FusionCompute ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
……此处省略部分输出……
vdc 252:48 0 10G 0 disk
从中可以看出新磁盘文件名为/dev/vdc,容量为10GB。
2、查看根目录文件系统名称及其类型
[root@FusionCompute ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
……此处省略部分输出……
/dev/mapper/openeuler-root ext4 18G 6.3G 11G 38% /
从中可以看出根目录的文件系统名称为 /dev/mapper/openeuler-root,类型为ext4
3、分区并格式化新磁盘
本处将新磁盘直接格式化为根目录文件系统类型ext4
mkfs.ext4 /dev/vdc
4、查看vg卷组名称
[root@FusionCompute ~]# vgdisplay
--- Volume group ---
VG Name openeuler
……此处省略部分输出……
5、创建物理卷pv
pvcreate /dev/vdc
6、将pv扩展到vg中
vgextend openeuler /dev/vdc
其中的openeuler为前面查看到的vg名称
7、再次查看vg详情及其空闲PE
[root@FusionCompute ~]# vgdisplay
--- Volume group ---
VG Name openeuler
……此处省略部分输出……
Free PE / Size 2559 / <10.00 GiB
VG UUID 5Xe7CH-DBJK-1b1X-3cyA-FSLG-vmj3-C05Nvd
从输出可以看到空闲PE个数为2559个,每个大小默认为4MiB
8、扩展根目录逻辑卷
[root@FusionCompute ~]# lvextend -l +2559 /dev/mapper/openeuler-root
Size of logical volume openeuler/root changed from 17.99 GiB (4606 extents) to <27.99 GiB (7165 extents).
Logical volume openeuler/root successfully resized.
9、同步根目录卷大小
lvextend命令对逻辑卷的扩容不会立即同步到文件系统,还需要执行resize2fs命令使内核同步这一信息。
[root@FusionCompute ~]# resize2fs /dev/mapper/openeuler-root
10、核查根目录磁盘容量大小
[root@FusionCompute ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
……此处省略部分输出……
/dev/mapper/openeuler-root ext4 28G 6.9G 20G 27% /
可见根目录磁盘容量扩展了10G,重启系统,可以看到扩展的磁盘空间仍然有效。