Hyper-V 反亲和性
Hyper-V Anti Affinity
我正在尝试使用群集 Hyper-V 设置设置反亲和性,但我正在努力让任何 VM 保持分离。好像是反亲和根本就没有兑现。
设置:
- 3 个 Hyper-V 服务器(服务器 1、服务器 2、服务器 3)
- 3 个虚拟机(web_test_1、web_test_2、web_test3)
尝试 1:
我 运行 服务器 1 上的以下脚本:
$WEBAntiAffinity = New-Object System.Collections.Specialized.StringCollection
$WEBAntiAffinity.Add("WEB Servers")
(Get-ClusterGroup –Name WEB_TEST_1).AntiAffinityClassNames = $WEBAntiAffinity
(Get-ClusterGroup –Name WEB_TEST_2).AntiAffinityClassNames = $WEBAntiAffinity
(Get-ClusterGroup –Name WEB_TEST_3).AntiAffinityClassNames = $WEBAntiAffinity
Get-ClusterGroup |Select-Object -Property name,AntiAffinityClassNames
在我 运行 上述操作之前所有三个虚拟机都已关闭,并且都在服务器 1 上创建。
开机时,全部开机,一直在server1上。
尝试 2:
我 运行 在其他服务器(server2 和 server3)上使用上面的相同脚本。
我关闭了虚拟机并重新启动它们,它们再次全部保留在服务器 1 上。
尝试 3:
在所有服务器上安装 运行 脚本后,我一台一台地重新启动了服务器。在重新启动期间,虚拟机在节点之间正常移动,但是当所有重新启动时,我停止了所有虚拟机,将它们移动到服务器 1,然后再次启动它们。
我的假设是 2 会在开机前移动,但那并没有发生,它们都在服务器 1 上启动。
有人知道我做错了什么吗?我是否缺少一些先决条件?我在网上找不到大量示例。
这在 Microsoft 的文档中并未具体提及,但要使 anti-affinity 规则在 Hyper-V 中起作用,您还需要 System Center Virtual Machine Manager (SCVMM)。 SCVMM 读取 anti-affinity 规则(以及其他规则,例如相似性、优先级等)并执行迁移以应用这些规则。
这相当于vmware堆栈,其中ESXi是管理程序,VM配置包含规则,Director或vSphere实际应用规则。
我正在尝试使用群集 Hyper-V 设置设置反亲和性,但我正在努力让任何 VM 保持分离。好像是反亲和根本就没有兑现。
设置:
- 3 个 Hyper-V 服务器(服务器 1、服务器 2、服务器 3)
- 3 个虚拟机(web_test_1、web_test_2、web_test3)
尝试 1: 我 运行 服务器 1 上的以下脚本:
$WEBAntiAffinity = New-Object System.Collections.Specialized.StringCollection
$WEBAntiAffinity.Add("WEB Servers")
(Get-ClusterGroup –Name WEB_TEST_1).AntiAffinityClassNames = $WEBAntiAffinity
(Get-ClusterGroup –Name WEB_TEST_2).AntiAffinityClassNames = $WEBAntiAffinity
(Get-ClusterGroup –Name WEB_TEST_3).AntiAffinityClassNames = $WEBAntiAffinity
Get-ClusterGroup |Select-Object -Property name,AntiAffinityClassNames
在我 运行 上述操作之前所有三个虚拟机都已关闭,并且都在服务器 1 上创建。
开机时,全部开机,一直在server1上。
尝试 2: 我 运行 在其他服务器(server2 和 server3)上使用上面的相同脚本。
我关闭了虚拟机并重新启动它们,它们再次全部保留在服务器 1 上。
尝试 3: 在所有服务器上安装 运行 脚本后,我一台一台地重新启动了服务器。在重新启动期间,虚拟机在节点之间正常移动,但是当所有重新启动时,我停止了所有虚拟机,将它们移动到服务器 1,然后再次启动它们。
我的假设是 2 会在开机前移动,但那并没有发生,它们都在服务器 1 上启动。
有人知道我做错了什么吗?我是否缺少一些先决条件?我在网上找不到大量示例。
这在 Microsoft 的文档中并未具体提及,但要使 anti-affinity 规则在 Hyper-V 中起作用,您还需要 System Center Virtual Machine Manager (SCVMM)。 SCVMM 读取 anti-affinity 规则(以及其他规则,例如相似性、优先级等)并执行迁移以应用这些规则。
这相当于vmware堆栈,其中ESXi是管理程序,VM配置包含规则,Director或vSphere实际应用规则。