Linux 根目录扩容

一、功能介绍

在配置Linux时可能对根目录空间预留不足导致程序无法启动,固然可以通过变更数据存储目录来解决,但是有的情况下因各种原因无法变更,这时候就需要扩容根目录空间。

二、操作流程

  1. 首先通过df-h命令查看系统中的磁盘空间情况。
df -h

通过上图可以看出根目录空间只有20G,而且使用了5.6G。尝试将它扩容至36G。

  1. 通过lsblk命令我们可以看到,sda磁盘有48G的空间,但是只有20G被分配给了根目录。接下来将剩余的16G扩容到根目录。

  2. 运行growpart /dev/sdb3命令,将sdb3分区扩容。

  3. 使用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

  1. 使用resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv命令,对文件系统进行扩容。

  2. 使用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命令进行扩容。