如果您使用LVM(Logical Volume Manager)创建的逻辑卷使用空间不足时,您可以扩容逻辑卷。本文介绍了如何通过LVM扩容一个逻辑卷。
前提条件
已创建一个逻辑卷。具体操作,请参见创建逻辑卷。
操作步骤
您可以通过以下两种方式来扩容逻辑卷。
方式一:扩容云盘以扩容逻辑卷容量
扩容原理
如下图所示,当逻辑卷容量不能满足您当前业务需求时,您可以通过扩容已有云盘容量,来扩展逻辑卷的容量。
扩容步骤
下文通过扩容云盘/dev/vdb,为逻辑卷lv01增加10 GiB容量为例,指导您如何扩容逻辑卷。
- (可选)通过快照一致性组进行备份数据。具体操作,请参见创建快照一致性组。 
- 远程连接ECS实例。 - 关于连接方式的介绍,请参见ECS远程连接方式概述。 
- 扩容云盘(例如扩容云盘 - /dev/vdb)。
- 扩容物理卷。 - 执行以下命令,确定已扩容的云盘或云盘分区对应的物理卷名称,后续命令需使用。 - PV列为物理卷名称,Devices列为物理卷对应的云盘或云盘分区。 - sudo pvs -a -o +devices - 上图示例,云盘 - /dev/vdb对应的物理卷名称为- /dev/vdb。
- 运行以下命令,扩容云盘对应的物理卷。 - sudo pvresize <物理卷名称>- 以扩容物理卷 - /dev/vdb为例,则命令为:- sudo pvresize /dev/vdb- 回显类似如下信息,表示扩容物理卷成功。  
 
- 扩容逻辑卷和文件系统。 - 运行以下命令,获取逻辑卷路径、名称、所属卷组等信息,后续操作步骤需使用。 - sudo lvdisplay- LV Path:逻辑卷路径,例如 - /dev/vg_01/lv01。
- LV Name:逻辑卷名称,例如 - lv01。
- VG Name:逻辑卷所属的卷组名称,例如 - vg_01。
- LV Size:逻辑卷的大小,图示信息为59 GiB。 
  
- 运行以下命令,扩容逻辑卷。 - sudo lvextend -L <增/减逻辑卷容量> <逻辑卷路径>- 示例命令:为逻辑卷(路径为 - /dev/vg_01/lv01)新增10 GiB容量。- sudo lvextend -L +10G /dev/vg_01/lv01- 回显类似如下信息,表示您为逻辑卷(lv01)新增了10 GiB空间。  
- 运行以下命令,扩容逻辑卷文件系统。 - 执行 - df -Th命令,查询逻辑卷的文件系统类型(即Type列的值),根据文件系统类型选择扩容命令。 - ext4文件系统- sudo resize2fs <逻辑卷路径>- 以扩容逻辑卷lv01(路径为/dev/vg_01/lv01)为例,则命令为: - sudo resize2fs /dev/vg_01/lv01- xfs文件系统- sudo xfs_growfs <逻辑卷挂载点>- 以扩容逻辑卷lv01(挂载点为/media/lv01)为例,则命令为: - sudo xfs_growfs /media/lv01
 
- 运行以下命令,查看逻辑卷扩容结果。 - df -h- 回显类似如下信息,表示已为逻辑卷新增10 GiB容量(文件系统本身会占用部分存储空间)。  
方式二:新增云盘以扩容逻辑卷容量
扩容原理
如下图所示,当逻辑卷容量不能满足您当前业务需求时,您可以通过新增云盘,来扩展逻辑卷(LV)的容量。
扩容步骤
下文通过新创建云盘(云盘设备名为/dev/vdd、容量为20 GiB)、创建物理卷、然后将物理卷添加到卷组中等操作,指导您如何扩容逻辑卷。
- 为ECS实例新创建并挂载1块云盘,无需初始化。 
- 远程连接ECS实例。 - 关于连接方式的介绍,请参见ECS远程连接方式概述。 
- 运行以下命令,用新增云盘创建物理卷。 - sudo pvcreate <云盘设备名称>- 示例命令:使用新增云盘 - /dev/vdd创建1块物理卷。- sudo pvcreate /dev/vdd- 回显类似如下信息,表示创建物理卷成功。  
- 扩容卷组。 - 运行以下命令,查看卷组信息。 - sudo vgs- 回显类似如下信息,表示卷组名称 - vg_01,当前卷组容量为 59.99GiB,剩余空间不足 1GiB。 
- 运行以下命令,扩容卷组。 - sudo vgextend <卷组名称> <物理卷名称>- 示例命令:将物理卷 - /dev/vdd添加至卷组- vg_01中。- sudo vgextend vg_01 /dev/vdd- 回显类似如下信息,表示扩容卷组成功。  
- 运行以下命令,查看卷组信息。 - sudo vgs- 回显类似如下信息,卷组 - vg_01的容量由59.99 GiB增加至79.99 GiB,说明卷组扩容成功。 
 
- 扩容逻辑卷和文件系统。 - 运行以下命令,获取逻辑卷路径、名称、所属卷组等信息,后续操作步骤需使用。 - sudo lvdisplay- LV Path:逻辑卷路径,例如 - /dev/vg_01/lv01。
- LV Name:逻辑卷名称,例如 - lv01。
- VG Name:逻辑卷所属的卷组名称,例如 - vg_01。
- LV Size:逻辑卷的大小,图示信息为59 GiB。 
  
- 运行以下命令,扩容逻辑卷。 - sudo lvextend -L <增/减逻辑卷容量> <逻辑卷路径>- 示例命令:为逻辑卷(路径为 - /dev/vg_01/lv01)新增20 GiB容量。- sudo lvextend -L +20G /dev/vg_01/lv01- 回显类似如下信息,表示您为逻辑卷(lv01)新增了20 GiB空间。  
- 运行以下命令,扩容逻辑卷文件系统。 - 执行 - df -Th命令,查询逻辑卷的文件系统类型(即Type列的值),根据文件系统类型选择扩容命令。 - ext4文件系统- sudo resize2fs <逻辑卷路径>- 以扩容逻辑卷lv01(路径为/dev/vg_01/lv01)为例,则命令为: - sudo resize2fs /dev/vg_01/lv01- xfs文件系统- sudo xfs_growfs <逻辑卷挂载点>- 以扩容逻辑卷lv01(挂载点为/media/lv01)为例,则命令为: - sudo xfs_growfs /media/lv01
- 运行以下命令,查看逻辑卷扩容结果。 - df -h- 回显类似如下信息,表示已为逻辑卷新增20 GiB容量(文件系统本身会占用部分存储空间)。  
 
