如果您使用LVM(Logical Volume Manager)创建的逻辑卷使用空间不足时,您可以扩容逻辑卷。本文介绍了如何通过LVM扩容一个逻辑卷。
前提条件
已创建一个逻辑卷。具体操作,请参见创建逻辑卷。
操作步骤
您可以通过以下两种方式来扩容逻辑卷。
方式一:扩容云盘以扩容逻辑卷容量
扩容原理
如下图所示,当逻辑卷容量不能满足您当前业务需求时,您可以通过扩容已有云盘容量,来扩展逻辑卷的容量。
扩容步骤
下文通过扩容云盘/dev/vdb
,为逻辑卷lv01
增加10 GiB容量为例,指导您如何扩容逻辑卷。
(可选)通过快照一致性组进行备份数据。具体操作,请参见创建快照一致性组。
远程连接ECS实例。
关于连接方式的介绍,请参见连接方式概述。
扩容云盘(例如扩容云盘
/dev/vdb
)。为目标云盘扩容容量(例如新增10 GiB容量)。具体操作,请参见步骤一:扩容云盘容量。
(可选)若云盘已分区,需为云盘扩容分区。具体操作,请参见步骤1:扩容分区。如果云盘未分区,则跳过该步骤。
您可以通过
lsblk
命令查看云盘是否分区。如下图的示例,则表示云盘/dev/vdb
未分区,/dev/vdc
已分区。
扩容物理卷。
执行以下命令,确定已扩容的云盘或云盘分区对应的物理卷名称,后续命令需使用。
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实例。
关于连接方式的介绍,请参见连接方式概述。
运行以下命令,用新增云盘创建物理卷。
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容量(文件系统本身会占用部分存储空间)。