LVM 全攻略:一文掌握逻辑卷的增删改查(含生产实操)
今天分享一下LVM,攻略这是文掌握逻我结合生产环境总结出来的操作,非常实用,辑卷文章较长,删改生产实操请耐心阅读。查含

一、攻略逻辑卷介绍
LVM(Logical Volume Manager)逻辑卷管理,文掌握逻是辑卷在硬盘分区和文件系统之间添加的一个逻辑层。
LVM就是删改生产实操通过将底层的物理硬盘封装,然后以逻辑卷的查含方式呈现给上层应用。当我们对底层的攻略物理硬盘进行操作时,不再是文掌握逻针对分区进行操作,而是辑卷通过逻辑卷对底层硬盘进行管理操作。
二、删改生产实操逻辑卷基本概念
概念原理图如下:

(1) 物理卷(Physical Volume,查含PV)
物理卷是底层真正提供容量,存放数据的设备,它可以是硬盘分区、整个硬盘、raid阵列或SAN硬盘。设备必须初始化为LVM物理卷,才能与LVM结合使用。源码下载。
(2) 卷组(Volume Group, VG)
卷组建立在物理卷之上,它由一个或多个物理卷组成。即把物理卷整合起来提供容量分配。 一个LVM系统中可以只有一个卷组,也可以包含多个卷组。
(3) 逻辑卷(Logical Volume, LV)
逻辑卷建立在卷组之上,它是从卷组中“切出”的一块空间。它是最终用户使用的逻辑设备。逻辑卷创建之后,其大小可以伸缩。
(4) 物理区域 PE(physical extent)
每一个物理卷被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是能被LVM寻址的最小单元。PE的大小可指定,默认为4 MB。 PE的大小一旦确定将不能改变,同一个卷组中的所有物理卷的PE的大小是一致的。 4MB=4096kb=4096kb/4kb=1024个block
三、IT技术网逻辑卷创建与删除
操作命令:

创建和删除顺序:

可以将硬盘做成PV,也可以将分区做成PV。
本次实验就用三块5G的硬盘来模拟(容量你自定义即可)。

