Archive for 2012-05-10

在XenCenter中使用命令删除XenServer虚拟机快照

在XenCenter中可以直接使用桌面化的操作方式将快照进行删除,但那样删除之后,还是存在快照占用磁盘空间的问题。在官网查找了一下文档,发现可以使用命令对快照占用的磁盘进行回收,尝试了一下,但效果不明显。 接下来介绍如何在资源池中对虚拟机快照删除之后的资源进行回收,环境描述:两台XenServer主机同时加入到了一个资源池,使用共享虚拟存储存放虚拟机,并启用了HA功能。 由于在对系统进行安全补丁更新时,为了保证系统在更新补丁之后能够正常运行,一般都会对虚拟机进行快照备份,这样即使安全补丁更新之后,造成系统不能正常运行,还是能够使用快照进行快速恢复的,采用快照方式进行备份,也是一种常用的应急恢复方案。之前都是在Windows Hyper-V的环境中对虚拟机进行快照备份和恢复,这次的环境却是XenServer。之前都没有尝试过对XenServer中的虚拟机进行备份和恢复操作,所以第一次在XenServer上进行快照备份操作,在进行快照备份时还是挺顺利的,只有一台虚拟机因为磁盘占用空间太大,未能完成快照备份。其他虚拟机均正常快照备份。在完成虚拟机系统补丁更新之后,测试发现所有系统均能正常运行,故没有做恢复操作。由于之前对虚拟机虚拟磁盘本身分配资源比较小,所以决定将快照文件进行删除,但删除之后,磁盘空间还是未能回收,处于占用状态。 获取虚拟机UUID 可以直接在XenCenter里面选中对应的虚拟机,在 General里面可以看到UUID信息,要是显示不出来,可以在View中选择Hidden Objects选项,再打开虚拟机的General选项里面查看。 另外一种方式就是在XenServer主机里面使用命令进行查看UUID,进入XenServer的console里面,输入: xe vm-list就可以看到对应的虚拟机的UUID码了。 显示所有快照的列表命令 删除对应快照的命令: 另一种销毁快照的命令: 回收虚拟机快照所占磁盘空间的命令: 说明host-uuid为主机的uuid,vm-uuid为虚拟机的uuid,host-uuid也是可以在General选项里面查看到的。 使用上面的命令,对删除快照之后的磁盘容量回收效果不是很好,大概只能回收1G左右的空间,对于FC类的存储空间来说,跟回收之前没多大区别。 官方提示: • 思杰建议运行离线合并工具前,手动关闭或暂停虚拟机的运行(使用XenCenter或XenServer CLI)。如果您在处于运行状态的虚拟机上运行合并工具,工具会自动暂停虚拟机运行,执行所需的VDI合并操作,然后恢复虚拟机运行。 • 如果欲合并的虚拟磁盘镜像(VDI)保存在共享存储,您必须在资源池主服务器(pool master)上运行离线合并工具。 • 如果欲合并的VDI保存在本地存储,您必须在与本地存储相关联的服务器上运行离线合并工具。