LVM 与磁盘管理
LVM 架构
三层抽象:物理卷 PV → 卷组 VG → 逻辑卷 LV
LVM 完整操作流程
# 1. 创建物理卷
pvcreate /dev/sdb /dev/sdc
# 2. 创建卷组
vgcreate data_vg /dev/sdb /dev/sdc
# 3. 创建逻辑卷
lvcreate -L 100G -n lv_app data_vg
# 4. 格式化并挂载
mkfs.xfs /dev/data_vg/lv_app
mkdir /app
mount /dev/data_vg/lv_app /app
# 5. 写入 /etc/fstab 持久化
echo '/dev/data_vg/lv_app /app xfs defaults 0 0' >> /etc/fstab
LVM 在线扩容
# 扩容逻辑卷(+50G)
lvextend -L +50G /dev/data_vg/lv_app
# 扩容文件系统
# XFS
xfs_growfs /app
# EXT4
resize2fs /dev/data_vg/lv_app
提示
LVM 最大优势:在线扩容,无需停机。这是生产环境选择 LVM 的核心原因。
RAID 级别
| RAID | 最少磁盘 | 读写性能 | 冗余 | 可用空间 |
|---|---|---|---|---|
| RAID 0 | 2 | 读写都快 | 无 | 100% |
| RAID 1 | 2 | 读快写正常 | 镜像 | 50% |
| RAID 5 | 3 | 读快写一般 | 1 块奇偶校验 | (N-1)/N |
| RAID 10 | 4 | 读写都快 | 镜像+条带 | 50% |
信息
生产环境数据库推荐 RAID 10(兼顾性能和冗余),日志/备份可用 RAID 5。
常见面试问题
Q1: 磁盘空间不足时如何扩容?
答案:
- 有 LVM:
lvextend+xfs_growfs/resize2fs在线扩容 - 无 LVM(云环境):扩大 EBS/云盘 →
growpart扩分区 → 扩文件系统 - 无法扩容:清理日志(
> /var/log/xxx.log截断)、删除大文件(find / -size +100M)、移动数据到新磁盘