VMware的分布式资源调度(Distributed Resource Scheduler,DRS)可以持续不断地监控VMware主机集群中资源池的利用率,并能够根据商业需要在虚拟机中智能地分配其所需的资源。通过动态分配和平衡计算资源,VMware DRS能够整合服务器,降低IT成本,增强灵活性;减少停机时间,保持业务的持续性和稳定性;减少需要运行服务器的数量以及动态地切断当前未需使用的服务器的电源,提高了能源的利用率。
一旦客户将服务器整合到资源较少的物理主机上,虚拟机的资源需求往往会成为意想不到的瓶颈,全部资源需求很有可能超过主机的可用资源。VMware DRS则提供了一个自动化机制,通过持续地平衡容量将虚拟机迁移到有更多可用资源的主机上,确保每个虚拟机在任何节点都能及时地调用相应的资源。即便大量运行SQL Server的虚拟机,只要采用了DRS,就不必再对CPU和内存的瓶颈进行一一监测。全自动化的资源分配和负载平衡功能,也可以显著地降低数据中心的成本与运营费用。
VMware DRS运作方式
VMware DRS允许用户自已定义规则和方案来决定虚拟机共享资源的方式以及它们之间优先权的判断根据。当一台虚拟机的工作负载增加时,VMware DRS会根据先前定义好的分配规则对虚拟机的优先权进行评估。如果该虚拟机通过了评估,那么DRS就为它分配额外的资源,当主机资源不足的时候,DRS就会将寻找集群中有多余可用资源的主机,并将这个虚机迁移到上面,以调用更多的资源进行其重负载业务。
VMware DRS在虚拟机中自动智能地平衡资源
DRS分配资源的方式有两种:将虚拟机迁移到另外一台具有更多合适资源的服务器上,或者将该服务器上其他的虚拟机迁移出去,从而为该虚拟机腾出更多的“空间”。虚拟机在不同物理服务器上的实时迁移是由VMotion来实现。VMware DRS具有自动模式和手动模式两种方式。在自动模式中,DRS自行进行判断,拟定虚拟机在物理服务器之间的***分配方案,并自动地将虚拟机迁移到最合适的物理服务器上。在手动模式中,VMware DRS提供一套虚拟机放置的***方案,然后由系统管理员决定是否根据该方案对虚拟机进行调整。
DRS资源分配方式一
DRS资源分配方式二
资源池灵活的分层布局令可用的IT资源与商业组织的要求能够保持同步。业务部门不但能够得到专用的IT资源,而且依然享有资源池的所有效益,将所有性能资源***化的利用起来,同时也降低无谓的支出和消耗。
部署VMware DRS
部署VMware DRS其实很简单,其中复杂的主要是制定DRS的各项阀值和规则,给各个主机可供共享使用的处理器性能和内存容量,所谓阀值就是一个系统水位警报线,这可以根据物理机的硬件配置自行定义的,当资源占用到达这个阀值时候,VMware的集群管理器就会根据规则进行自动的操作或者给管理员一个操作的建议,对比传统意义上的群集,基于VMware DRS上的VM Cluster更能体现智能和自动化配置的技术。
部署Cluster的时候就可以配置DRS和HA
部署集群时,DRS和HA可以一起配置也可以单独进行,并以此来决定这集群中各个虚拟服务器的工作模式,是否执行HA高可用以及DRS动态分配资源。
根据集群和应用的复杂度选择各种自动化水平
VMware DRS可以选择多个层次自动化策略,可以完全手动也可以选择极度“激进”的全自动DRS策略。如果是全自动策略,集群管理器会根据规则和阀值进行服务器的迁移,这个过程也许会不作提示,我们测试过程中很多时候就发现,虚拟服务器其实已经转换了主机位置,不过这已经是“事后”的发现了。
VMware DRS的电源管理DPM与自动化管理有一样的多个不同程度选择,开启电源管理功能后,多个主机的资源会被合并计算,管理器会自动的将多个服务器集中到一个主机上,然后多余的主机会进入休眠,以达到节能的目的,在资源需求量上升的时候,也会自动唤醒这个休眠的主机,来提供更多的可用资源。
VMware DRS的电源管理
VMware EVC
VMware EVC(Enhanced VMotion Compatibility)是通过CPU硬件底层支持的在线热迁移方案(Intel通过Flex Migration实现,AMD通过Extended Migration实现),允许虚拟层面上支持CPUID 掩码功能,屏蔽某些CPU功能,通过强制CPU指令集兼容来实现不同CPU系列之间的VMotion。
VMotion功能在实战中的意义是非常重要的,但是VMotion对于CPU的要求比较苛刻,对于不同系列CPU是无法自动实现VMotion的功能。在VI的实施过程中,会碰到一个群组里面的服务器CPU不同的情况。比如从前服务器是基于Intel 5300的CPU,而新购买的服务器是基于Intel 5500的CPU,由于新处理器增加了新的SSE指令集,导致新服务器加入群集后,无法实现虚拟机从旧服务器到新服务器的VMotion操作。
没有EVC之前,解决方案是通过手工计算CPU掩码,逐个修改每个虚拟机的配置文件或者全局修改VC服务器上的vpxd.cfg来实现不同系列CPU之间兼容性的问题。这样做的缺点是需要人工设计对于群集中所有服务器兼容的CPU Masking,并且,当群集中有新的服务器加入后,为了避免可能的不兼容情况,需要再次手工计算一个新的CPU Masking。
使用EVC功能后,以上所有的手工工作都由VC和ESX Server完成了,这是VMware通过和CPU厂商的合作,通过在硬件底层上直接支持CPUID 掩码功能。不过要注意的是,即便使用EVC,也不能将Intel服务器上的虚机迁移到AMD主机上。所以EVC只有三个选项:禁用、Intel或者AMD。
集群配置完成
主机上添加新虚机自动加入刚才新建的群集
自此配置完成这个Cluster以后,上面的虚机就可以使用VMware DRS带来的功能特性。在集群或者虚拟机级别上,可以指定DRS的操作模式:自动,手动和半自动。VMware推荐对于群集来说,默认使用自动模式。对于那些对VMotion比较敏感的虚拟机,建议使用手动模式。使用这个模式,管理员可以决定是否以及何时迁移虚机。而对于一般的虚机,则应该尽可能地使用自动模式。因为虚拟机在自动模式下,能够根据平衡工作量的需要,自动地进行迁移,从而提高了工作效益。
【编辑推荐】