虚拟机调度策略

虚拟机调度策略可为虚拟机分配主机资源编排策略,用于保障业务高性能和高可用。支持将虚拟机加入一个虚拟机调度组,通过为该虚拟机调度组绑定调度策略实现虚拟机调度。

功能原理

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. 虚拟机亲和主机 (强制/优先)