本文只是记录技术细节,需要您对ovirt有一定的了解,相关技术基础,请自行谷歌之。 ovirt界面(engine)执行过程过程: (1) 数据中心采用iscsi块存储。根据模板创建一个虚拟机(只有一个磁盘)。 (2) 给虚拟机的磁盘创建一个snapshot。 (3) 删除此snapshot。 上述操作过程中,vdsm的采取的动作: (1) 根据模板创建一个虚拟机后,对应虚拟机的一个磁盘会在存储域建立两个LV软连接, 如下: lrwxrwxrwx. 1 svserver kvm 78 Feb 27 16:38 2cf00d5f-1bd6-4449-8a33-66d4424d1231 -> /dev/21c53c8a-8c8f-44db-8125-d6f378bfde2d/2cf00d5f-1bd6-4449-8a33-66d4424d1231 lrwxrwxrwx. 1 svserver kvm 78 Feb 27 16:38 9497267f-1df4-4f60-889a-6c3c440da2c3 -> /dev/21c53c8a-8c8f-44db-8125-d6f378bfde2d/9497267f-1df4-4f60-889a-6c3c440da2c3 其中 9497267f-1df4-4f60-889a-6c3c440da2c3 是模板的镜像, 而 2cf00d5f-1bd6-4449-8a33-66d4424d1231 是基于这个模板的镜像文件。这两块镜像一起构成了虚拟机的磁盘。 (2)虚拟机创建snapshot之后,目录下增加了新的镜像文件 096edc8b-1ce4-42bb-b50c-75e2caa758cc。 lrwxrwxrwx. 1 svserver kvm 78 Feb 27 16:41 096edc8b-1ce4-42bb-b50c-75e2caa758cc -> /dev/21c53c8a-8c8f-44db-8125-d6f378bfde2d/096edc8b-1ce4-42bb-b50c-75e2caa758cc lrwxrwxrwx. 1 svserver kvm 78 Feb 27 16:38 2cf00d5f-1bd6-4449-8a33-66d4424d1231 -> /dev/21c53c8a-8c8f-44db-8125-d6f378bfde2d/2cf00d5f-1bd6-4449-8a33-66d4424d1231 lrwxrwxrwx. 1 svserver kvm 78 Feb 27 16:38 9497267f-1df4-4f60-889a-6c3c440da2c3 -> /dev/21c53c8a-8c8f-44db-8125-d6f378bfde2d/9497267f-1df4-4f60-889a-6c3c440da2c3 新的文件096edc8b-1ce4-42bb-b50c-75e2caa758cc 是以2cf00d5f-1bd6-4449-8a33-66d4424d1231 为基础文件。 (3) 虚拟机删除snapshot时候,执行如下命令: /usr/bin/qemu-img rebase -t none -T none -f qcow2 -F qcow2 -b ../0a804dc8-76e5-4195-b56a-0e059a4a1f92/9497267f-1df4-4f60-889a-6c3c440da2c3 /rhev/data-center/mnt/blockSD/21c53c8a-8c8f-44db-8125-d6f378bfde2d/images/0a804dc8-76e5-4195-b56a-0e059a4a1f92/096edc8b-1ce4-42bb-b50c-75e2caa758cc 可以看到,删除snapshot的时候,并不会删除096edc8b-1ce4-42bb-b50c-75e2caa758cc,而是修改它的backfile, 将backfile 由2cf00d5f-1bd6-4449-8a33-66d4424d1231 改为模板9497267f-1df4-4f60-889a-6c3c440da2c3, 同时删除2cf00d5f-1bd6-4449-8a33-66d4424d1231,从而完成了snapshot的删除。 小技巧 (1) 如何将engine上的磁盘和vsdm管理的磁盘联系起来? 在engine上磁盘界面找到磁盘的uuid, 然后再主机上执行 find /rhev/ -name uuid 即可。 (责任编辑:IT) |