Redian新闻
>
LVM分区管理实战:创建和扩容的完整指南

LVM分区管理实战:创建和扩容的完整指南

科技


新钛云服已累计为您分享783篇技术干货





在生产环境中,通常会使用LVM(Logical Volume Manager,逻辑卷管理)作为管理存储设备的工具,以便于快速灵活地进行扩容、缩容等操作。本文将展示如何基于LVM创建分区,并对该分区扩容
首先,我们需要认识LVM中的几个基本概念:
  • 物理卷(Physical Volume,PV):存储底层的块设备,通常是物理磁盘,也可以是磁盘上的某个分区。
  • 卷组(Volume Group,VG):由一个或多个物理卷组成,为逻辑卷提供待分配的空间。
  • 逻辑卷(Logical Volume,LV):从卷组中划分的虚拟分区,是实际上用于存储文件系统的空间。
  • 物理块(Physical Extent,PE):LVM中用于分配的最小存储单元,默认为4MB,逻辑卷和物理卷都由这种单元构成,并且组成同一卷组的PE大小相同。




初始分区环境


首先看一下当前的分区情况:

我们计划在 vdb 这块磁盘上创建一个LVM分区,挂载到工作目录/tyun




创建一个基本LVM分区


刚挂载的物理磁盘需要经过 LVM 的初始化操作,才能被 LVM 管理。
具体流程如下:
1. 创建物理卷、卷组和逻辑卷
# 创建物理卷,将磁盘vdb加入lvm管理root@ubuntu:~# pvcreate /dev/vdb  Physical volume "/dev/vdb" successfully created.
# 创建一个卷组,命名为vg0,并将物理卷添加进去root@ubuntu:~# vgcreate vg0 /dev/vdb Volume group "vg0" successfully created
# 创建逻辑卷组,-n参数指定新建逻辑卷的名称(我命名为lv0),-l 100%FREE表示添加卷组内所有剩余空间root@ubuntu:~# lvcreate -l 100%FREE -n lv0 vg0 Logical volume "lv0" created.
2. 查看物理卷、卷组和逻辑卷
# 查看物理卷状态,想查看详细信息可用pvdisplayroot@ubuntu:~# pvs  PV         VG  Fmt  Attr PSize   PFree  /dev/vdb   vg0 lvm2 a--  <30.00g    0 
# 查看卷组状态,想查看详细信息可用vgdisplayroot@ubuntu:~# vgs VG #PV #LV #SN Attr VSize VFree vg0 1 1 0 wz--n- <30.00g 0
# 查看逻辑卷状态,想查看详细信息可用lvdisplayroot@ubuntu:~# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lv0 vg0 -wi-a----- <30.00g
因为磁盘操作涉及数据,每一步的检查都是必要的,每一步的操作都要小心谨慎。
  1. 格式化逻辑卷
# 根据相应的文件系统格式化逻辑卷,例如使用ext4文件系统root@ubuntu:~# mkfs.ext4 /dev/vg0/lv0mke2fs 1.44.1 (24-Mar-2018)Creating filesystem with 7863296 4k blocks and 1966080 inodesFilesystem UUID: 168c20f6-f93a-4f6a-9d4f-93609b53fc44Superblock backups stored on blocks:         32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,         4096000
Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done
此时再次查看磁盘分区,发现 vdb 磁盘下已经有了一个 lvm 分区。

4. 挂载分区到工作目录上
# 将vdb的lvm分区挂载到/tyun工作目录上root@ubuntu:~# mount /dev/vg0/lv0 /tyun
需要提醒的是,该命令只是临时挂载,系统重启就会取消。如果想要挂载持久化,需要编辑/etc/fstab文件,让系统启动时自动挂载。
具体操作如下:
# 用blkid命令查看逻辑磁盘lv0的uuidroot@ubuntu:~# blkid /dev/vg0/lv0/dev/vg0/lv0: UUID="168c20f6-f93a-4f6a-9d4f-93609b53fc44" TYPE="ext4"
# 编辑/etc/fstab文件,将lv0的信息添加在新行root@ubuntu:~# vim /etc/fstabUUID=baf9b14e-1faf-11e9-84e3-fa9a00532b00 / ext4 defaults 0 0UUID=168c20f6-f93a-4f6a-9d4f-93609b53fc44 /tyun ext4 defaults 0 0
查看分区,已经成功挂载。




