一、功能介绍
在配置Linux时可能对根目录空间预留不足导致程序无法启动,固然可以通过变更数据存储目录来解决,但是有的情况下因各种原因无法变更,这时候就需要扩容根目录空间。
二、操作流程
- 首先通过
df-h
命令查看系统中的磁盘空间情况。
df -h
通过上图可以看出根目录空间只有20G,而且使用了5.6G。尝试将它扩容至36G。
-
通过
lsblk
命令我们可以看到,sda磁盘有48G的空间,但是只有20G被分配给了根目录。接下来将剩余的16G扩容到根目录。 -
运行
growpart /dev/sdb3
命令,将sdb3分区扩容。 -
使用
lvm
命令,对根目录扩容。
-
步骤1:进入lvm交互模式。
-
步骤2:使用
pvdisplay
命令展示所有pv(物理卷)。可以看到Free PE(空闲物理扩展)为2815,表示可以进行扩展。 -
步骤3:使用
vgdisplay
命令展示所有vg(卷组)。 -
步骤4:使用
lvdisplay
命令展示所有lv(逻辑卷)。目前是20G。 -
步骤5:使用
lvextend -l +2815 /dev/ubuntu-vg/ubuntu-lv
命令扩容根目录。lvextend -l(块数量,通过vgdisplay查看剩余pe数量。参考g) -r(递归) -L(指定具体大小) -
步骤6:再次查看lv,大小已变更。
-
步骤7:退出lvm
-
使用
resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
命令,对文件系统进行扩容。 -
使用
df -h
命令,查看根目录空间已经扩容至31G。
三、FAQ
问题1: 最后一步使用resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
命令时,报错resize2fs: Bad magic number in super-block while trying to open /dev/mapper/ubuntu--vg-ubuntu--lv
。
回答1: xfs文件系统无法使用resize2fs
命令进行扩容,需要使用xfs_growfs
命令进行扩容。