记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。
如何回收Xenserver 删除虚拟机快照后释放的空间

 

概要

本文介绍了如何在删除快照或克隆虚拟机后,使用离线合并(Off-line Coalesce)工具回收磁盘空间。

背景资料

在基于LVM的Local EXT和NFS SR上删除快照或克隆虚拟机后,通过释放未使用的数据,XenServer可自动回收磁盘空间,此过程称之为合并(coalescing)。XenServer可在虚拟机运行的同时合并磁盘空间(即在线合并)。

但是,XenServer 5.5的合并部署有一个已知的限制条件。在虚拟机磁盘上删除所有快照或克隆虚拟机后,一些磁盘空间可能仍然处于分配状态。尽管NFS和基于ext的SR的已删除快照或克隆虚拟机所消耗的空间非常少,但对于iSCSI FC和本地SR来说,消耗的空间量是非常巨大的。

为了消除这一局限性,XenServer 5.5 Update 1和更高版本引进了一个离线合并工具。该工具可在虚拟机暂时关闭或暂停使用(离线)时,回收之前分配给已删除快照或克隆的所有磁盘空间。下面介绍了离线合并工具及其使用。

警告!

    • 运行此脚本会导致虚拟机暂时无法使用,因为执行了暂停/恢复操作。

    • 运行此工具前,您必须使用XenCenter或XenServer CLI删除与虚拟机相关的所有快照和克隆。否则,脚本就会失败,工具就会显示错误信息,然后退出。

    • 所有虚拟机磁盘必须在单个主机的共享存储或本地存储上。带有这两种存储类型的磁盘的虚拟机无法合并。

步骤 - 适用于XenServer 5.5 Update 1和更高版本

思杰建议对将运行空间回收工具的虚拟机进行备份,可使用XenCenter导出选项进行备份。
您必须知道虚拟机的UUID。

获取UUID

    1. 在XenCenter中,启用隐藏目标(View menu > Hidden Objects)。

    1. 在Resource窗格中,选择所需UUID对应的虚拟机。UUID将显示在General项中。

回收磁盘空间

    1. 在XenServer CLI中运行以下命令:
    coalesce-leaf –u <uuid of VM>


    例如,如果虚拟机的UUID是2a8d2815-c97e-245b-efe2-389ba456bd7p,您需要运行以下命令:
    coalesce-leaf –u 2a8d2815-c97e-245b-efe2-389ba456bd7p

    1. 此命令会暂时中止虚拟机的运行(除非其已经关机),启动回收进程,然后恢复虚拟机运行。

根据上次快照后写入磁盘的数据量的大小,所需的时间也不同。最小的虚拟机(10GB或更低)只需不到1分钟。

步骤 - 适用于XenServer 5.6

思杰建议对将运行空间回收工具的虚拟机进行备份,可使用XenCenter导出选项进行备份。
您需要知道虚拟机和主机UUID。

获取UUID

    1. 在XenCenter中,启用隐藏目标(View menu > Hidden Objects)。

    1. 在Resource窗格中,选择所需UUID对应的虚拟机。UUID将显示在General项中。

    1. 在Resource窗格中,选择资源池主机(列表中的第一台主机)。UUID将显示在General项中。如果您没有使用资源池,选择虚拟机所在的主机。

回收磁盘空间

    1. 在XenServer CLI中运行以下命令:
    xe host-call-plugin host-uuid=<host-UUID> plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=<VM-UUID>


    例如,如果虚拟机的UUID是9bad4022-2c2d-dee6-abf5-1b6195b1dad5,主机UUID是b8722062-de95-4d95-9baa-a5fe343898ea,您需要运行以下命令:
    xe host-call-plugin host-uuid=b8722062-de95-4d95-9baa-a5fe343898ea plugin=coalesce-leaf fn=leaf-coalesce args:vm_uuid=9bad4022-2c2d-dee6-abf5-1b6195b1dad5

    1. 此命令会暂时中止虚拟机的运行(除非其已经关机),启动回收进程,然后恢复虚拟机运行。

更多信息

    • 思杰建议运行离线合并工具前,手动关闭或暂停虚拟机的运行(使用XenCenter或XenServer CLI)。如果您在处于运行状态的虚拟机上运行合并工具,工具会自动暂停虚拟机运行,执行所需的VDI合并操作,然后恢复虚拟机运行。

    • 如果欲合并的虚拟磁盘镜像(VDI)保存在共享存储,您必须在资源池主服务器(pool master)上运行离线合并工具。

    • 如果欲合并的VDI保存在本地存储,您必须在与本地存储相关联的服务器上运行离线合并工具。



转载请标明出处【如何回收Xenserver 删除虚拟机快照后释放的空间 】。

《www.micoder.cc》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论