DRS移花接木 高可用动态调度
DRS移花接木 高可用动态调度
一、 动态资源调度简介
动态资源调度(Dynamic Resource Scheduling),简称DRS,作为H3Cloud云计算方案中高可靠性技术的代表,是一种全自动化的资源分配和负载平衡功能,通过持续不断地监控集群内计算资源池的利用率,并根据数据中心的实际需要,在虚拟机中智能地分配其所需的资源。
在虚拟化和云计算环境中,一旦客户将服务器整合到资源较少的物理主机上,虚拟机的资源需求往往会成为意想不到的瓶颈,全部资源需求很有可能超过主机的可用资源。H3Cloud云计算软件提供的动态负载均衡特性引入一个自动化机制,通过将虚拟机迁移到有更多可用资源的主机上,持续地平衡容量,确保每个虚拟机在任何节点都能及时地调用相应的资源。即便大量运行SQL Server的虚拟机,只要开启了动态资源调整功能,就不必再对CPU和内存的瓶颈进行一一监测,可以显著地降低数据中心的成本与运营费用。
二、 DRS作用原理
1. 自动迁移条件
系统定期对本主机的CPU和内存占用率进行检测,无论是否满足虚拟机迁移的条件,无论是否迁移虚拟机,当此次检测完毕以后,继续以每分钟轮询一次的方式等待下一次检测时间点的到来,下一次检测的时间点是从本次检测结束起,经过“检查时间间隔”后的时间点。
动态资源调度会在满足条件的主机上在线自动迁移虚拟机到另一台主机上,满足条件包括持续时间、CPU利用率阈值、内存利用率阈值、检查时间间隔。
如图1所示,为DRS开启后的默认参数
图1
持续时间:到达某一次检测时间点时,对CPU和内存在此前“持续时间”时间段内的值进行统计,若二者均始终在阈值以上,则达到DRS生效的条件;
CPU/内存利用率阈值超过:CPU和内存均超过该数值,并满足持续时间,DRS会生效,这里要注意一下,系统对于CPU和内存数值的统计和判断并非来源于服务器运行的实时数值,而是WEB页面中的CPU/内存条形统计值,如图2所示;
图2
检查时间间隔:检测的周期,新的周期开始会进行对CPU和内存的检测,若“持续时间”内CPU或内存低于阈值,则到达检测时间点时不会发生DRS迁移虚拟机。
2. 自动迁移过程
系统到达检测时间点时,向前回溯,在“持续时间”内若CPU和内存均一直超过设定的阈值,即满足了迁移条件,DRS机制会在本主机所有运行的虚拟机中,选择一个内存占用率最小的虚拟机,迁移到另一台主机上,如图3所示
图3
值得注意的是,被选择迁移的虚拟机,可能使用共享存储,也可能使用本地存储,若是共享存储,则会成功迁移至另一台主机;但如果是本地存储的虚拟机,会迁移失败,等待下一轮检测的开始。根据图1设定,周期检测机制流程如图4所示
图4
三、 DRS功能演示
1. 开启和关闭DRS功能
增加集群时,勾选开启动态资源调度并自定义数值
图5
在集群中选择动态资源调度,依然可以修改
图6
对于不允许自动迁移的虚拟机,在增加虚拟机时取消动态资源调度,也可以在修改虚拟机中取消动态资源调度
图7
2. DRS自动迁移过程演示
集群中有两台主机,其中一台是CVM本身,另一台是CVK,CVK上没有运行虚拟机,将集群的动态资源调度数值调整为如下所示
图8
CVK和CVM上建有共享文件系统
图9
在CVM上运行两个空虚拟机,存储均建立在上述共享文件系统基础上
图10
在CVM的主机后台运行脚本,使WEB页面中条形统计数值CPU使用率提高到80%以上,内存也提高到50%左右,分别在10分钟和20分钟后,两个虚拟机迁移到了另一台主机上。
图11
四、 总结
以上实验目的在于演示DRS功能生效的场景,不代表DRS仅是在达到条件后机械地迁移虚拟机。在实际场景中,DRS的作用体现为会根据物理主机一段时间内的运行状态动态地迁移虚拟机以平衡集群的资源分配。
动态资源调度功能通过集群心跳机制,定时检测集群内主机的CPU和内存利用率,并根据用户自定义的规则来判断是否需要为该主机在集群内寻找有更多可用资源的主机,以将该主机上的虚拟机迁移到另外一台具有更多合适资源的服务器上,或者将该服务器上其它的虚拟机迁移出去,从而为某个虚拟机腾出更多的“空间”。
自动迁移的前提是虚拟机使用共享存储,如果现场环境虚拟机均使用共享存储,则所有虚拟机均有参与DRS功能迁移调度的机会。本地存储的虚拟机如果当次检测被选择作为迁移的虚拟机,则此次迁移无效,检测停止,等待下一次检测和选举。