配置调度策略
RHV 支持配置调度策略以在主机之间分配虚拟机。
这些策略混合使用过滤器和权重来确定 RHVM 将虚拟机放置在哪个主机上。
RHV 默认支持五种调度策略: Evenly_Distributed 、 InClusterUpgrade 、 None 、 Power_Saving 和 VM_Evenly_Distributed 。
每个策略都关联了一组属性来自定义其行为。
为集群配置调度策略:
在系统部分,转到集群选项卡。
选择集群,然后单击编辑。将显示一个标题为 Edit Cluster 的窗口。
调度策略部分包含当前调度策略。
RHVM 默认配置 None 调度策略。
默认配置不允许在过载的主机上部署虚拟机。
主机CPU负载高于80%超过2分钟,即为重载(overloading)。在选择策略部分,选择集群的策略。
每个调度策略都有一组不同的可配置属性。
例如,vm_evenly_distributed 策略具有相关的属性,例如:
- HighVmCount 属性配置每个主机的最大虚拟机数。过载的主机运行的次数超过此最大数量。默认值为 10.
- MigrationThreshold 属性在虚拟机从主机迁移之前配置缓冲区。默认值为 5.
- SpmVmGrace 属性定义在 SPM 主机上少运行多少虚拟机。默认值为 5.
完成后,单击“确定”以应用该策略。
手动迁移虚拟机
Red Hat Virtualization 支持在与同一集群关联的主机之间手动迁移虚拟机。
可以使用 RHVM 管理门户触发迁移。
虚拟机可以迁移到特定主机,也可以迁移到 RHV 自动选择的主机。
以管理员超级用户身份使用管理门户手动迁移虚拟机:
在系统部分,转到虚拟机选项卡。
选择要迁移的虚拟机。
在虚拟机的主机字段中,确定运行虚拟机的主机。选择要迁移的虚拟机后,单击顶部列中的迁移。
将出现一个标题为 Migrate Virtual Machine(s) 的窗口。要控制虚拟机迁移到哪个主机,请选中 Select Destination Host 复选框。
在菜单中,选择目标主机。
单击“确定”迁移虚拟机。在虚拟机选项卡中,检查虚拟机的状态字段。
迁移完成后,此状态将从迁移自转换为向上。验证虚拟机的主机字段是否包含预期的目标主机。
自动迁移和迁移策略
Red Hat Virtualization 环境的日常操作可能需要将主机离线进行升级和维护,或者主机上的负载更均匀地分布在集群中。
集群的迁移策略可以在某些情况下自动将运行在主机上的虚拟机迁移到其他主机。
例如,迁移策略可能指定如果原始主机进入维护模式,则在主机上运行的虚拟机应自动迁移到群集中的其他主机。
迁移策略还可用于配置调度策略,以在主机上达到特定资源使用阈值时支持虚拟机的自动迁移。
配置迁移策略
虚拟机迁移是一项网络密集型操作。
RHVM 通过网络将虚拟机的内存状态复制到新主机。
在主机运行十个或者更多虚拟机的情况下,迁移所有虚拟机可能是一个漫长且消耗资源的过程。
因此,管理员必须确保选择最适合其设置的策略操作。
注意:为了实时迁移工作,RHVM 将虚拟机状态实时复制到新主机。
迁移完成后,可能需要重新传输在迁移运行期间已更改的状态。
这个想法是,最终,迁移收敛,允许 RHVM 暂停虚拟机几分之一秒,并将最后几个更改传输到新主机。
此时,虚拟机将在新主机上取消暂停。
在某些情况下,一个非常繁忙的系统可能需要很长时间才能收敛。
迁移策略也决定了 Red Hat Virtualization 如何处理这种情况。
当主机进入维护模式时,红帽虚拟化管理器会自动启动主机上运行的所有虚拟机的实时迁移。
每个虚拟机的目标主机在虚拟机迁移时确定,以在集群中分散负载。
RHVM 还会根据当前策略自动启动虚拟机的实时迁移,以保持负载平衡或者节能级别。
RHVM 允许管理员禁用虚拟机的自动迁移。
可以通过将虚拟机设置为仅在特定主机上运行来禁用虚拟机的手动迁移。
迁移策略的配置包括弹性策略的配置,它决定了主机故障时的虚拟机迁移策略。
要使用管理门户为集群配置迁移策略:
在系统部分,转到集群选项卡。
选择集群,然后单击编辑。
将显示一个标题为“编辑集群”的窗口。
转至迁移策略部分以确定集群的当前迁移配置。在迁移策略部分,在迁移策略菜单中选择要应用的迁移策略。
默认迁移策略是最小停机时间策略。
最小停机时间迁移策略针对迁移期间虚拟机的最短暂停进行了优化,但如果聚合时间过长,则可能会中止迁移。
其他可用策略包括 Postcopy 迁移、根据需要暂停工作负载和 Legacy:
如果可能,复制后迁移策略还会针对最短暂停进行优化。
在此策略中,如果迁移长时间不收敛,则切换到后复制。
Postcopy 尽快启动目标主机中的虚拟机。
为此,只需将虚拟机内存的一个子集移动到目标主机。
如果虚拟机尝试访问不在目标主机中的内存页面,则会发出页面错误,源主机会传输该页面。
需要时暂停工作负载迁移策略支持大多数负载条件下的迁移,但如果虚拟机负载较重,则可能会出现较长的虚拟机暂停。
最后,Legacy 迁移策略支持 Red Hat Enterprise Virtualization 3.6 中使用的迁移策略。
- 带宽部分中包含的带宽限制了每台主机用于传出和传入迁移的最大带宽(以 Mbps 为单位)。
有三个可用选项:自动、Hypervisor 默认和自定义。
Auto 模式使用数据中心主机网络 QoS 中的速率限制设置。
如果没有定义速率限制设置,它会获取源主机和目标主机的 NIC 的最低速度。
Hypervisor 默认模式使用源主机上的 VDSM 设置。
自定义模式使用用户定义的带宽(以 Mbps 为单位)。
- 弹性策略设置主机故障时的虚拟机迁移策略。
RHVM 将在意外关闭或者进入维护模式的主机上运行的虚拟机迁移到集群中的其他主机。
RHV 支持使用迁移虚拟机策略迁移所有虚拟机,仅使用仅迁移高度可用的虚拟机策略迁移高度可用的虚拟机,或者使用不迁移虚拟机选项禁用虚拟机迁移。
注意:“添加属性”部分提供了一些添加设置。
只有在选择旧版迁移策略时才能配置这些设置
虚拟机迁移
实时迁移是指在虚拟机运行时将虚拟机从一台物理主机移动到另一台物理主机的过程。
RHVM 将虚拟机的内存、存储和网络连接从原始主机移动到目标。
实时迁移有助于在不中断正在运行的虚拟机的情况下支持主机上的维护任务。
实时迁移对最终用户是透明的。
当虚拟机迁移到新的物理主机运行时,虚拟机保持开启状态,并且用户应用程序继续运行。
与虚拟机通信的客户端在传输完成时应该注意到的网络暂停不会超过几毫秒。
为使实时迁移正常工作,新主机必须具有与原始主机具有相同架构和功能的 CPU。
红帽虚拟化通过将主机组织成集群来管理这一点。
虚拟机只能迁移到作为其集群成员的管理程序主机。
这有助于确保虚拟机不会在支持不同处理器功能集的计算机之间迁移。
管理员必须确保在使用之前正确配置他们的 Red Hat Virtualization 环境以支持实时迁移。
虚拟机的实时迁移需要以下配置准备工作:
- 虚拟机必须迁移到运行虚拟机的主机所在的同一集群中的主机。两台主机的状态都必须是 Up。
- 两台主机都必须能够访问相同的虚拟网络、VLAN 和数据存储域。
- 目标主机必须有足够的 CPU 容量和 内存 来支持虚拟机的要求。
- 虚拟机不得设置缓存!=none 自定义属性。 cache 参数为虚拟机配置不同的缓存模式。实时迁移需要禁用虚拟机缓存以确保一致的虚拟机迁移。
使用迁移网络执行实时迁移。
默认配置使用 ovirtmgmt 网络作为管理网络和迁移网络。
尽管每个实时迁移都受到最大传输速度的限制,并且可以同时运行的迁移数量也有上限,但并发实时迁移可以使管理和迁移流量共享的网络饱和。
为获得最佳性能,应拆分存储、迁移和管理网络以避免网络饱和。