用 lvcreate -s 创建的是只读快照而非克隆;真正克隆需通过创建快照后重命名为普通LV、取消快照属性、格式化并挂载实现,适用于需长期独立副本的场景。

直接用 lvcreate -s 创建的是快照(snapshot),不是克隆(clone)。快照是写时复制的只读视图,生命周期短、空间共享、依赖原卷;而“克隆副本卷”指完全独立、可读写、脱离原卷的逻辑卷——LVM 本身不提供原生命令一步生成这种克隆,但可通过“快照 + 激活 + 取消快照属性”组合实现真正克隆。
确认是否真需要克隆而非快照
多数热备份场景实际只需快照:毫秒创建、零中断、配合 rsync/dd 备份即可。克隆适用于需长期保留独立副本、测试回滚、迁移或隔离运行等场景。若只是为保障备份一致性,快照已足够,无需额外克隆。
用 lvcreate -s 创建快照作为克隆起点
确保源逻辑卷在 LVM 管理下,且卷组有足够空闲空间(建议 ≥ 原卷活跃数据变更量的 20%):
lvcreate -L 2G -s -n lv_data_clone_snap /dev/vg0/lv_data-
lvs vg0/lv_data_clone_snap查看状态,确认 Attr 中含 s(表示 snapshot) - 此时快照卷
/dev/vg0/lv_data_clone_snap是只读的,不可直接当克隆使用
将快照转为可读写、独立的克隆卷
核心操作:先激活快照,再用 lvconvert --splitmirrors 或更可靠的方式——取消快照属性并重命名:
- 卸载快照(如已挂载):
umount /mnt/snap - 解除快照关联(关键步骤):
lvconvert --merge /dev/vg0/lv_data_clone_snap❌ 错误!这是合并回原卷,不是克隆 - 正确做法:先停用快照,再用
lvrename并重新激活为普通 LV:lvchange -an /dev/vg0/lv_data_clone_snaplvrename vg0 lv_data_clone_snap lv_data_clonelvconvert --type linear /dev/vg0/lv_data_clonelvchange -ay /dev/vg0/lv_data_clone - 验证:
lvs -o +attr vg0/lv_data_clone应显示 -wi-a-----(无 s 标志,即非快照)
格式化并挂载克隆卷
克隆卷此时是空白块设备,需格式化后才能使用:
-
mkfs.xfs /dev/vg0/lv_data_clone(或mkfs.ext4,与原卷一致) mkdir -p /mnt/clonemount /dev/vg0/lv_data_clone /mnt/clone- 如需同步原卷当前数据,可用
rsync -aHAXx --delete /mnt/original/ /mnt/clone/
至此,/dev/vg0/lv_data_clone 是一个与原卷同大小、可独立读写、不依赖原卷的完整克隆副本,可用于测试、归档或灾备切换。


















