lvm mirror可实现无需硬件raid的跨盘实时镜像,同一数据同步写入两块独立物理硬盘,单盘故障自动降级为线性模式,业务无感知;需确保设备为真实独立硬盘,通过pvcreate、vgcreate、lvcreate -m1三步在线创建,lvs验证mwi-属性及rimage/mlog组件。

直接用 LVM Mirror 就能为逻辑卷配置镜像冗余,不依赖硬件 RAID 卡,同一份数据实时写入两块独立物理盘,单盘故障时自动降级为线性模式继续服务,业务无感知。
选对物理设备是前提
镜像必须基于真实、独立的物理硬盘,不能是同一块盘的两个分区(否则无法防止单盘故障)。操作前请确认:
- 用 lsblk 或 lshw -class disk 查看设备,例如 /dev/nvme0n1 和 /dev/sdb(注意区分 NVMe 与 SATA 设备)
- 若设备已有文件系统或 LVM 签名,先清空元数据:dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=100
- 两盘容量尽量接近——LVM 镜像可用空间以较小者为准,差异过大会浪费空间
三步创建镜像逻辑卷(全程在线)
无需重启、无需停服务,按顺序执行:
- pvcreate /dev/nvme0n1 /dev/sdb —— 初始化物理卷
- vgcreate vg_data /dev/nvme0n1 /dev/sdb —— 组建卷组
-
lvcreate -L 80G -m1 -n lv_app vg_data /dev/nvme0n1 /dev/sdb —— 创建镜像逻辑卷
其中 -m1 表示保留 1 个额外副本(共 2 份),末尾必须明确指定两块成员盘
验证镜像状态是否生效
运行 lvs -a -o +devices,正确输出应包含:
- 主 LV 行的 Attr 列含 mwi-(mirror + write-intent log)
- 下方带 [lv_app_rimage_0] 和 [lv_app_rimage_1] 的行,分别对应两块物理盘
- 带 [lv_app_mlog] 的行,说明日志已自动创建(通常放在较小盘起始 PE 区域)
模拟故障测试自动接管能力
为验证冗余真实有效,可做安全测试:
- 卸载逻辑卷:umount /dev/vg_data/lv_app
- 模拟单盘离线(如拔掉 /dev/sdb 电源,或执行 echo 1 > /sys/block/sdb/device/delete)
- 重新挂载:mount /dev/vg_data/lv_app /mnt —— 若成功,说明已自动转为线性模式
- 再运行 lvs,Attr 列变为 lwi-,表示镜像中断但读写正常











