今天分享一下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
操作命令:

创建和删除顺序:

可以将硬盘做成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名字可以自定义,服务器托管可以结合业务来起名字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.
在生产环境中,扩容顺序是: 新增硬盘/分区-->创建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.
相关文章:
相关推荐:
源码下载源码库香港云服务器IT技术网企商汇服务器租用亿华云益华科技IT资讯网创站工坊益华科技益强编程舍云站无忧亿华灵动码上建站益强数据堂益强IT技术网亿华互联亿华智慧云多维IT资讯益强智囊团亿华智造思维库编程之道汇智坊益强科技亿华云益强前沿资讯益强资讯优选益华IT技术论坛极客码头码力社云智核益强科技益华科技科技前瞻极客编程亿华云计算技术快报益强编程堂益强智未来运维纵横IT资讯网
1.7295s , 11734.84375 kb
Copyright © 2025 Powered by LVM 全攻略:一文掌握逻辑卷的增删改查(含生产实操),汇智坊 滇ICP备2023006006号-2