如何将现有分区调整为 LVM 方式扩充到根分区

操作说明

此操作适合在全新的系统环境下执行,也就是在云服务器开通之后就进行操作。如果云服务器中已经有重要数据,建议先进行备份,以防止出现挂载失败或其他意外造成数据丢失。

按照这个教程操作会自动将第二块磁盘(数据磁盘)通过 LVM 方式挂载到 / 根分区。

通过 LVM 方式挂载硬盘可以最大化利用云服务器所有的容量,无需担心分配问题。但在重装系统后,云服务器中的所有数据将会丢失。如需重装系统,清先将所有重要数据备份到本地。

查看当前的磁盘使用情况

登录 ssh 后,执行下面的命令查看云服务器当前的磁盘使用情况:

df -h

执行下面的命令查看当前的分区情况:

fdisk -l

我们查看到目前第二块硬盘 xvdb 中已经创建了一个分区 xvdb1,并且挂载到了 /home 目录下。由于第一块硬盘(系统盘)目前只有 8.5GB,根分区当前的磁盘容量可能会不够用。我们需要卸载并删除第二块硬盘当前的分区,并将第二块硬盘转换为 LVM 方式扩充到 / 根分区,这样就可以最大化地利用两块硬盘所有的磁盘空间。

删除现有分区

  1. 如果对应分区已经挂载到目录,清先备份对应目录下的重要数据,然后卸载分区:
umount /home

这里是假设挂载到了 /home 目录,如果是其他目录,请自行替换。
如果第二块硬盘没有挂载,则跳过这个步骤,直接进行下一步。

  1. 删除现有的 xvdb1 分区:
fdisk /dev/xvdb

然后分别输入 d 删除分区,输入 w 保存。

  1. 删除系统里的自动挂载脚本:
rm -f /usr/local/mount.sh
  1. 重启系统:
reboot

扩充根分区

  1. 重启系统后重新登录 ssh,创建一个新的物理卷:
pvcreate /dev/xvdb

如果出现提示:WARNING: dos signature detected on /dev/xvdb at offset 510. Wipe it?,请输入 y 并按回车。

  1. 查看当前卷组:
vgscan

返回以下提示:

  Reading all physical volumes.  This may take a while...
  Found volume group "centos" using metadata type lvm2

可以看到卷组名称是:centos。

  1. 新的物理卷添加到现有的卷组中:
vgextend centos /dev/xvdb

  1. 查看需要扩充的逻辑卷:
lvscan

返回以下信息:

  ACTIVE            '/dev/centos/swap' [1.00 GiB] inherit
  ACTIVE            '/dev/centos/root' [8.47 GiB] inherit

可以看到需要扩充的逻辑卷是:/dev/centos/root(如果有多个 LV,一般是容量较大的那个)。

  1. 扩充根分区:
lvextend -l +100%FREE /dev/centos/root

  1. 扩展文件系统:
xfs_growfs /dev/centos/root

如果你的文件系统是 ext2/3/4 类型,则需要使用下面的命令:

resize2fs /dev/centos/root

如果不清楚当前的文件系统类型,可以使用 df -Th 命令查看。

挂载完成后,可以再查看当前的磁盘使用情况:

df -h

不出意外的话,根分区就已经成功扩充了。

1 Star2 Stars3 Stars4 Stars5 Stars (无评分)
Loading...

分类:VPS问题 |

在线客服

QQ客服

微信客服