【引言】
在企业级 Linux 服务器运维中,存储管理是核心模块之一。传统磁盘分区方式存在致命缺陷:分区大小固定,扩容需停机、数据迁移风险高,无法满足业务增长带来的动态存储需求。而LVM(Logical Volume Manager,逻辑卷管理) 作为 Linux 系统下的灵活存储解决方案,能够实现磁盘空间的动态分配、扩容与缩减,且支持在线操作(不中断业务),成为企业级运维的必备技能。本文将从实战角度出发,详解 LVM 逻辑卷的配置流程、硬盘扩容操作,以及企业场景下的注意事项,帮助运维工程师快速掌握核心技能。
一、LVM 核心概念与架构(企业级视角)
在动手实操前,需先明确 LVM 的核心组件,理解其 “分层管理” 的设计思路,这是企业场景下故障排查的基础:
①物理卷(PV,Physical Volume)
底层存储载体,可以是整块硬盘(如 /dev/sdb)、分区(如 /dev/sdb1)或 RAID 阵列。企业中通常使用 RAID 5/6 作为 PV,确保数据冗余与读写性能。
②卷组(VG,Volume Group)
由一个或多个 PV 组成的 “存储池”,将分散的物理磁盘资源整合为统一的逻辑资源池。企业中会按业务类型划分 VG(如数据库 VG、应用 VG),便于资源隔离与管理。
③逻辑卷(LV,Logical Volume)
从 VG 中划分出的 “逻辑磁盘”,可直接格式化后挂载使用(如 /dev/mapper/vg-data)。LV 的大小可动态调整,是 LVM 灵活性的核心。
④物理扩展块(PE,Physical Extent)
PV 被划分为固定大小的 PE(默认 4MB),VG 将 PE 作为最小分配单元,LV 的扩容/缩减本质是PE的添加/移除。企业中可根据存储场景调整PE大小(如大文件存储设为 16MB,小文件设为 2MB)。
LVM 架构流程图:
物理磁盘/分区 → 创建PV → 组建VG(存储池) → 划分 LV(逻辑磁盘) → 格式化挂载(业务使用)
二、企业级LVM 逻辑卷配置实战
1、执行df -h,查看挂载点利用率,这里我选择根目录对应的逻辑卷进行扩容。
2、在虚拟机上,新增硬盘10GB。执行命令:fdisk -l查看新增硬盘是否存在。这里,我们看到了/dev/vdb这块10GB的硬盘。
3、执行命令,对/dev/vdb进行格式化操作,命令为:fdisk /dev/vdb。键入:m(获取帮助)如下:
4、输入n,再输入p,表示为做个主分区;第一个输入1,表示第一个分区,或者敲回车,系统会默认做分区,后面可以默认选择敲回车,表示将硬盘里面的容量全部扩充到刚才的分区。
5、按m(获取帮助)输入t,表示修改分区类型。敲回车后输入8e,表示将分区做成LVM格式,最后一定要键入w,保存。再次执行fdisk -l,发现已经有了vdb1分区,系统类型是linux LVM。
6、输入命令:pvcreate /dev/vdb1,将刚才的硬盘分区创建为物理卷。
7、使用vgscan命令,查询物理卷名称,本文中服务器卷组名称为:bel
8、将新增的物理卷扩容到卷组bel中,执行命令:vgextend bel/dev/vdb1
9、从卷组里面扩容容量到根目录对应的逻辑卷中,本文中将卷组所有的容量扩充到根目录的逻辑卷内。输入命令:lvextend -l +100%FREE/dev/mapper/bel-root。也可以按容量进行扩容,执行命令:lvextend -L +10G /dev/mapper/bel-root
10、此时,执行df -h,查看挂载点占用率没有变化。因为,系统还不识别刚刚添加进来的文件系统,要对文件系统进行扩容,执行命令xfs_growfs想要扩容的路径,或者resize2fs -f 想要扩容的路径。此时,硬盘已完成扩容。
请大家关注本公众号,后续持续更新干货内容!