扩容LVM分区


LVM最强大的地方就在于可以灵活地对逻辑卷进行扩容和缩容,此时我们需要对刚刚创建的/tyun分区进行扩容,添加一块磁盘 vdc 后,分区情况如下:

1. 将新添加的磁盘 vdc 初始化为物理卷
root@ubuntu:~# pvcreate /dev/vdc  Physical volume "/dev/vdc" successfully created.
root@ubuntu:~# pvs PV VG Fmt Attr PSize PFree /dev/vdb vg0 lvm2 a-- <30.00g 0 /dev/vdc lvm2 --- 30.00g 30.00g
2. 对现有卷组 vg0 进行扩展,把新的物理卷加入
root@ubuntu:~# vgextend vg0 /dev/vdc  Volume group "vg0" successfully extended
查看当前卷组,确认卷组容量已扩容,确认 vdc 已加入 vg0 。

3. 对挂载工作目录/tyun的逻辑卷 lv0 进行扩容
# 新添加的磁盘有30G,本次仅扩容20G空间# 使用 -L 选项并使用 +20G 参数扩展逻辑卷root@ubuntu:~# lvextend -L +20G /dev/vg0/lv0  Size of logical volume vg0/lv0 changed from <30.00 GiB (7679 extents) to <50.00 GiB (12799 extents).  Logical volume vg0/lv0 successfully resized.
此时查看分区信息,发现逻辑卷 lv0 已经扩容到 50G,但/tyun分区还是原来的 30G。

这是因为文件系统层感知不到逻辑卷的大小变化,需要用一些工具根据实际的卷空间,重新调整文件系统的大小。
4. 调整文件系统的大小
因为是 ext4 文件系统,使用resize2fs工具在线扩容。如果是 xfs 文件系统,可使用xfs_growfs工具进行扩容。
# 使用逻辑卷的整个可用空间,以适应逻辑卷的新大小root@ubuntu:~# resize2fs /dev/vg0/lv0resize2fs 1.44.1 (24-Mar-2018)Filesystem at /dev/vg0/lv0 is mounted on /tyun; on-line resizing requiredold_desc_blocks = 4, new_desc_blocks = 7The filesystem on /dev/vg0/lv0 is now 13106176 (4k) blocks long.
再次查看,已经完成扩容。




关于LVM的一些扩展


1. 磁盘空间收缩
与扩容相反,这是个不常见的操作,同样是通过分配逻辑卷空间实现,涉及到文件系统调整,且需要卸载分区,如果条件允许,操作前一定要进行备份。
# 1. 卸载分区,调整文件系统空间,例如将 50G 空间调整为 40G
root@ubuntu:~# umount /tyun # 卸载分区
root@ubuntu:~# e2fsck -f /dev/vg0/lv0 # 检查文件系统e2fsck 1.44.1 (24-Mar-2018)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/vg0/lv0: 11/3276800 files (0.0% non-contiguous), 251751/13106176 blocks
root@ubuntu:~# resize2fs /dev/vg0/lv0 40G # 调整文件系统大小resize2fs 1.44.1 (24-Mar-2018)Resizing the filesystem on /dev/vg0/lv0 to 10485760 (4k) blocks.The filesystem on /dev/vg0/lv0 is now 10485760 (4k) blocks long.
# 2. 调整逻辑卷大小
root@ubuntu:~# lvreduce -L -10G /dev/vg0/lv0 WARNING: Reducing active logical volume to <40.00 GiB. THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce vg0/lv0? [y/n]: y Size of logical volume vg0/lv0 changed from <50.00 GiB (12799 extents) to <40.00 GiB (10239 extents). Logical volume vg0/lv0 successfully resized.
此时查看 lv0 逻辑卷大小,已经缩容到 40G,重新挂载到工作目录即可。
再次提醒,缩小磁盘容量是一个敏感操作,可能导致数据丢失,一定要确保对重要文件做了备份,以及预留了足够的缩容空间。
  1. LVM 的快照功能
LVM的快照就是对逻辑卷拷贝一份副本,可以在进行重要操作前创建一个逻辑卷快照,防止操作意外导致的数据损失。
root@ubuntu:~# lvcreate --size 5G --snapshot --name lv0_snapshot_231225 /dev/vg0/lv0  Using default stripesize 64.00 KiB.  Logical volume "lv0_snapshot_231225" created.
  • --size:指定快照的大小
  • --snapshot:表示创建快照操作
  • --name:指定快照的名称
  • /dev/vg0/lv0:指定需要创建快照的逻辑卷
