返回首页

Linux RAID 与 LVM 基础指南 — 磁盘组合与空间管理

📅 创建于 2026-05-29 🔄 更新于 2026-05-29 📝 663 字

来源:赵楠 | 发布日期:2026-05-15

Linux RAID 与 LVM 基础指南

RAID 解决「多块硬盘怎么组合才能更快、更安全」。LVM 解决「磁盘空间怎么管理才能更灵活、方便扩容」。文件系统管数据怎么存放,挂载点决定用户从哪里访问。

核心分工

职责 工具/技术
RAID 硬盘组合(性能+冗余) mdadm, 硬件 RAID 卡
LVM 空间分配(灵活扩缩) pvcreate, vgcreate, lvcreate
文件系统 数据组织存放 mkfs.xfs, mkfs.ext4
挂载点 访问入口 mount, /etc/fstab

RAID:独立磁盘冗余阵列

RAID 级别对比

级别 最少盘 容量利用率 冗余 特点 适合场景
RAID 0 2 100% 条带化,速度最快 临时数据、缓存
RAID 1 2 50% 1 盘 镜像,读性能好 系统盘、关键配置
RAID 5 3 (N-1)/N 1 盘 分布式奇偶校验 文件存储、读多写少
RAID 6 4 (N-2)/N 2 盘 双校验,更安全 大容量、数据安全要求高
RAID 10 4 50% 每组 1 盘 先镜像再条带 数据库、高并发业务

核心原则: RAID 防硬盘故障,备份防数据丢失。两者不可替代。

各级别详解

RAID 0(条带化)

  • 数据分散写到多块硬盘,同时读写 → 速度快
  • 但任意一块盘坏 → 数据全丢
  • ⚠️ 无冗余,不要用于重要数据

RAID 1(镜像)

  • 数据同时写到两块硬盘,一块坏了另一块完整可用
  • 读性能提升(可以并发读),写性能等于单盘
  • 容量减半(2 块盘只能用到 1 块的容量)

RAID 5(分布式奇偶校验)

  • 数据 + 校验信息分布在所有盘上
  • 坏 1 块盘可重建,但重建期间有风险
  • 写入性能较差(需计算校验)

RAID 6(双校验)

  • 比 RAID 5 多一层校验,可坏 2 块盘
  • 写入性能更低,适合对安全要求极高的场景

RAID 10(镜像+条带)

  • 先做 RAID 1 镜像,再做 RAID 0 条带
  • 性能和冗余兼得,但成本较高(利用率 50%)
  • 数据库、高并发业务首选

LVM:逻辑卷管理

分层架构

┌─────────────────────────────┐
│  挂载点(/data)             │
├─────────────────────────────┤
│  文件系统(xfs / ext4)      │
├─────────────────────────────┤
│  LV(逻辑卷)                │
├─────────────────────────────┤
│  VG(卷组)                  │
├─────────────────────────────┤
│  PV /dev/sdb  /dev/sdc      │  ← 物理硬盘或分区
└─────────────────────────────┘

核心概念

组件 全称 说明
PV Physical Volume 物理卷,硬盘或分区的 LVM 抽象
VG Volume Group 卷组,多个 PV 组成一个存储池
LV Logical Volume 逻辑卷,从 VG 中划分出的可用空间
PE Physical Extent 物理扩展块,LVM 的最小存储单元

常用命令操作

# 一、PV 阶段
pvscan                              # 查看所有 PV
pvcreate /dev/sdb /dev/sdc          # 将硬盘初始化为 PV
pvdisplay                           # 查看 PV 详情

# 二、VG 阶段
vgcreate vg_data /dev/sdb /dev/sdc  # 创建 VG
vgs                                 # 查看 VG 摘要
vgdisplay vg_data                   # 查看 VG 详情
vgextend vg_data /dev/sdd           # 扩展 VG(加新盘)

# 三、LV 阶段
lvcreate -L 100G -n lv_data vg_data           # 创建 100G LV
lvcreate -l 100%FREE -n lv_data vg_data       # 使用全部剩余空间
lvs                                             # 查看 LV 摘要
lvdisplay                                       # 查看 LV 详情
lvextend -L +50G /dev/vg_data/lv_data           # LV 扩容 +50G
lvextend -l +100%FREE /dev/vg_data/lv_data      # LV 使用 VG 全部剩余空间

# 四、文件系统阶段
mkfs.xfs /dev/vg_data/lv_data                   # 格式化
mount /dev/vg_data/lv_data /data                # 挂载

# ⚠️ 扩容 LV 后必须扩展文件系统
xfs_growfs /data                                # XFS 扩容
resize2fs /dev/vg_data/lv_data                  # ext4 扩容

记住: lvextend → 仅扩 LV 层,必须再执行 xfs_growfs/resize2fs 扩文件系统层。

lsblk 查看全貌

lsblk
# NAME                 MAJ:MIN  SIZE  TYPE  MOUNTPOINT
# sda                    8:0     100G  disk
# ├─sda1                 8:1       1G  part  /boot
# └─sda2                 8:2      99G  part
#   └─centos-root      253:0      50G  lvm   /
# sdb                    8:16     1T   disk
# └─vg_data-lv_data    253:1     1T   lvm   /data

常见组合方案

场景 推荐方案 说明
系统盘(OS) RAID 1 2 块盘做镜像,系统稳定运行
数据盘(DB/VM) RAID 10 + LVM 性能+冗余兼备,LVM 方便扩容
文件存储 RAID 5/6 + LVM 容量优先,读多写少
测试环境 单盘或 RAID 0 追求速度,不关心数据安全

5 个常见陷阱

⚠️ RAID ≠ 备份 — RAID 防硬盘故障,备份防数据丢失。重要数据必须有独立备份。

⚠️ 扩容 LV 后忘扩文件系统lvextend 后必须 xfs_growfs/resize2fs,否则 df -h 看不到变化。

⚠️ 不同文件系统用错命令 — XFS 用 xfs_growfs,ext4 用 resize2fs,混用会报错。

⚠️ 操作前不确认设备名/dev/sda vs /dev/sdb 搞错后果严重。操作前三确认:设备名正确?数据已备份?有回滚方案?

⚠️ 不监控 RAID 状态 — RAID 降级后系统仍运行,再坏一块盘就出大事故。必须监控阵列状态。

学习路径建议

先建立认知,不需要死记命令:

  1. 理解分层:硬盘 → RAID → PV → VG → LV → 文件系统 → 挂载点
  2. 掌握 RAID 核心区别:RAID 0/1/5/6/10 各解决什么问题
  3. 掌握 LVM 核心命令:pvcreate → vgcreate → lvcreate → mkfs → mount
  4. 掌握扩容流程:加盘 → pvcreate → vgextend → lvextend → xfs_growfs
  5. 了解硬件 RAID vs 软件 RAID 的区别

动手练习可在虚拟机中添加虚拟硬盘,依次执行上述命令。

关联页面

页面关联点
linux-disk-io-tuningLinux 磁盘 IO 调优(含 LVM SSD 缓存)
linux-disk-space-troubleshooting磁盘空间排查
linux-essential-commands-referenceLinux 常用命令
linux-kernel-tuning-guide内核参数调优(含 IO 调度器)
server-performance-four-dimensions四维性能排查(含磁盘 IO)
ops-interview-50-questions运维面试题(LVM 扩容 + RAID 对比)