我们知道,多台ESX host组成一个集群cluster,可以提供相同的高级功能。通常同一机房计算机会放入一个DataCenter,提供同一功能的多台ESX服务器会放入一个集群cluster当中。那么这跟DRS有什么关系呢。
一、DRS简介
vSphere Distributed Resource Scheduler(DRS) 的主要功能是将多个host构成的的群集cluster作为一个计算资源进行管理(主要是CPU、内存、存储的管理)。可以将虚拟机分配到群集,DRS 会找到运行该虚拟机的相应主机。DRS 放置虚拟机以平衡群集中的负载,并强制执行群集范围内的资源分配策略(如预留、优先级和限制)。打开虚拟机电源时,DRS 在主机上执行虚拟机的初始放置。当群集条件更改(例如,负载和可用资源)时,DRS 可根据需要使用 vMotion 将虚拟机迁移到其他主机。
如下图所示,三台HOST配置均为CPU:4GHz,16GB的内存。如果是单台HOST,那么CPU和内存的使用均不可以超过4GHz与16G。但是三台HOST组成一个集群后,他们的命运便被绑在了一起,有难同当,有福同享。统一调配资源,以达到负载均衡。通俗的讲,就是在承受的前提下,大家干的活合理分配。从图来看,会计部门必须保证一台拥有host的CPU和内存(其中的VM虚拟机可以分配在三台HOST上面,但是必须保证拥有4GHz的cpu和16GB的内存)。
vSphere DRS原理图如下,通过观察可以知道,还是利用Vmotion的原理,将负荷高的host上的vm迁移到负荷相对低的host上面,以达到资源的合理分配。
DRS 收集群集(Cluster)中所有主机和虚拟机的资源使用情况信息,并在出现以下两种情况之一时给出建议(或迁移虚拟机):
1. 初始放置位置 – 当您首次启动群集中的某个虚拟机时,DRS 将放置该虚拟机或提出放置建议。
2. 负载平衡 – DRS 会尝试通过执行虚拟机的自动迁移 (VMotion) 或提供虚拟机迁移建议提高群集中的资源利用率。
二、 vSphere Cluster的配置
1. 右键点击数据中心“新建集群”,我这里之前已经建立好了。由于实验环境限制,还是使用俩台ESX HOST构建资源池。
2. 启用cluster的DRS功能。
3. 选择DRS级别,这里先选择手动,当然也可以选择自动,电源管理选择关闭即可。虚拟机选项,可以设定特定的虚拟机,不使用DRS的默认级别。
4. EVC配置,这里选择不使用。由于Vmotion的要求非常严格,EVC用于将不同型号的INTEL或者AMD系列CPU之间可以相互迁移。注意的是,即使启用EVC,能将Intel服务器上的虚机迁移到AMD主机上.
5. 虚拟机交换文件策略默认即可,规则,这里可以根据需要添加一系列的相应规则,关于规则,稍候会再进一步介绍。
6. 添加主机,已经在数据中心的主机可用直接拖动到集群中
7. 添加完之后可以看到在集群下面有两台esx主机和4台虚拟机,这些虚拟机属于集群而不是某台esx服务器。
三、 vSphere DRS 测试
1.由于我这里DRS级别是手动,所以启动一台虚拟机时DRS会建议适合运行这台VM的最佳ESX主机,如下所示(如果全自动的话,系统会自动选择虚拟机运行的最恰当的主机):
2.查看Cluster的DRS界面,我们可以看到DRS已经显示ESX/ESXi host负载不均衡,并给出了它的建议:
3.从下图的CPU和内存的使用率可以看到,101这台主机虚拟机比较多,而102这台则是闲死了。
4.在DRS栏中,选择应用DRS的建议(手动或者半自动状态才会显示建议):
5.一段时间后,Cluster内的两台Host性能得到了均衡,DRS把其中一台VM使用vMotion迁移到了另外一台闲的102当中:
6. vSphere DRS规则的设置
为了更加方便的使用,vSphere DRS还设置了不同的应用规则,比方说限制某些VM必须在特定主机运行,或者某俩个VM不能在同一主机运行等等。。。
1)首先创建一个DRS组,然后创建一个虚拟机的DRS组。
2) 单独的虚拟机:指定DRS组的VM必须分开在不同的主机DRS组运行;
聚集的虚拟机:指定DRS组的VM必须分开在相同的主机DRS组运行;
虚拟机到主机:可以指定特定的VM组必须在组中的主机上运行,应在组中的主机上运行,不得在组中的主机上运行,不应在组中的主机上运行。
如果俩个规则有冲突,那么是无法执行的,如下图所示。
总结:Vsphere DRS通过对cluster中的不同host的vm的管理,合理、有效的将集群中的CPU、内存等资源进行分配,极大的解放了管理员的工作,这也是vmware的高明之处。当然,接下来我们会介绍vmware HA以及FT的功能,通过一系列的高级,vmware基本保证了应用的零宕机,大大降低的企业的风险。