游乐游手机版
首页/AI教程/文章详情

基于多块云盘构建LVM逻辑卷的最佳实践方法

时间:2026-06-16 15:55
基于多块云盘构建LVM逻辑卷,实现磁盘动态扩容与管理,灵活调整卷大小且数据不丢失。以5块云盘为例,创建物理卷(PV)、卷组(VG)完成逻辑卷构建,支持后续在线扩展且无需停机,提升存储资源利用率与运维效率,适用于弹性云存储场景。

一、LVM 简介:什么是逻辑卷管理

在 Linux 磁盘管理体系中,LVM 是一项无法回避的核心技术。其全称为 Logical Volume Manager,即逻辑卷管理器。简单来说,LVM 在物理硬盘与分区之间构建了一个逻辑抽象层,其根本目标就是让磁盘分区的管理更加灵活、高效。

这一机制的最大优势是什么?磁盘容量管理的动态化。逻辑卷的大小可以随时进行调整,并且现有数据不会因此丢失。即便后续新增了硬盘,也不会影响上层已有的逻辑卷。这种动态管理能力,显著提升了磁盘资源的灵活调配效率。此外,若需进一步增强云盘的 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、/dev/vdc、/dev/vdd、/dev/vde、/dev/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:执行以下命令,查看服务器上所有物理卷(PV)信息:

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:执行以下命令,创建卷组 VG

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.物理卷路径:填写云盘的物理卷名称,多个物理卷之间用空格分隔
3.当出现 “Volume group XXX successfully created” 提示时,表示卷组创建成功

step2:执行以下命令,可向已有卷组(VG)中添加新的物理卷(PV)

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

以下示例向卷组 lvm_01 中添加一块新的物理卷:

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:执行以下命令创建逻辑卷 LV

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

参数说明:

1.逻辑卷大小:该值需小于卷组可用空间,单位可为 MB、GB 或 TB
2.逻辑卷名称:可自定义命名
3.卷组名称:填写逻辑卷所属的卷组名称

这里以创建 1 个 4TB 的逻辑卷为例,执行结果如下:

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.文件系统格式逻辑卷路径

针对上一步中的逻辑卷创建 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 [-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

来源:https://developer.aliyun.com/article/704754
上一篇rsync同步操作与配置详解 下一篇Flink闭包清除源码分析与实现原理
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
企业组织级AI赋能具体实施方法
AI教程 · 2026-06-30

企业组织级AI赋能具体实施方法

前段时间收到一位读者的留言,希望聊聊企业级、组织级的AI赋能究竟该怎么落地。巧的是,前几天刚看到一份咨询调研机构的数据:对近一两年所有企业级AI赋能项目的统计显示,超过90%的甲方企业认为,AI赋能在核心业务价值链上没有发挥任何实质性作用。除了AI辅助办公、企业智能知识库这类边缘应用起到了一些辅助效

Scrapy与Redis分布式架构的日本电商多平台数据聚合系统
AI教程 · 2026-06-30

Scrapy与Redis分布式架构的日本电商多平台数据聚合系统

从事日本电商数据聚合工作时,最大的难点在于要同时应对雅虎拍卖、煤炉(Mercari)、乐天和亚马逊日本站等截然不同的平台。以往使用单机爬虫,经常出现运行中崩溃的情况——单点故障、带宽利用率不足、数据存储混乱,这三大痛点令人困扰。 本文分享一套基于Scrapy + Redis的分布式爬虫方案,专门解决

详细PuTTY 0.81安装教程 SSH远程连接与自定义路径设置
AI教程 · 2026-06-30

详细PuTTY 0.81安装教程 SSH远程连接与自定义路径设置

​ PuTTY(简称PT)是一款轻量级开源SSH Telnet客户端,凭借简洁高效的特性,多年来始终是系统管理员与开发者进行远程连接的首选利器。本教程将详细介绍PuTTY 0 81版本的完整安装过程,并指导您自定义安装路径,以便更灵活地管理SSH远程连接工具。 安装准备 首先需要说明的是,整个安装流

在线教育系统必备功能:直播课堂与题库考试架构
AI教程 · 2026-06-30

在线教育系统必备功能:直播课堂与题库考试架构

很多人一想到做在线教育系统,第一反应往往是先把直播间和课程播放器搭起来,觉得“能看课”就万事大吉了。真到落地那天才发现,系统能不能顺滑跑起来,关键全藏在那些细节里——课程怎么组织、学习进度怎么记、考试怎么处理、后台怎么管得住。前端看起来就几个页面,后端其实是一整条业务链路。不管你是要做在线教育APP

ZStack源码级AI诊断套件让故障排查秒出答案
AI教程 · 2026-06-30

ZStack源码级AI诊断套件让故障排查秒出答案

一次故障排查,到底要花多少时间? 运维人员处理私有云、虚拟化平台的问题,流程大致都是这样:先翻日志看现象,再去文档里找对应机制,然后搜社区有没有类似案例,最后综合判断给出答复。简单问题半小时,复杂问题可能要跨天——而这些时间里,大部分精力耗在了“找信息”而不是“做决策”上。 类似的问题,也许每天都在