使用快照就是将这个快照的逻辑卷挂载到新建的某个目录上。
LVM 默认创建的快照是 COW(Copy-On-Write,写时复制)类型的,即在原始卷上写入时,在快照卷记录发生变化的数据,这种类型可以在创建快照后继续对原始卷进行写入而不影响快照一致性,一般用于测试操作前的备份。
如果在创建快照的命令中加-ro参数,可以创建一个RO(Read-Only,只读)快照,它是原始卷的静态副本,不允许在快照卷上进行写入操作,通常用于记录某个时间点的原始卷状态。



总结


LVM 作为 Linux 下的磁盘管理工具,已在各种环境和场景中得到了广泛应用,将底层的存储设备抽象成一个逻辑层,令运维人员可以灵活和高效地管理存储空间,并提供了快照等丰富功能。
掌握 LVM 如何扩容,熟悉它的功能,是系统运维人员必修的技能,但须注意:在生产环境中,任何对磁盘的操作都是高危操作,一定要小心谨慎,避免影响数据!


    推荐阅读   




    推荐视频    


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
《经理人》杂志:清华经管EMBA的新发展、新构建和新生态PyTorch团队重写「SAM分割一切」模型,比原始实现快8倍!(完整版)LVMH集团主席关于奢侈品行业的最新研判:我们很高兴能够放慢脚步!最后机会|《投行IBD求职实战·基础班》明日开课,行业大佬手把手教你做名企实战项目,一站式直通华尔街!邂逅相遇的日子(4)在澳华人快收藏!中国和澳洲护照都免签/落地签的完整清单!2024年说走就走的旅行来了青岛高新区管委科技创新部与创业黑马(香港)有限公司签署合作备忘录,搭建“国际会客厅”,共建产业生态圈塔克·卡尔森对普京的2小时采访的完整全文,多次提到中国在 Obsidian 中创建和使用链接 | Linux 中国一份遗书,四个人背诵转达LVMH集团掌门人 Arnault 荣获法国最高等级荣誉勋章人事六则丨Arnault的四子出任LVMH集团手表部门CEO,《Vogue》老将回归任全球创意总监,Valentino等高管任命早报 | LVMH时尚集团换帅;卡地亚母公司第三财季中国收入大涨25%;勃肯鞋去年收入大涨20%Spring Boot 3.2 正式发布,开箱即用的虚拟线程和 GraalVM,尝鲜一下!快消24暑期实习内推|LVMH+欧舒丹+蒙牛等众多名企内推名额来啦!LVMH到了关键的时刻|焦点分析《幸福永相随》&《数羊》七年了,我们终于看到了这款国民产品的完整模样早报 | 传LVMH将收购Schiaparelli;周成建重新执掌美邦服饰;Dior发布史上首个高级定制男装系列半导体封装详解!高效的工程批快封、系统级SiP封装设计、封装量产管理实现【职场】法国学徒制走进美国,LVMH大量招收美国学员eMMC之分区管理、总线协议和工作模式(太硬了)为什么阿里巴巴修正了HashMap关于1024个元素扩容的次数?人事动向|LVMH 大公子辞去 Berluti CEO 一职,Gucci 、YNAP、Y/Project 等高管变动(漢詩英譯) 漫步寒山湖 – 孟朝崗GauHuman开源:基于Gaussian Splatting,高质量3D人体快速重建和实时渲染框架快消外企社招 | LVMH路威酩轩时装部社招!顶级奢侈品集团,女性友好,偏爱留学生新增到50万个体的完整基因组,全球最大的人类基因组数据库开放获取!【职场】手工职业从未如此受欢迎,LVMH大规模招聘LVMH集团旗下奢华旅游酒店公司贝梦徳发布2024“转型之年”蓝图国家发改委:产业结构调整指导目录(2024年本)---(涉及航空航天)LVM 是噱头还是通用视觉的新突破?人事四则|丝芙兰首席数字官来自 LVMH集团总部,M.A.C.、宝黎研萃、Eighth Day 任命高管LVMH集团主席最信赖的干将之一,Michael Burke 接掌 LVMH时尚集团【周末综艺会10期】— 面食
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。