Linux如何使用LVM进行磁盘扩容
Linux如何使用LVM进行磁盘扩容
提醒:操作磁盘的工作都需要小心谨慎,避免数据丢失损坏,下文涉及到分区表的操作请再三确认
背景介绍
本文不提供如何将现有的非LVM分区转换为LVM分区的方法,本文主要解决现有LVM如何进行扩容的问题。
磁盘状态查看
注意:磁盘操作需要有管理员权限,请确认你有管理员权限再执行如下操作。
我们可以使用这个命令来查看当前硬盘的详细信息,包括当前磁盘容量以及分区信息。
1 | fdisk -l |
命令执行结果与下图类似:

可以看到我们这块磁盘有268.4GB大小的空间,但只有两个分区vda1和vda2。我们同样可以使用lsblk来查看当前分区状态。执行结果应该类似下图:

通过这里我们看到,主要要解决的问题是,如何把我们这200多GB的空间都用上。
磁盘扩容
根据我们的硬盘名称,执行下面的命令进入磁盘分区管理。其中/dev/vda应该更换为你自己查询到的名字。
1 | fdisk /dev/vda |
命令执行后的状态应该类似下图:

我们可以在这里输入p来查看当前硬盘的信息,结果如下:

接下来执行我们的扩容过程。
新建一块分区
新建分区的过程如下图所示,输入n,然后输入P(最多四个分区)。接下来的Partition number、First sector及Last sector我这里选择的都是默认值,因为我要用到剩下全部的磁盘空间,你在设置的时候根据你自己的情况决定。

再次输入p,我们可以看到新建的分区。

修改分区类型
我们这里的分区类型有问题,需要修改分区类型为8e。
输入t,选择新建出来的分区号,我这里是3,然后输入8e,再输入p查看分区类型,我们可以看到新建的分区的类型已经更改过来了。

写入分区表
输入w,将刚刚的更改写入。然后执行partprobe重读分区表。

扩容VG
输入vgdisplay查看当前VG信息。
输入下面的命令,其中centos是刚刚看到的VG Name,/dev/vda3是刚刚新建的分区
1 | vgextend centos /dev/vda3 |

扩容LV
输入lvdisplay来查看当前存在的LV信息,如下图所示。

确定我们要扩容的分区,可以通过刚才执行的lsblk命令查看,我们这里要扩容的LV Path是/dev/centos/root。
执行以下命令:
1 | lvextend -l +100%FREE /dev/centos/root |
这时候我们执行下面命令查看,就能看到已经成功扩容了。
1 | df -h |

欢迎扫码关注,不定期更新各种经验。











