逻辑卷管理LVM(Logical Volume Manager)是Linux系统下的一种管理硬盘分区机制,在磁盘和分区之上建立一个逻辑层,可以灵活、高效地管理磁盘分区,简化了磁盘管理操作。逻辑卷的大小可以动态调整,而且不会丢失现有数据;即使新增了磁盘,也不会改变现有的逻辑卷。本文以使用2块新云盘(/dev/vdb
、/dev/vdc
)为例,介绍如何通过LVM在多块云盘上创建逻辑卷。
本文LVM配置示意图如下所示。
使用LVM可以帮助您灵活管理磁盘分区,但是会增加运维复杂度。您也可以直接选择使用多块云盘来进行隔离,达到类似分区的效果,单块云盘不需要进行分区,请参考在裸设备上创建文件系统。云盘支持扩容,请参考云盘扩容指引。
操作步骤
步骤一:创建物理卷
为目标实例新创建并挂载2块云盘,无需初始化。
远程连接ECS实例。
关于连接方式的介绍,请参见连接方式概述。
运行以下命令安装LVM工具。
sudo yum install -y lvm2
运行以下命令,查看ECS实例上的所有云盘。
lsblk
回显类似如下,表示您有2块云盘(vdb、vdc),通过LVM创建弹性可扩展的逻辑卷。
运行以下命令用云盘设备创建物理卷,多个设备之间用空格间隔。
sudo pvcreate <云盘设备名称> ... <云盘设备名称>
示例命令:使用设备
/dev/vdb
、/dev/vdc
创建2块物理卷。sudo pvcreate /dev/vdb /dev/vdc
回显类似如下信息,表示创建物理卷成功。
步骤二:创建卷组
运行以下命令创建卷组。
sudo vgcreate <卷组名称> <物理卷名称> …… <物理卷名称>
示例命令:创建vg_01卷组,并添加
/dev/vdb
、/dev/vdc
这2块物理卷。sudo vgcreate vg_01 /dev/vdb /dev/vdc
回显类似如下信息,表示创建卷组成功。
(可选)如果您需要在卷组中添加新的物理卷,运行以下命令添加其他已创建的物理卷。
sudo vgextend <卷组名称> <物理卷名称> …… <物理卷名称>
运行以下命令查看卷组信息。
sudo vgs
结果如下所示,已创建卷组vg_01,容量约为80 GiB(文件系统本身会占用部分存储空间)。
步骤三:创建逻辑卷
运行以下命令创建逻辑卷。
sudo lvcreate -L <逻辑卷大小> -n <逻辑卷名称> <卷组名称>
逻辑卷大小:逻辑卷的大小应小于卷组剩余可用空间。
逻辑卷名称:由您自定义,例如
lv01
。卷组名称:步骤二:创建卷组已经创建的卷组的名称,例如
vg_01
。
示例命令:创建一个55 GiB的逻辑卷
lv01
。sudo lvcreate -L 55g -n lv01 vg_01
回显类似如下信息,表示逻辑卷创建成功。
(可选)如果您需要在卷组中创建多个逻辑卷,请重复步骤1。
步骤四:创建并挂载文件系统
运行以下命令,获取逻辑卷路径、名称、所属卷组等信息,后续操作步骤需使用。
sudo lvdisplay
LV Path:逻辑卷路径,例如
/dev/vg_01/lv01
。LV Name:逻辑卷的名称,例如
lv01
。VG Name:逻辑卷所属的卷组名称,例如
vg_01
。LV Size:逻辑卷的大小,图示信息为55 GiB。
运行以下命令在逻辑卷上创建文件系统。
sudo mkfs.<文件系统格式> <逻辑卷路径>
您可以根据需要创建文件系统类型,以逻辑卷路径为
/dev/vg_01/lv01
、文件系统为ext4
和xfs
为例,则命令为:创建一个ext4文件系统
sudo mkfs.ext4 /dev/vg_01/lv01
创建一个xfs文件系统
sudo mkfs.xfs /dev/vg_01/lv01
创建新挂载点,例如
/media/lv01
。说明如果您想使用已有的挂载点,可以跳过此步骤。
sudo mkdir /media/lv01
运行以下命令,将文件系统挂载至挂载点。
sudo mount <逻辑卷路径> <挂载点>
示例命令:将逻辑卷(路径为
/dev/vg_01/lv01
)挂载至/media/lv01
目录下。sudo mount /dev/vg_01/lv01 /media/lv01
运行以下命令查看逻辑卷的挂载结果。
df -h
回显类似如下信息,表示挂载成功(文件系统本身会占用部分存储空间)。
步骤五:配置开机自动挂载
如果您需要设置开机自动挂载逻辑卷,需要在/etc/fstab
中添加该逻辑卷的挂载信息,实现系统开机重启时自动挂载该逻辑卷。
运行以下命令备份
etc/fstab
文件。sudo cp /etc/fstab /etc/fstab.bak
运行以下命令,在
/etc/fstab
文件中添加目标逻辑卷的挂载信息。sudo sh -c "echo `blkid <逻辑卷路径> | awk '{print $2}' | sed 's/\"//g'` <逻辑卷挂载点> <逻辑卷的文件系统类型> defaults 0 0 >> /etc/fstab"
示例命令:在开机重启时自动将逻辑卷(路径为
/dev/vg_01/lv01
)挂载至/media/lv01
目录下,文件系统类型为ext4
。sudo sh -c "echo `blkid /dev/vg_01/lv01 | awk '{print $2}' | sed 's/\"//g'` /media/lv01 ext4 defaults 0 0 >> /etc/fstab"
运行以下命令,查询逻辑卷的挂载信息是否添加成功。
cat /etc/fstab
结果如下所示,返回结果里出现了目标逻辑卷信息,说明已添加挂载信息至
/etc/fstab
文件。验证自动挂载功能是否生效。
运行以下命令,重新挂载
/etc/fstab
配置的文件系统。如果无报错输出,说明逻辑卷已经成功挂载到指定的挂载点。sudo mount -a
运行以下命令,检查逻辑卷挂载的设备或分区。
df -Th
回显类似如下信息,逻辑卷已经重新挂载到设置的目录和文件系统,自动挂载功能生效。
相关文档
如果逻辑卷的使用空间不足,您可以扩容逻辑卷。
在控制台扩容云盘容量。具体操作,请参见步骤一:扩容云盘容量。
通过LVM扩容逻辑卷。具体操作,请参见扩容逻辑卷。