虚拟机调度策略
虚拟机调度策略可为虚拟机分配主机资源编排策略,用于保障业务高性能和高可用。支持将虚拟机加入一个虚拟机调度组,通过为该虚拟机调度组绑定调度策略实现虚拟机调度。
功能原理
ZSphere支持将虚拟机加入一个虚拟机调度组,通过为该虚拟机调度组绑定调度策略实现虚拟机调度。
- 若绑定互斥虚拟机或聚集虚拟机策略,无需指定主机调度组,虚拟机按照策略及其执行机制分配主机。
- 若绑定虚拟机亲和主机或虚拟机互斥主机调度策略,需指定对应的主机调度组,虚拟机按照策略及其执行机制分配主机。
下文通过四个场景说明四类调度策略的工作原理:
场景1:假定数据中心内有三台主机Host1、Host2、和Host3。虚拟机调度组A已绑定互斥虚拟机调度策略,且虚拟机VM1和VM2已加入该调度组,并分别运行在主机Host1和Host2上。此时将虚拟机VM3加入该调度组,不同执行机制下虚拟机VM3行为如下:
- 强制机制下,虚拟机VM3遵循与组内其他虚拟机强制互斥原则:
- 若主机Host3资源充足,可正常在Host3上启动并运行。
- 若主机Host3资源不足,无法在Host3上启动。
- 优先机制下,虚拟机VM3遵循与组内其他虚拟机尽量互斥原则,优先在Host3上启动:
- 若主机Host3资源充足,可正常在Host3上启动并运行。
- 若主机Host3资源不足,VM3可尝试在其他资源充足的主机上启动。在该场景下,VM3在Host2上启动并运行。
如图 1所示:图 1. 互斥虚拟机 (强制/优先)


场景2:假定数据中心内有两台主机Host1和Host2。虚拟机调度组A已绑定聚集虚拟机调度策略,且虚拟机VM1和VM2已加入该调度组,并运行在主机Host1上。此时将虚拟机VM3加入该调度组,不同执行机制下虚拟机VM3行为如下:
- 强制机制下,虚拟机VM3遵循与组内其他虚拟机强制聚集原则:
- 若主机Host1资源充足,可正常在Host1上启动并运行。
- 若主机Host1资源不足,无法在Host1上启动。
- 优先机制下,虚拟机VM3遵循与组内其他虚拟机尽量聚集原则,优先在Host1上启动:
- 若主机Host1资源充足,可正常在Host1上启动并运行。
- 若主机Host1资源不足,VM3可尝试在其他资源充足的主机上启动。在该场景下,VM3在Host2上启动并运行。
如图 2所示:图 2. 聚集虚拟机 (强制/优先)


场景3:假定数据中心内有三台主机Host1、Host2、和Host3。虚拟机调度组A已绑定虚拟机互斥主机调度策略,且虚拟机VM1和VM2已加入该调度组,并运行在主机Host1上。主机调度组A也已绑定虚拟机互斥主机调度策略,且主机Host2和Host3上已加入该调度组,分别运行两台虚拟机。此时将虚拟机VM3加入虚拟机调度组A,不同执行机制下虚拟机VM3行为如下:
- 强制机制下,虚拟机VM3遵循与主机调度组A内的主机强制互斥原则:
- 若主机Host1资源充足,可正常在Host1上启动并运行。
- 若主机Host1资源不足,无法在Host1上启动。
- 优先机制下,虚拟机VM3遵循与主机调度组A内的主机尽量互斥原则,优先在Host1上启动:
- 若主机Host1资源充足,可正常在Host1上启动并运行。
- 若主机Host1资源不足,VM3可尝试在其他资源充足的主机上启动。在该场景下,VM3在Host2上启动并运行。
如图 3所示:图 3. 虚拟机互斥主机 (强制/优先)


场景4:假定数据中心内有三台主机Host1、Host2、和Host3。虚拟机调度组A已绑定虚拟机亲和主机调度策略,且虚拟机VM1~VM5已加入该调度组,并分别运行在主机Host2和Host3上。主机调度组A也已绑定虚拟机亲和主机调度策略,且主机Host2和Host3上已加入该调度组。此时将虚拟机VM6加入虚拟机调度组A,不同执行机制下虚拟机VM6行为如下:
- 强制机制下,虚拟机VM3遵循与主机调度组A内的主机强制聚集原则:
- 若主机Host2或Host3资源充足,可正常在Host2或Host3上启动并运行。
- 若主机Host2和Host3资源不足,无法在Host2或Host3上启动。
- 优先机制下,虚拟机VM3遵循与主机调度组A内的主机尽量聚集原则,优先在Host2或Host3上启动:
- 若主机Host2或Host3资源充足,可正常在Host2或Host3上启动并运行。
- 若主机Host2和Host3资源不足,VM6可尝试在其他资源充足的主机上启动。在该场景下,VM3在Host1上启动并运行。
如图 4所示:图 4. 虚拟机亲和主机 (强制/优先)


