VM 放置
XenServer® 提供了多种方式,可用于定义池中的哪个主机启动或迁移您的 VM:
-
反亲和性放置组:当具有反亲和性放置规则的 VM 组中的 VM 从主机启动或撤离时,XenServer 会将 VM 放置在能够使该组最紧密地遵循组规则的主机上。有关详细信息,请参阅反亲和性放置组。
-
主服务器:此 VM 设置定义 XenServer 尝试启动 VM 的主机。如果设置了主服务器,则此设置的优先级高于同一 VM 上的任何 VM 组放置规则。有关详细信息,请参阅主服务器。
-
工作负载平衡:一个虚拟设备,用于监视您的池并提供重新平衡和放置建议,以最大化 VM 密度或资源性能。默认情况下,工作负载平衡放置优先于主服务器和反亲和性放置组设置。工作负载平衡放置建议可能会违反反亲和性规则。有关详细信息,请参阅工作负载平衡。
反亲和性放置组
您可以根据组的放置规则将 VM 分配到池中主机上启动的 VM 组。可用的放置类型为“反亲和性”和“正常”。
具有正常放置的 VM 组没有任何特殊行为。
具有反亲和性放置的 VM 组具有以下规则:
-
没有单个主机是特定组中所有正在运行的 VM 的唯一位置。
-
每个主机上组内 VM 的数量尽可能均匀。
当具有反亲和性放置规则的 VM 组中的 VM 从主机启动或撤离时,XenServer® 会选择将 VM 放置在能够使 VM 组尽可能紧密地遵循这些反亲和性放置规则的主机上。如果无法在不违反放置规则的情况下完成 VM 启动或主机撤离,XenServer 会优先完成操作而不是遵循放置规则。
如果违反了反亲和性规则,您会收到警报。如果反亲和性组中所有正在运行的 VM 都驻留在单个主机上,则会生成警报。如果情况发生变化,警报将被清除。如果组中只有一个 VM 正在运行或没有 VM 正在运行,则不会生成此警报。有关详细信息,请参阅XenCenter 警报。
在以下情况下,VM 组放置规则不生效:
-
在启用了工作负载平衡 (WLB) 的池中,VM 组不用于启动、重新启动、恢复或迁移 VM。相反,工作负载平衡通过分析 XenServer 资源池指标并推荐优化来为 VM 提名最佳服务器。这些建议可能会导致 VM 反亲和性规则被违反。
-
如果虚拟机定义了主服务器,则此设置优先于虚拟机组设置。
使用虚拟机组时的注意事项:
-
每个池仅支持 5 个反亲和组。
-
克隆虚拟机组中的虚拟机时,新虚拟机不会添加到同一虚拟机组。您必须为新虚拟机显式设置虚拟机组。
-
如果将虚拟机还原到以前的快照,则虚拟机将保留其当前的虚拟机组设置。此设置不会更改为拍摄快照时的值。
-
导出虚拟机不会保留虚拟机组设置。如果再次导入此虚拟机,它不会添加到虚拟机组。您必须为导入的虚拟机显式设置虚拟机组。
将虚拟机添加到组
您只能将虚拟机添加到单个虚拟机组。
在 XenCenter® 中,使用以下方法之一将虚拟机添加到组:
-
在新建虚拟机向导的虚拟机组选项卡中,您可以选择要将虚拟机添加到的虚拟机组,也可以创建新组。有关详细信息,请参阅创建新虚拟机。
-
在 XenCenter 的资源窗格中,您可以右键单击虚拟机或选定的虚拟机集,然后选择分配到虚拟机组。子菜单显示可用的虚拟机组,并提供创建新虚拟机组的选项。虚拟机的当前虚拟机组用复选标记表示。
-
在 XenCenter 的资源窗格中,您可以右键单击池并选择管理虚拟机组。有关详细信息,请参阅管理虚拟机组。
-
在 XenCenter 主菜单中,您可以选择虚拟机 > 分配到虚拟机组。子菜单显示可用的虚拟机组,并提供创建新虚拟机组的选项。虚拟机的当前虚拟机组用复选标记表示。
-
在 XenCenter 主菜单中,您可以选择池 > 管理虚拟机组。有关详细信息,请参阅管理虚拟机组。
要使用 xe CLI 将虚拟机添加到组,请运行以下命令:
xe vm-param-set uuid=<vm_uuid> groups=<vm_group_uuid>
要获取 VM 和 VM 反亲和性组的 UUID,可以使用命令
xe vm-list 和 xe vm-group-list。
更改 VM 的组
一个 VM 只能属于一个 VM 组。如果您选择将 VM 添加到一个组,它将从之前所属的组中移除。
要更改 VM 所属的组:
在 XenCenter 中,您可以在以下位置之一更新 VM 的组:
-
在 XenCenter 的资源窗格中,您可以右键单击 VM 并选择分配到 VM 组。子菜单会显示可用的 VM 组,并提供创建新 VM 组的选项。VM 当前所属的 VM 组会用复选标记表示。
-
在 XenCenter 的资源窗格中,您可以右键单击池并选择管理 VM 组。有关详细信息,请参阅管理 VM 组。
-
在 XenCenter 主菜单中,您可以选择VM > 分配到 VM 组。子菜单会显示可用的 VM 组,并提供创建新 VM 组的选项。VM 当前所属的 VM 组会用复选标记表示。
-
在 XenCenter 主菜单中,您可以选择池 > 管理 VM 组。有关详细信息,请参阅管理 VM 组。
要使用 xe CLI 更改 VM 的组,请运行以下命令:
xe vm-param-set uuid=<vm_uuid> groups=<vm_group_uuid>
要获取 VM 和 VM 反亲和性组的 UUID,可以使用命令
xe vm-list 和 xe vm-group-list。
您还可以使用此命令将 VM 从亲和性组中移除。为此,请将
groups 参数的值留空。
xe vm-param-set uuid=<vm_uuid> groups=
使用 VM 组
您可以使用 XenCenter 中的管理 VM 组对话框来管理您的 VM 组。有关详细信息,请参阅管理 VM 组。
XenServer 提供以下 xe CLI 命令来处理 VM 组:
创建 VM 组:
xe vm-group-create placement=anti-affinity name-label=<name_label>
将
<name-label> 替换为您的组的名称。您还可以提供一个可选的 name-description 参数,用于设置组的描述。要创建一个其成员遵循反亲和性放置规则的组,请指定 placement=anti-affinity。选项 normal 也可用于参数 placement。普通放置组没有特殊行为或规则。
查看可用的 VM 组:
xe vm-group-list
删除 VM 组:
xe vm-group-destroy uuid=<vm_group_uuid>
您可以列出可用的 VM 组以查找组 UUID。
如果您删除一个包含 VM 的 VM 组,这些 VM 将不再与任何组关联,但不会受到其他影响。
主服务器
主服务器是为池中 VM 提供资源的服务器。当您为 VM 指定主服务器时,XenServer 总是尝试在该服务器上启动 VM(如果可能)。如果 XenServer 无法在该服务器上启动 VM,则会自动选择同一池中的备用服务器。
在以下情况下,主服务器指定不生效:
-
在启用了工作负载平衡 (WLB) 的池中,指定的主服务器不用于启动、重新启动、恢复或迁移 VM。相反,工作负载平衡通过分析 XenServer 资源池指标并推荐优化来为 VM 指定最佳服务器。
-
如果 VM 分配有一个或多个虚拟 GPU,则主服务器指定不生效。相反,服务器指定基于用户设置的虚拟 GPU 放置策略。有关详细信息,请参阅 GPU 放置策略。
指定主服务器
首次创建 VM 时设置主服务器:
在 XenCenter 中:
-
在新建 VM 向导中为 VM 指定主服务器时,请选择将 VM 放置在此服务器上,然后从列表中选择一个服务器。
-
如果您不想指定主服务器,请单击 不为此 VM 分配主服务器。VM 将使用最合适的可用服务器上的资源。
有关详细信息,请参阅创建新 VM。
使用 xe CLI:
-
要在创建 VM 期间指定主服务器,请运行命令
xe vm-param-set uuid=<vm_uuid> affinity=<host_uuid>。
注意:
如果您正在创建 BIOS 定制 VM,则复制 BIOS 字符串的 OEM 服务器将自动选作新 VM 的主服务器。
更改主服务器
要更改 VM 的主服务器配置:
在 XenCenter 中:
-
转到 VM 的属性对话框,然后转到主服务器选项卡。有关详细信息,请参阅更改 VM 属性。
使用 xe CLI:
-
要更改主服务器,请运行命令
xe vm-param-set uuid=<vm_uuid> affinity=<host_uuid>。 -
要从 VM 中删除主服务器,请运行命令
xe vm-param-set uuid=<vm_uuid> affinity=。(将affinity的值留空。)