
声明本文仅作学习交流使用引用需标明出处。如有谬误敬请指正Linux 进阶LVM 逻辑卷管理与 RAID 磁盘阵列全解析在 Linux 系统运维中物理磁盘分区面临空间零散、无法动态扩容以及数据存储效率低、冗余性差等问题。逻辑卷管理LVM和RAID 磁盘阵列作为两大核心存储技术分别从弹性空间管理和磁盘整合优化角度解决了上述痛点。本文将融合核心知识点从概念、实操、核心特性等方面全面解析 LVM 和 RAID修正文档谬误形成从原理到实践的完整知识体系。一、逻辑卷管理LVM弹性化的存储管理方案LVM 是在传统存储流程分区规划 → 格式化中新增的逻辑层通过虚拟整合多块物理存储资源打造为可动态扩容、灵活调整大小的虚拟磁盘分区彻底解决物理分区空间零散、扩容繁琐的问题。其核心为三层架构从底层到上层依次为物理卷PV、卷组VG、逻辑卷LV整体使用流程为识别硬盘 → 分区规划 →物理卷 → 卷组 → 逻辑卷→ 格式化 → 挂载使用一句话总结LVM 就是为了打破物理磁盘边界实现存储空间的整合、统一管理并弹性分配存储空间。1.1 LVM 核心组件及概念LVM 的三层组件各司其职形成零散存储整合未分区的整块磁盘 或 未格式化的独立分区→ 虚拟存储池 → 弹性分区使用的完整链路。同时卷组VG与 MBR 分区体系的扩展分区存在高度类比性便于理解其“容器”属性。LVM 三层核心架构层级组件说明底层物理卷PVLVM 的底层物理存储单元直接对应硬盘或硬盘分区是已规整的存储原材料。可在创建卷组时由系统自动转换。中层卷组VG由多个物理卷整合而成的虚拟存储空间自身无法直接存储数据仅作为容纳逻辑卷的“容器”相当于 LVM 体系中的“扩展分区”。上层逻辑卷LV从卷组中划分出的虚拟逻辑分区可被格式化、挂载并直接存储数据是用户实际操作的存储单元支持动态调整大小。卷组VG与扩展分区的类比核心二者本质均为“容器”核心特性高度一致共同特性自身不能直接存储数据扩展分区 ≠ 可存文件的分区卷组 ≠ 可格式化挂载的逻辑卷仅用来包含更小的存储单元扩展分区包含逻辑分区卷组包含逻辑卷均为解决“数量/空间不够”的问题扩展分区突破 MBR 主分区最多 4 个的限制卷组整合多块 PV 突破单个磁盘空间的限制体系层级对应关系层级MBR 分区体系LVM 体系角色物理层硬盘/dev/sda硬盘/dev/sda裸设备原料层主分区PV物理卷已规整的原材料容器层扩展分区VG卷组存储容器可用层逻辑分区LV逻辑卷最终可用单元通俗理解物理卷PV是零散的存储空间好似砖头卷组VG是整合后的存储池好似砖头堆成的建材池逻辑卷LV是弹性的存储空间如同可随时切割的房间LVM 则是整个弹性空间的管理者。1.2 LVM 核心管理工具集物理卷、卷组、逻辑卷的管理命令按功能分类如下加粗为最常用命令掌握这些即可功能物理卷PV管理卷组VG管理逻辑卷LV管理scan 扫描/查看pvsvgslvscreate 创建pvcreatevgcreatelvcreatedisplay 显示pvdisplayvgdisplaylvdisplayremove 删除pvremovevgremovelvremoveextend 扩展无vgextendlvextendremove删除使用中的逻辑卷必须先卸载挂载并删除对应/etx/fstab配置⚠️注意区分字母l与数字1避免1vcreate/Ivdisplay等书写错误。1.3 LVM 完整部署及使用全实操步骤以虚拟机中 20G 硬盘/dev/sdb为基础采用 MBR 分区模式划分 2 个 2G 主分区/dev/sdb1、/dev/sdb2完成从磁盘分区到逻辑卷永久挂载的全流程。步骤1环境准备与磁盘分区通过 VMware 添加 20G SCSI 类型硬盘系统识别为/dev/sdb使用fdisk划分 2 个 2G 主分区[rootlocalhost ~]# lsblk /dev/sdb # 查看新磁盘确认识别[rootlocalhost ~]# fdisk /dev/sdb # 进入分区工具# 创建 sdb12G 主分区n → p → 分区号 1 → 起始扇区默认 → 结束扇区 2G# 创建 sdb22G 主分区n → p → 分区号 2 → 起始扇区默认 → 结束扇区 2G# 查看分区表p# 保存并退出w[rootlocalhost ~]# partprobe /dev/sdb # 刷新分区表让系统识别新分区[rootlocalhost ~]# lsblk /dev/sdb # 验证分区结果步骤2创建物理卷PV将空闲分区转换为物理卷支持批量创建[rootlocalhost ~]# pvcreate /dev/sdb1 /dev/sdb2 # 批量创建 PV[rootlocalhost ~]# pvs # 查看 PV 创建结果步骤3创建卷组VG将多个物理卷整合为卷组示例命名为systemvg整合后容量约 4G[rootlocalhost ~]# vgcreate systemvg /dev/sdb1 /dev/sdb2 # 整合 PV 为 VG[rootlocalhost ~]# vgs # 查看 VG 创建结果步骤4创建逻辑卷LV从卷组中划分指定大小的逻辑卷核心参数-L指定大小、-n指定名称[rootlocalhost ~]# lvcreate -L 180M -n vo systemvg # 创建 LV[rootlocalhost ~]# lvs # 查看 LV 创建结果易错点指定名称后不要忘记后接卷组名步骤5格式化逻辑卷将逻辑卷格式化为主流文件系统如 ext4[rootlocalhost ~]# mkfs.ext4 /dev/systemvg/vo # 格式化为 ext4[rootlocalhost ~]# blkid /dev/systemvg/vo # 查看文件系统信息步骤6挂载逻辑卷临时 永久逻辑卷需挂载至指定目录才能使用临时挂载重启失效永久挂载需编辑/etc/fstab# 临时挂载[rootlocalhost ~]# mkdir /vo # 创建挂载点[rootlocalhost ~]# mount /dev/systemvg/vo /vo # 执行挂载# 永久挂载[rootlocalhost ~]# vim /etc/fstab # 编辑配置文件# 添加行/dev/systemvg/vo /vo ext4 defaults 0 0[rootlocalhost ~]# mount -a # 验证挂载配置[rootlocalhost ~]# df -hT # 验证挂载结果[rootlocalhost ~]# echo 123 /vo/test01.txt # 写入测试文件[rootlocalhost ~]# cat /vo/test01.txt # 读取文件验证可读写1.4 LVM 动态扩容核心实操分两种场景LVM 的核心优势是动态扩容不中断使用。扩容需完成两步核心操作更新逻辑卷空间更新文件系统大小仅扩容逻辑卷文件系统无法识别新空间。扩容前需先判断卷组空间是否充足并根据文件系统类型选择不同的刷新命令文件系统类型刷新命令ext3 / ext4resize2fsxfsxfs_growfs场景1卷组空间充足直接扩容 LV 刷新文件系统以将/dev/systemvg/vo从 180M 扩容至 300M 为例# 步骤1扩容逻辑卷[rootlocalhost ~]# lvextend -L 300M /dev/systemvg/vo[rootlocalhost ~]# lvs # 查看 LV 已扩容# 此时 df -Th 查看文件系统仍为原大小# 步骤2刷新 ext4 文件系统[rootlocalhost ~]# resize2fs /dev/systemvg/vo[rootlocalhost ~]# df -Th # 验证文件系统已扩容至 300M场景2卷组空间不足准备新磁盘/分区 → 先扩 VG → 再扩 LV → 最后刷新文件系统以将/dev/systemvg/vo扩容至 5G 为例原 VG 仅 4G空间不足需先划分新分区并扩容卷组# 步骤1划分 6G 新分区 /dev/sdb3[rootlocalhost ~]# fdisk /dev/sdb # n → p → 分区号 3 → 6G → w[rootlocalhost ~]# partprobe /dev/sdb # 刷新分区表# 步骤2扩容卷组卷组扩容时会自动将新分区转换为物理卷[rootlocalhost ~]# vgextend systemvg /dev/sdb3[rootlocalhost ~]# vgs # 验证 VG 扩容结果约 10G# 步骤3扩容逻辑卷[rootlocalhost ~]# lvextend -L 5G /dev/systemvg/vo[rootlocalhost ~]# lvs # 验证 LV 已扩容至 5G# 步骤4刷新文件系统[rootlocalhost ~]# resize2fs /dev/systemvg/vo[rootlocalhost ~]# df -Th # 验证文件系统已扩容至 5G1.5 卷组的 PE 设置LVM 空间划分的最小单位PEPhysical Extent物理扩展是卷组划分空间的最小单位直接决定逻辑卷的空间划分精度是 LVM 的核心底层参数。 默认 PE 大小为4M创建卷组时可指定也可对已存在的卷组进行修改。1.5.1 PE 基础特性只能多给、不能少给创建逻辑卷时若目标空间不是 PE 的整数倍系统会自动分配下一个整数倍的 PE 空间如 250M 按 4M PE 计算实际分配 252M即 63 × 4 252MPE 大小决定划分精度默认 4M 精度较低可自定义为 1M 实现精准划分1.5.2 PE 大小的设置与修改# 查看当前 PE 大小默认 4M[rootlocalhost ~]# vgdisplay systemvg | grep PE Size# 方式1创建卷组时指定 PE示例 1M[rootlocalhost ~]# vgcreate -s 1M systemvg /dev/sdb1 /dev/sdb2# 方式2修改已存在卷组的 PE示例 1M[rootlocalhost ~]# vgchange -s 1M systemvg# 验证 PE 修改结果[rootlocalhost ~]# vgdisplay systemvg | grep PE Size⚠️注意vgchange -s命令仅支持修改未激活的卷组生产环境操作前请确保已停用卷组中的逻辑卷。1.5.3 按 PE 个数创建逻辑卷除了用-L指定具体大小还可通过-l小写 L指定PE 个数创建逻辑卷# 创建 600 个 PE 的逻辑卷PE 为 1M 则为 600MPE 为 4M 则为 2400M[rootlocalhost ~]# lvcreate -l 600 -n testvo03 systemvg[rootlocalhost ~]# lvs # 查看 LV 大小1.6 LVM 综合实操案例修改systemvg卷组 PE 为 4M创建 2G 逻辑卷film格式化为 xfs 并永久挂载至/film扩容至 4G 并刷新文件系统# 1. 修改 PE 为 4M[rootlocalhost ~]# vgchange -s 4M systemvg# 2. 创建 2G 逻辑卷[rootlocalhost ~]# lvcreate -L 2G -n film systemvg# 3. 格式化为 xfs[rootlocalhost ~]# mkfs.xfs /dev/systemvg/film# 4. 永久挂载[rootlocalhost ~]# mkdir /film[rootlocalhost ~]# echo /dev/systemvg/film /film xfs defaults 0 0 /etc/fstab[rootlocalhost ~]# mount -a# 5. 扩容至 4G[rootlocalhost ~]# lvextend -L 4G /dev/systemvg/film# 6. 刷新 xfs 文件系统[rootlocalhost ~]# xfs_growfs /dev/systemvg/film# 7. 验证结果[rootlocalhost ~]# lvs df -Th二、RAID 磁盘阵列效率与冗余的磁盘整合方案RAID 即廉价冗余磁盘阵列Redundant Arrays of Inexpensive Disks通过硬件或软件技术将多个较小/低速的磁盘整合为一个大容量虚拟磁盘核心价值是提升 I/O 读写效率和实现硬件级别的数据冗余。2.1 主流 RAID 级别核心原理与特性课程重点讲解RAID 0、RAID 1、RAID 10、RAID 5四种级别RAID 级别核心原理特点适用场景RAID 0条带模式将同一文件分散存储在不同磁盘并行写入/读取磁盘利用率 100%I/O 读写性能最高无容错性单盘损坏则所有数据丢失仅追求效率不要求数据安全的场景如临时文件存储RAID 1镜像模式将同一文件复制多份分别写入不同磁盘磁盘利用率 ≤50%I/O 读写性能最低有容错性单盘损坏可从镜像恢复数据安全性要求极高效率要求低的场景RAID 10组合模式先做 RAID 1 镜像再对镜像组做 RAID 0 条带磁盘利用率 ≤50%I/O 读写性能中等容错性高每组镜像中仅坏 1 块数据不丢失兼顾效率与安全的企业核心业务如数据库存储RAID 5高性价比模式分布式校验R0和R1的折中方案数据分散存储校验数据分布式存放在各磁盘磁盘利用率 (n-1)/nI/O 读写性能较高有容错性单盘损坏可通过校验恢复兼顾成本、效率与安全企业最常用了解RAID 6:在RAID 5的基础上再加一块盘用来校验2.2 RAID 各级别核心参数对比对比项RAID 0RAID 1RAID 10RAID 5最少磁盘数≥2≥2≥4≥3磁盘利用率100%≤50%≤50%(n-1)/n专用校验盘无无无无分布式校验容错性无有有有I/O 读写性能高低中较高2.3 RAID 阵列的两种实现方式对比项硬 RAID软 RAID管理主体RAID 控制卡专用硬件操作系统的 RAID 软件如 Linux 的mdadm数据流程主板 → RAID 阵列卡 → 磁盘 → 操作系统 → 数据主板 → 磁盘 → 操作系统 → RAID 软件 → 数据优势硬件级管理不占用系统 CPU/内存性能高、稳定性强无需专用硬件成本低配置灵活劣势需要专用 RAID 阵列卡硬件成本较高占用系统 CPU/内存资源性能略低于硬 RAID三、课程核心总结与实操关键点LVM 和 RAID 作为 Linux 存储领域的核心技术分别解决了空间弹性管理和磁盘效率与冗余的问题。3.1 核心知识总结LVM是支持动态扩容的虚拟分区技术核心三层架构为物理卷PV→ 卷组VG→ 逻辑卷LV解决了物理分区空间零散、无法动态扩容的痛点LVM 的核心操作包括创建PV → VG → LV、格式化、挂载以及根据卷组空间是否充足的两种扩容方式扩容后必须刷新文件系统才能让系统识别新空间PE是卷组划分空间的最小单位默认 4M可自定义大小支持按 PE 个数-l或具体大小-L创建逻辑卷RAID通过整合多块磁盘实现效率提升和数据冗余RAID 0 追效率、RAID 1 追可靠、RAID 10 兼顾二者、RAID 5 高性价比企业首选RAID 的实现方式分为硬 RAID硬件管理性能高、成本高和软 RAID软件管理成本低、占用系统资源3.2 实操关键点LVM 命令集牢记 PV/VG/LV 的创建、查看、扩展命令区分字母l和数字1避免书写错误文件系统刷新严格区分 ext3/ext4resize2fs和 xfsxfs_growfs的刷新命令不可混用RAID 核心判断根据场景快速判断所需 RAID 级别重点掌握各级别的最少磁盘数、利用率、容错性LVM 扩容逻辑先判断卷组空间是否充足不足时需先扩容卷组vgextend且卷组扩容会自动将新分区转换为物理卷无需手动创建 PV通过掌握 LVM 和 RAID 的核心技术可实现 Linux 系统存储的弹性化、高效化和高可用化满足不同业务场景下的存储需求是 Linux 进阶运维的必备技能。