Linux LVM 镜像逻辑卷创建与故障恢复指南
更新时间 2025-08-01 17:57:54
最近更新时间: 2025-08-01 17:57:54
本文档将指导您如何在 Linux 系统上制作 LVM 镜像逻辑卷,并提供从 LVM 镜像故障中恢复的步骤。
一、LVM 镜像卷概述
LVM 镜像卷通过在不同物理卷上维护相同数据的副本提供数据冗余,类似 RAID 1,当单个磁盘故障时能确保数据可用。关键特点包括:
实时数据同步:写入操作同时复制到所有镜像设备
自动故障转移:主设备故障时自动切换到镜像副本
在线恢复:可在系统运行时更换故障设备并重建镜像
二、创建 LVM 镜像逻辑卷
本文档以 /dev/nvme0n1
、/dev/nvme1n1
作为示例,操作时请根据实际情况进行替换。
1. 创建物理卷(PV)
pvcreate /dev/nvme{0,1}n1
2. 创建卷组(VG)
vgcreate data /dev/nvme0n1 /dev/nvme1n1
3. 创建镜像逻辑卷(LV)
lvcreate -l 100%FREE -m1 -n app data /dev/nvme0n1 /dev/nvme1n1
命令参数说明:
-l 100%FREE
:使用卷组100%的可用空间-m1
:创建1个镜像副本(共2份数据)-n app
:逻辑卷名称为app
4. 创建文件系统并挂载
# 创建XFS文件系统
mkfs.xfs /dev/mapper/data-app
# 创建挂载点
mkdir /app
# 编辑/etc/fstab添加条目
echo "/dev/mapper/data-app /app xfs defaults 0 0" >> /etc/fstab
# 重新加载并挂载
systemctl daemon-reload
mount -a
以上请根据业务实际使用情况替换挂载点和文件系统类型。
5. 验证镜像状态
lvs -a -o +devices
输出示例:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
app data rwi-aor--- 9.99g 100.00 app_rimage_0(0),app_rimage_1(0)
[app_rimage_0] data iwi-aor--- 9.99g /dev/nvme0n1(1)
[app_rimage_1] data iwi-aor--- 9.99g /dev/nvme1n1(1)
[app_rmeta_0] data ewi-aor--- 4.00m /dev/nvme0n1(0)
[app_rmeta_1] data ewi-aor--- 4.00m /dev/nvme1n1(0)
三、镜像逻辑卷故障恢复操作
当 LVM 镜像中的一个物理卷发生故障时,LVM 会自动将其转换为线性卷,系统仍可运行但失去冗余保护。以下是单个磁盘故障(/dev/nvme1n1损坏)恢复流程示例:
1. 检查卷组状态
vgdisplay data
若显示 WARNING: VG data is missing PV
等警告信息,表明有设备丢失;此时有磁盘故障,但 LVM 镜像仍可挂载,读写操作不受影响。
2. 移除故障磁盘
# 从卷组中移除故障磁盘(卷组名 data 根据实际情况替换)
vgreduce --removemissing data --force
注意
换盘前必须先从卷组中移除故障磁盘。
3. 更换完故障磁盘后添加新磁盘到卷组
# 初始化新磁盘
pvcreate /dev/nvme1n1
# 添加到卷组
vgextend data /dev/nvme1n1
4. 修复镜像卷
lvconvert --repair -y data/app
5. 重新建立镜像副本
lvconvert -m1 -y /dev/data/app /dev/nvme0n1 /dev/nvme1n1
6. 确认镜像同步完成
lvs -a -o +devices
输出示例:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
app data rwi-aor--- 9.99g 36.23 app_rimage_0(0),app_rimage_1(0)
[app_rimage_0] data iwi-aor--- 9.99g /dev/nvme0n1(1)
[app_rimage_1] data iwi-aor--- 9.99g /dev/nvme1n1(1)
[app_rmeta_0] data ewi-aor--- 4.00m /dev/nvme0n1(0)
[app_rmeta_1] data ewi-aor--- 4.00m /dev/nvme1n1(0)
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
app data rwi-aor--- 9.99g 100.00 app_rimage_0(0),app_rimage_1(0)
[app_rimage_0] data iwi-aor--- 9.99g /dev/nvme0n1(1)
[app_rimage_1] data iwi-aor--- 9.99g /dev/nvme1n1(1)
[app_rmeta_0] data ewi-aor--- 4.00m /dev/nvme0n1(0)
[app_rmeta_1] data ewi-aor--- 4.00m /dev/nvme1n1(0)
此时等到 Cpy%Sync
字段显示 100.00 后即同步完成。