ECS云服务器多块云盘构建LVM逻辑卷完整教程与性能优化最佳实践详解指南

2026-06-16阅读 0热度 0
最佳实践

一、LVM简介

在Linux磁盘管理体系中,LVM(Logical Volume Manager)是绕不开的核心工具。它通过在物理硬盘和分区之间建立抽象逻辑层,实现分区尺寸的动态调整与弹性扩展。

这种架构的最大价值在于:无需停机即可在线调整逻辑卷容量,原有数据毫发无损。即使后续添加新磁盘,已上层的逻辑卷也完全不受影响。若需进一步提升云盘I/O吞吐能力,可将多块同容量云盘组建RAID0后再挂载至逻辑卷。

image

图1:LVM逻辑示意图(图片来源于互联网)

二、创建LVM卷

2.1步骤一 创建物理卷PV

下面演示如何用5块云盘通过LVM构建弹性可扩展逻辑卷,操作全流程如下。

root@lvs06:~# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTvda252:0040G0 disk└─vda1 252:1040G0 part /vdb252:16 0 1T0 diskvdc252:32 0 1T0 diskvdd252:48 0 1T0 diskvde252:64 0 1T0 diskvdf252:80 0 1T0 disk

step1:使用root账户登录云服务器
step2:执行以下命令为云盘创建PV物理卷

pvcreate <磁盘路径1> ... <磁盘路径N>

说明:磁盘路径对应云盘设备名称;如需添加多块,将设备名依次列出,用空格分隔。示例如下(目标设备为/dev/vdb~vdf):

root@lvs06:~# pvcreate/dev/vdb /dev/vdc /dev/vdd /dev/vde /dev/vdfPhysical volume "/dev/vdb" successfully created.Physical volume "/dev/vdc" successfully created.Physical volume "/dev/vdd" successfully created.Physical volume "/dev/vde" successfully created.Physical volume "/dev/vdf" successfully created.

step3:使用lvmdiskscan命令查看服务器上的物理卷清单:

lvmdiskscan | grep LVM

返回结果如下:

root@lvs06:~# lvmdiskscan | grep LVM/dev/vdb[ 1.00 TiB] LVM physical volume/dev/vdc[ 1.00 TiB] LVM physical volume/dev/vdd[ 1.00 TiB] LVM physical volume/dev/vde[ 1.00 TiB] LVM physical volume/dev/vdf[ 1.00 TiB] LVM physical volume5 LVM physical volume whole disks0 LVM physical volumes

2.2步骤二 创建卷组(VG)

step1:执行vgcreate命令创建卷组

vgcreate <卷组名> <物理卷路径1>……<物理卷路径N>

执行示范:

root@lvs06:~# vgcreate lvm_01/dev/vdb/dev/vdc /dev/vdd /dev/vde /dev/vdfVolume group "lvm_01" successfully created

说明:

1.卷组名:可自定义命名
2.物理卷路径:填写已创建的PV设备路径,多个PV用空格分隔
3.输出"Volume group XXX successfully created"即为创建成功。

step2:向已有卷组添加新的物理卷

vgextend 卷组名称<物理卷路径1>……<物理卷路径N>

例如向卷组lvm_01中新增一块物理卷/dev/vdg:

root@lvs06:~# pvcreate /dev/vdgPhysical volume "/dev/vdg" successfully created.root@lvs06:~# vgextendlvm_01/dev/vdgVolume group "lvm_01" successfully extended

step3:卷组创建后可通过vgs、vgdisplay命令查看详细信息

root@lvs06:~# vgsVG #PV #LV #SN Attr VSizeVFreelvm_01 6 0 0 wz--n- <6.00t <6.00t

2.3步骤三 创建逻辑卷(LV)

step1:执行lvcreate命令创建逻辑卷

lvcreate [-L <逻辑卷大小>][ -n <逻辑卷名称>] <卷组名称>

参数说明:

1.逻辑卷大小:需小于卷组剩余可用空间,单位支持MB、GB、TB
2.逻辑卷名称:自定义命名
3.卷组名称:指定该逻辑卷所属的卷组

以下创建了一个4TB的逻辑卷(实际命令中为5T,示例保持一致):

root@lvs06:~# lvcreate -L 5T -n lv01 lvm_01Logical volume "lv01" created.

step2:使用lvdisplay查看逻辑卷的完整信息:

root@lvs06:~# lvdisplay--- Logical volume ---LV Path/dev/lvm_01/lv01LV Namelv01VG Namelvm_01LV UUIDsvB00x-l6Ke-ES6M-ctsE-9P6d-dVj2-o0h3KzLV Write Accessread/writeLV Creation host, time lvs06, 2019-06-06 15:27:19 0800LV Statusa vailable# open 0LV Size5.00 TiBCurrent LE 1310720Segments 6Allocation inheritRead ahead sectors auto- currently set to 256Block device 253:0

2.4步骤四 创建并挂载文件系统

step1:在逻辑卷上创建文件系统

mkfs.文件系统格式逻辑卷路径

对上一节创建的lv01逻辑卷制作为ext4格式:

root@lvs06:~# mkfs.ext4/dev/lvm_01/lv01mke2fs 1.44.1 (24-Mar-2018)Creating filesystem with 1342177280 4k blocks and 167772160 inodesFilesystem UUID: 2529002f-9209-4b6a-9501-106c1145c77fSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,102400000, 214990848, 512000000, 550731776, 644972544Allocating group tables: doneWriting inode tables: doneCreating journal (262144 blocks): doneWriting superblocks and filesystem accounting information:done

step2:挂载文件系统至指定挂载点

mount逻辑卷路径 挂载点

操作及确认结果:

root@lvs06:~# mount/dev/lvm_01/lv01/media/lv01root@lvs06:~# df -hFilesystem SizeUsed A vail Use% Mounted onudev12G 0 12G 0% /devtmpfs2.4G3.7M2.4G 1% /run/dev/vda1 40G3.6G 34G10% /tmpfs 12G 0 12G 0% /dev/shmtmpfs5.0M 05.0M 0% /run/locktmpfs 12G 0 12G 0% /sys/fs/cgrouptmpfs2.4G 02.4G 0% /run/user/0/dev/mapper/lvm_01-lv015.0T 89M4.8T 1% /media/lv01

三、进阶场景

3.1扩展逻辑卷以及系统容量

Step1:使用lvextend命令扩展逻辑卷容量

lvextend [-L /- <增减容量>] <逻辑卷路径>

参数说明:

1.增减容量:若卷组有余量即可扩容;扩容后需同步扩容文件系统才能生效
2.逻辑卷路径:指定需扩容的逻辑卷的完整路径

以下示例将/dev/lvm_01/lv01扩容500GB:

root@lvs06:~# lvextend -L 500GB /dev/lvm_01/lv01Size of logical volume lvm_01/lv01 changed from 5.00 TiB (1310720 extents) to <5.49 TiB (1438720 extents).Logical volume lvm_01/lv01 successfully resized.

step2:使用pvs命令查看物理卷使用情况

root@lvs06:~# pvsPV VG FmtAttr PSize PFree/dev/vdb lvm_01 lvm2 a--<1024.00g 0/dev/vdc lvm_01 lvm2 a--<1024.00g 0/dev/vdd lvm_01 lvm2 a--<1024.00g 0/dev/vde lvm_01 lvm2 a--<1024.00g 0/dev/vdf lvm_01 lvm2 a--<1024.00g 0/dev/vdg lvm_01 lvm2 a--<1024.00g <523.98g

step3:扩容文件系统(resize2fs)

resize2fs逻辑卷路径

执行及反馈:

root@lvs06:~# resize2fs/dev/lvm_01/lv01resize2fs 1.44.1 (24-Mar-2018)Filesystem at /dev/lvm_01/lv01 is mounted on /media/lv01; on-line resizing requiredold_desc_blocks = 640, new_desc_blocks = 703The filesystem on /dev/lvm_01/lv01 is now 1473249280 (4k) blocks long.

step4:使用df -h确认文件系统扩容结果

root@lvs06:~# df -hFilesystem SizeUsed A vail Use% Mounted onudev12G 0 12G 0% /devtmpfs2.4G3.7M2.4G 1% /run/dev/vda1 40G3.6G 34G10% /tmpfs 12G 0 12G 0% /dev/shmtmpfs5.0M 05.0M 0% /run/locktmpfs 12G 0 12G 0% /sys/fs/cgrouptmpfs2.4G 02.4G 0% /run/user/0/dev/mapper/lvm_01-lv015.5T 83M5.2T 1% /media/lv01

免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策