有些发行版本是安装系统时就已经安装了,不用重复安装。
复制yum install lvm2 lvm2-libs -y1. 3. 创建物理卷(PV) 复制# 将三个硬盘做成PV pvcreate /dev/sdb /dev/sdc /dev/sdd # 也可以写成/dev/sd{b..d} 或 /dev/sd[bcd] 或 /dev/sd[b-d] # 查看PV情况,因为我们根分区也是LVM格式,所有有4个PV pvs # 删除PV,这一步先不做。 pvremove /dev/sdb /dev/sdc /dev/sdb1.2.3.4.5.6.7.8.
图片
说明:除了pvs还可以使用pvdisplay和pvscan等命令查看更详细的信息
4. 创建与扩展卷组(VG)创建卷组(VG)使用vgcreate命令扩展卷组使用vgextend命令将/dev/sdb与/dev/sdc创建成一个卷组,卷组名自定义为vg-data:
复制# 创建卷组 [root@liyb ~]# vgcreate vg-data /dev/sdb /dev/sdc Volume group "vg-data" successfully created1.2.3.将/dev/sdd扩展添加到卷组vg01中:
复制# vgextend vg-data /dev/sdd Volume group "vg-data" successfully extended1.2.查看验证:
复制# 查看卷组情况 vgs # 查看PV情况 pvs1.2.3.4.5.
注意事项:
可以通过-s指定PE大小(默认是4MB)PE大,读取速度快,但浪费空间。反之,读取速度慢,但节省空间。类似于socket5. 将卷组划分为逻辑卷(LV)使用lvcreate命令划分LV使用lvs命令查看创建逻辑卷:
lvcreate常见参数
说明
-n
指定逻辑卷的名字
-L
指定逻辑卷的大小
-l
通过指定PE的个数或空间百分比来指定逻辑卷的大小
复制# 指定创建逻辑卷大小 [root@liyb ~]# lvcreate -n lv-data -L 2G vg-data Logical volume "lv-data" created. # 创建第二个LV,指定PE个数,一个PE默认4MB [root@liyb ~]# lvcreate -n lv-data2 -l 200 vg-data Logical volume "lv-data2" created. # 创建第三个LV,将剩余的全部的50%空间分给它 [root@liyb ~]# lvcreate -n lv-data3 -l 50%free vg-data Logical volume "lv-data3" created.1.2.3.4.5.6.7.8.9.10.11.查看逻辑卷:
复制# lvs1.
注意事项:
生产环境尽量不要一个vg创建多个lv,我上面例子只是为了验证常用功能lv名字可以自定义,b2b信息网可以结合业务来起名字6. 验证lv设备名 复制# ls /dev/vg-data # ls /dev/mapper/vg-data*1.2.3.
这里以lv-data为例,其他挂载的话,步骤一样:
复制# 格式化 [root@liyb ~]# mkfs.xfs /dev/vg-data/lv-data # 创建挂载点,已有挂载目录可省略 [root@liyb ~]# mkdir /data # 挂载 [root@liyb ~] mount /dev/vg-data/lv-data /data # 查看挂载情况 df -h1.2.3.4.5.6.7.8.9.10.
四、逻辑卷在线扩容
1. 查看vg空间在生产环境中,扩容顺序是: 新增硬盘/分区-->创建PV-->扩容VG-->扩容LV-->扩容文件系统
复制# df -h |tail -1 # 查看vgs剩余可用容量 [root@liyb ~]# vgs VG #PV #LV #SN Attr VSize VFree rl 1 1 0 wz--n- <48.00g 0 vg-data 3 3 0 wz--n- <14.99g <6.11g # free空间还有近14G1.2.3.4.5.6.7.8.9. 2. 在线扩容逻辑卷上次查看到,VG还有6G可用,我直接演示如何扩容LV。我这里也演示LV扩容的三种方法
复制# 方法一:指定扩容后最终容量为3G(从2G变3G) [root@liyb ~]# lvextend -L 3G /dev/vg-data/lv-data Size of logical volume vg-data/lv-data changed from 2.00 GiB (512 extents) to 3.00 GiB (768 extents). Logical volume vg-data/lv-data successfully resized. # 方法二:在原有基础再扩容2G(从3G变5G) [root@liyb ~]# lvextend -L +2G /dev/vg-data/lv-data Size of logical volume vg-data/lv-data changed from 3.00 GiB (768 extents) to 5.00 GiB (1280 extents). Logical volume vg-data/lv-data successfully resized. # 方法三:将VG剩余容量全部扩容给LV,此操作会将vg剩余空间全用完。 [root@liyb ~]# lvresize -l +100%FREE /dev/vg-data/lv-data # 查看lvs [root@liyb ~]# lvs1.2.3.4.5.6.7.8.9.10.11.12.13.14.
前面步骤只是扩容了LV,文件系统并没有扩容,所以需要进行下面步骤
复制# 适合xfs文件系统,本次操作执行这个 xfs_growfs /dev/vg-data/lv-data # 如果你的文件系统是ext4格式,则使用resize2fs resize2fs /dev/vg-data/lv-data1.2.3.4.5. 4. 验证在线扩容成功 复制[root@liyb ~]# df -h|grep data /dev/mapper/vg--data-lv--data 8.1G 91M 8.0G 2% /data1.2.
注意事项:
在线缩容LV目前只支持ext4文件系统,没事别做这个操作,容易丢数据。xfs文件系统可支持离线扩容,但是操作时做好备份。五、删除逻辑卷(谨慎)
如果要删除逻辑卷,逆向操作步骤为:
卸载文件系统--->删除逻辑卷LV--->删除卷组--->删除物理卷PV
复制# 卸载文件系统,下面命令也可以选择挂载点 [root@liyb ~]# umount /dev/vg-data/lv-data # 删除LV [root@liyb ~]# lvremove /dev/vg-data/lv-data Do you really want to remove active logical volume vg-data/lv-data? [y/n]: y Logical volume "lv-data" successfully removed. # 删除VG,如果有多个LV使用同一个卷组,会提示你都删除。 [root@liyb ~]# vgremove vg-data Do you really want to remove volume group "vg-data" containing 2 logical volumes? [y/n]: y Do you really want to remove active logical volume vg-data/lv-data2? [y/n]: y Logical volume "lv-data2" successfully removed. Do you really want to remove active logical volume vg-data/lv-data3? [y/n]: y Logical volume "lv-data3" successfully removed. Volume group "vg-data" successfully removed # 删除物理卷PV [root@liyb ~]# pvremove /dev/sd{b..d} Labels on physical volume "/dev/sdb" successfully wiped. Labels on physical volume "/dev/sdc" successfully wiped. Labels on physical volume "/dev/sdd" successfully wiped.1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.
相关文章
从苹果官网学习电脑拆机(苹果官网电脑拆机教程详解,轻松掌握Mac维修技能!)
摘要:对于使用苹果Mac电脑的用户来说,了解如何拆解和组装电脑可以帮助解决一些常见的问题,同时也能增加维修和升级的灵活性。苹果官网提供了详细的电脑拆机教程,让用户能够轻松掌握Mac电脑的...2025-11-05
程序员与Bug是一对矛盾的存在,程序员既要在解决Bug中获得成就感,同时也讨厌Bug本身的存在。"程序不息,Bug不止",程序员在与Bug的斗争中,也有很多有趣的事情发生,本文总结了程序员调试Bug的2025-11-05
在美帝面试工程师,是一种有趣的体验。以前曾经在朋友圈里发过一些体验,这两天,面试了两个很有意思的工程师,其中一个勾起了我一份尘封的回忆。今天我们讲讲这三个人。(一)SH 君。我昨天面试的 SH 君。他2025-11-05
首先你要了解一下Python之禅,一行代码输出“The Zen of Python”:python-c"importthis""""TheZenofPython,byTimPetersBeautifu2025-11-05- 摘要:U盘写保护是很常见的问题,它限制了我们对存储设备的正常使用,给我们带来了很多困扰。但是,解除U盘写保护并不是一件复杂的事情,本文将介绍一些简单有效的方法,帮助您摆脱U盘写保护的束缚...2025-11-05

最近租房有点烦!技术人如何用Python找到称心如意的“小窝”?
【.com原创稿件】11 月 18 日,北京西红门镇新建二村“聚福缘公寓”突发火灾。火灾后,随之而来的是一场全北京市的“安全隐患大排查大清理大整治”风暴。聚集着几万外来务工人员的新建村在几天之内被清理2025-11-05

最新评论