qocw快照链特性

1、创建快照链基础节点,并nbd挂载到指定路径,往qcow中写文件

qemu-img create -f qcow2 snap1.qcow2 100g

qemu-nbd -c /dev/nbd0 snap1.qcow2

mkfs.xfs /dev/nbd0

mkdir snap1_dir; mount /dev/nbd0 snap1_dir

echo '111' > aaa.txt; echo '222' > bbb.txt

umount -l snap1_dir; qemu-nbd -d /dev/nbd0

2、新建节点,指向snap1,删除aaa.txt创建ccc.txt

qemu-img create -f qcow2 -b snap1.qcow2 snap2.qcow2 100g

qemu-nbd -c /dev/nbd0 snap2.qcow2

mkdir snap2_dir; mount /dev/nbd0 snap2_dir

rm -f aaa.txt; echo '333' > ccc.txt

umount -l snap1_dir; qemu-nbd -d /dev/nbd0

再次挂起snap1查看其中的文件,snap1的大小和内容不变。

经验证,节点二的修改对节点一的数据没有改动,节点1中仍然存在aaa和bbb。

总结:

qcow快照链后面节点的增删改只对当前节点中对应地址进行标记或修改,对前面节点保存的数据没有影响。且删除操作只是对地址做标记,qcow大小不会改变,新增数据是qcow大小将相应增大,即快照链总大小只会增大永远不会减小。

上一篇:【翻译】使用 Swiftnav Piksi Multi的PPP方案结果分析


下一篇:vmware虚拟机镜像制作成QCOW2