在服务器上通过LVM(逻辑卷管理器)创建逻辑卷,核心流程包括:准备物理卷(PV)、创建卷组(VG)、创建逻辑卷(LV),并设置文件系统,PE(物理扩展)作为LVM的最小存储单元,直接影响容量分配和性能对齐。
理解LVM的基础概念与PE的作用
LVM把物理硬盘抽象成更灵活的存储池,在动手之前,得先搞清楚几个关键术语。
PV,VG,LV三者的关系
- 物理卷(PV):可以是整块硬盘,也可以是分区,它被LVM划分为若干个固定大小的物理扩展(PE),PE是LVM寻址和分配空间的最小单位,默认大小通常为4MB。
- 卷组(VG):由一个或多个PV组成,相当于一个存储池,VG的总空间就是所有PV中PE的总和。
- 逻辑卷(LV):从VG中划分出来的逻辑分区,类似于传统分区,可以格式化挂载,LV的容量由PE数量决定,LV的大小必须为PE的整数倍。
PE的默认大小与对齐的影响
PE大小直接影响空间利用率和性能,默认4MB的PE适合大多数场景,但如果你使用大量小文件存储,或者后续需要精细调整容量,可以考虑将PE设为更小的1MB,行业共识认为,PE大小与底层物理扇区对齐(通常为512B或4KB)能减少读写放大,尤其在高并发IO场景下,PE对齐错误会导致性能损耗,你可以在创建VG时通过-s参数指定PE大小,例如vgcreate -s 1M vg_name /dev/sdb。
服务器LVM创建逻辑卷的具体步骤
准备物理卷:分区与标记
识别新添加的磁盘,使用lsblk或fdisk -l查看,若使用整块磁盘,直接创建PV;若使用分区,需先分区并更改系统ID为8e(Linux LVM),分区时建议使用parted或gdisk,确保分区对齐到4K扇区,避免后续PE对齐问题。
# 创建分区(示例) fdisk /dev/sdb # 按n新建,t修改ID为8e,w保存 # 创建物理卷 pvcreate /dev/sdb1
创建卷组并指定PE大小
卷组名建议与业务相关,例如data_vg,创建时指定PE大小,默认4MB。
vgcreate -s 4M data_vg /dev/sdb1
创建逻辑卷并格式化
逻辑卷名通常与用途匹配,例如app_lv,使用-L指定容量,或-l指定PE数量。
lvcreate -L 100G -n app_lv data_vg # 格式化 mkfs.ext4 /dev/data_vg/app_lv # 挂载 mount /dev/data_vg/app_lv /mnt/app
验证与持久化挂载
通过lvdisplay和vgdisplay查看状态,将挂载信息写入/etc/fstab,使用UUID或设备路径均可。
blkid /dev/data_vg/app_lv >> /etc/fstab
服务器LVM与分区:哪种方案更适合你的业务场景?
很多运维在部署新服务器时会纠结:是直接用传统分区,还是用LVM?下面从几个关键维度对比。
弹性扩展能力
- 分区:一旦分区表固定,扩容需要重新分区、移动数据,操作复杂且风险高,多数情况下,分区扩容必须停机或使用工具调整,生产环境不推荐。
- LVM:支持在线扩容,只需加入新物理卷或已有PV的空闲空间,即可扩展LV,无需停机,业务连续性更好。
容量管理粒度
- 分区:分区大小在创建时确定,后期调整困难,尤其是根分区。
- LVM:通过PE精细控制,可以按PE数量任何倍数调整,例如
lvresize -L +1G或lvresize -l +256(256个4MB PE)。服务器LVM扩容命令非常直观,
lvextend配合resize2fs即可完成。
性能与快照
- 分区:直接访问物理磁盘,性能损耗极小,但缺乏快照功能。
- LVM:引入了一层映射,理论上会有微小性能损耗,但现代服务器CPU和内核已优化,服务器LVM性能损耗在绝大多数场景下可忽略,LVM快照功能对备份和测试环境非常实用。
适用场景建议
- 使用传统分区:对性能要求极高且容量固定,例如数据库日志分区、缓存盘。
- 使用LVM:需要频繁调整容量、有快照需求、服务器磁盘数量较多且希望统一管理。服务器LVM与分区对比后,相当一部分企业选择混合方案:系统盘用分区,数据盘用LVM。
服务器LVM逻辑卷扩容与PE对齐常见问题
扩容步骤与注意事项
当逻辑卷空间不足时,可在线扩容。
# 前提:卷组有剩余PE vgs # 查看Free PE # 扩展逻辑卷(假设新增100G) lvextend -L +100G /dev/data_vg/app_lv # 扩展文件系统 resize2fs /dev/data_vg/app_lv
注意:如果文件系统是XFS,需使用xfs_growfs挂载点,扩容前务必确认卷组有足够空间,否则需先添加新物理卷。
PE对齐引发的性能问题
创建PV时,如果分区起始位置未对齐到PE边界,会导致逻辑卷跨物理扇区,产生写放大,业内专家指出,LVM PE对齐问题在高并发存储场景下不容忽视。
- 使用
parted创建分区时,指定align-check optimal确保对齐。 - 创建VG时,PE大小建议与底层物理块大小一致(通常4KB,对应4MB PE)。
- 使用
pvdisplay --maps查看PE与物理扇区的映射,确认对齐情况。
常见报错与处理
Volume group has insufficient free space:卷组空间不足,需添加新磁盘。Unable to resize to x extents as x exceeds:PE数量超过卷组剩余,检查vgs输出。Device /dev/sdb is not a partition:直接将整块磁盘创建PV没问题,但建议使用分区以便标识。
Q&A:服务器LVM创建逻辑卷的常见疑问
服务器LVM创建逻辑卷时,PE大小选多少合适?
PE大小通常在创建卷组时确定,默认4MB,如果业务以大量小文件为主(如邮件服务器),建议使用1MB以减少空间浪费;如果以大型文件(如数据库、视频)为主,4MB或更大(如8MB)可减少元数据开销,注意,修改PE大小需要重新创建卷组,无法在已有VG上更改。
服务器LVM逻辑卷可以跨多块物理磁盘吗?
可以,卷组可以由多个物理卷组成,逻辑卷可以跨物理卷分布,LVM默认以条带化或线性方式分配PE,线性分配会填满第一个PV再使用第二个,条带化需要指定-i参数,可以提升IO性能,但跨磁盘的LV性能取决于磁盘转速和接口,建议配置相同规格的磁盘。
服务器LVM扩容后,文件系统没有识别新空间怎么办?
扩容逻辑卷后,文件系统需要对应调整,对于ext4,使用resize2fs;XFS使用xfs_growfs,如果忘记执行,df -h看到的仍是原大小,此时运行对应命令即可,注意,部分文件系统不支持在线缩小,建议预留适当空间。
通过LVM管理服务器磁盘,本质上是将物理存储抽象为灵活的资源池,PE作为调度的基础单位,理解它的大小和对齐策略,能让你在创建逻辑卷时避免后期性能问题,实际部署中,建议先规划好卷组和逻辑卷的容量,再利用LVM的弹性应对未来扩展。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/549417.html




