vSphere部署系列之09——HA和DRS群集管理

vSphere部署系列之09——HA和DRS群集管理


群集(Cluster)是将多台物理主机组织起来,群集管理其中所有主机的资源,形成一个大的资源池。群集中的所有的虚拟机可在池中的任意主机上自由移动,并且群集可做到快速扩容和HA故障冗余。群集的前提条件是要有共享存储,所有虚拟机及其配置文件必须驻留在共享存储器上。


在前面的博文章节中,已搭建了比较基础的实验环境,实现了vCenter对ESXi主机的管理,网络管理、共享存储管理。在这种情况下,各物理主机之间的计算资源(CPU、内存)是完全独立的,在某台主机出现问题时,虚拟机的运行得不到保障。


为了达到计算资源的均衡利用,和更好的业务保障,接下来需要创建群集,并启用群集的HA和DRS解决方案。


实验环境总体规划,请见前面的博文《vSphere部署系列之03——实验环境总体规划》


 wKioL1e25-HBNFJ6AALXJy2rt0w665.png-wh_50

▲总体规划网络拓扑图



一、前期工作


在此前的操作中,已经配置了vMotion网络,并配置了共享存储。


为方便接下来的调试,先在每台服务器上新建并运行一个虚拟机。系统安装完成后,各虚拟机安装VMware Tools,并且,在CD/DVD的设置中,要断开与主机ISO镜像的连接(在装系统时会需要用到),否则在vMotion迁移时会报错。



二、新建群集


VMware建议首先创建空群集。在已计划群集的资源和网络架构之后,再使用 vSphere 客户端将主机添加到群集,并指定群集的VMware HA 设置。


本案是在vSpherer Client连接vCenter Server的主界面中进行。


选中左侧清单中的数据中心“SQ-DataCenter”,通过右击菜单中的“新建群集”子菜单,将会弹出“新建群集向导”对话框。


 wKiom1e26A_AJAQ_AAEZofsIQto872.png-wh_50

▲单击子菜单“新建群集”,将会弹出新建群集向导对话框


 wKioL1e26CXykkF5AAD4CtFg_rg422.png-wh_50

▲新建群集向导对话框,设备群集名称,本案设为“Cluster01”。

在这一步中直接勾选群集的两项功能,也可留作以后再配置。这里暂不勾选,创建一个空群集。


 wKiom1e26CaB3RUgAADKchXtOwY154.png-wh_50

▲VMware EVC设置。EVC(增加vMotion兼容性)能够屏蔽某些差异,提供了具有不同代次处理器的服务器之间的兼容性。这里选择默认的“禁用EVC”。本案中两台物理主机配置相同,不存在兼容性问题。


 wKiom1e26Caj0-Y8AADF1MESobU310.png-wh_50

▲虚拟机交换文件位置设置


 wKioL1e26CbTOF6FAAC1Da_vo_o084.png-wh_50


至此一个空群集创建完成。群集建立完成后,将主机往该群集里拖,即可完成添加。以后如果要退出,则将主机向数据中心处拖动即可——但此时主机要进入维护模式,才能操作。


wKiom1e26CewLxPOAAGUQYQa2rg709.png-wh_50

▲在摘要->常规区域中,可看到此时群集的资源总体情况。


本案中,两台服务器配置一样,CPU均为两个6核的E5-2630 v2,内存均为4条8G。

因此这里看到的群集资源为:总内存(2*4*8G)64G,处理器总核数和为(2*2*6)24核。另外,总存储为两台主机的本在磁盘容量之和、再加上共享存储的磁盘容量。


虽然此时群集的资源,是两台物理主机的总和,但由于没有启用HA功能,还是各自私有的。此时关掉某台主机的话,其虚拟机也会跟着被关机。


也就是说,此时群集还没实现自动vMotion,如要迁移虚拟机,仍需要人工干预。接下来要为群集设置启用vSphere HA和vSphere DRS, 


对于加入群集的主机,需要在全部虚拟机关机或迁移至其他主机的的情况下,才能进入维护模式。否则会报错,提示“资源不足 无法满足群集上的vSphere HA故障切换配置”。



三、HA和DRS设置


首先了解一下vSphere HA和DRS的原理和功能。


vSphere HA(高可用性)通过对群集中不同主机的虚拟机的即时监控,通过主机故障转移功能,使得主机上面的虚拟机可以成功的转移到其它群集内的主机上,有效的避免了主机宕机给企业带来的危害,降低了风险(当然vmware还有更厉害的武器,那就是vmware的FT功能)。


vSphere DRS(分布式资源调度)聚合群集中的ESXi主机资源,通过监控利用率,自动分配这些资源给虚拟机,并能够跨ESXi主机不断进行虚拟机资源优化。DRS利用vMotion以满足虚拟机在群集中的可用资源配额,vMotion将虚拟机迁移到有更多可用资源的ESXi主机上来平衡利用率,DRS也可以使用vMotion进行分散资源整理,使得虚拟机有更多的资源利用。


HA的心跳检测信号可以通过在 ESXi 主机之间发生, 不受 DRS 和 VMotion 的影响;HA 甚至都不依赖于 VC 服务器,VC 于 HA 的作用仅限于配置时需要它,配置完成之后,只要设定了心跳检测的隔离地址,便与VC服务器无关了(前提是不需要用到DRS和VMotion 等功能)。


下面进行HA的DRS的设置。通过右击群集,在其菜单中选择“编辑设置”,将会弹出设置对话框,可修群集的VMware HA和vSphere DRS设置。


 wKiom1e26PrRuBfjAAE-B4u8yWI204.png-wh_50

▲Cluster01设置对话框。在功能选择区域中,首先勾选“打开vSphere HA”和“打开vSphere DRS”


此时在左则列表框中可看到“vSphere HA”和“vSphere DRS”及其子选项。选中各项,根据需要进行具体的设置即可。

如无特殊情况,各子项设置使用默认设置即可。也就是说,勾选这两项后,直接单击“确定”按钮,即完成了 HA和DRS的启用、设置。


A、vSphere HA设置


 wKioL1e26PuhYwSqAAE9Ra28ekE059.png-wh_50

▲主机监控及接入控制,这里选择选择默认值


 wKioL1e26PughnBCAADf3fugI7c525.png-wh_50

▲虚拟机选项

其中“虚拟机 重新启动优先级”选项指定发生主机故障时重启 VM 的相对优先级,优先级较高的 VM 将优先启动,依此类推,优先级从高到低次第启动;“主机隔离响应”选项则用于对已与集群失去连接的主机进行操作。


 wKiom1e26PyB8hxgAAD-3uV_lwE527.png-wh_50

▲虚拟机监控,默认为“已禁用”


 wKiom1e26PyhoD2cAAEuIve1G9Y194.png-wh_50

▲数据存储检测信号,默认为第一项,这里选择第三项,并勾选共享存储


B、vSphere DRS 设置

 

wKioL1e26P3wC9tEAAEc-buwRG4300.png-wh_50

▲自动化级别,自动级别决定了DRS的自动响应级别,包括位置生成和负载均衡,这里选择选择默认值——全自动优先级3。

可移动阈值滑块以使用从“保守”到“激进”这5个设置中的一个。这5种迁移设置将根据其所分配的优先级生成建议。每次将滑块向右移动一个设置,将会允许包含下一较低优先级的建议。


 wKioL1e26P3xd7CzAAErfi4F3Rg721.png-wh_50

▲DRS组合管理器,可以创建虚拟机与主机间的关联性规则,从而与适当的虚拟机 DRS组建立关联性(或反关联性)关系。暂时不设置。


 wKiom1e26P6gvT-nAAEYEnijyXU733.png-wh_50

▲规则,在这里可以根据需要添加一系列的相应规则,控制群集内主机上的虚拟机的放置位置。暂时不添加。


 wKiom1e26P_yrMNPAADTFYCF9nY516.png-wh_50

▲虚拟机选项,自动化级别为默认的全自动。


 wKioL1e26P_RsnIMAAFC8GDdYt4106.png-wh_50


wKioL1e26QDyj56aAAEPepgJHiM032.png-wh_50

 


配置完成后,在群集摘要中,可以看到HA和DRS配置信息。


 wKiom1e26QCxoxDdAAF4Nu_S9Iw329.png-wh_50

▲群集的摘要信息,单击“配置问题”链接,将弹出群集配置问题对话框


 wKioL1e26QGh3PFYAADjh9iwVyE221.png-wh_50

▲集配置问题对话框,显示有网络冗余问题和数据存储问题


以上群集配置问题对话框中,显示有网络冗余问题和数据存储问题,这在各主机的摘要中也会有提示。


 wKioL1e26QKC-bDBAACtTgwAyo8224.png-wh_50

▲主机esxi01摘要中的配置问题提示


VMware建议为vSphere HA 设置冗余网络连接。本案在此前的网络设计中,对这一点有疏忽,Management Network所在的vSwitch0只对应了vmnic0一个网卡,不满足网络冗余,因此出现“此主机当前没有管理网络冗余”提示,但不阻碍HA的使用。


官方显示:自 vSphere 5.0 开始,vSphere HA 至少需要在群集中的所有主机之间共享两个共享数据存储,才能正常运行数据存储检测(DataStore HeartBeat)信号。因为本案只是用了一个共享存储因此出现“vSphere HA检测信号数据存储数目为1,少于要求数目:2”问题。

(在高级设置中,das.heartbeatdsperhost一项,用于更改所需的检测信号数据存储的数量。有效数值为2-5,默认为2。

das.ignoreinsufficienthbdatastore用于在如果主机不具有足够的 vSphere HA 检测信号数据存储,则禁用创建的配置问题。默认值为 false。必为True,则不会再出现此提示。)


wKiom1e26QLw5rJZAACuf_R7g7Q279.png-wh_50

▲主机esxi01摘要中的可看到该主机为HA群集中的主机

如果看esxi02,则其vSphereHA状况显示为“已连接(从属)”


每个启用了HA的群集通常只存在一台首选主机(Master),其他所有主机都是从属主机(Slave)。首选主机的职责是管理群集主机和受保护的虚拟机列表、监控从属主机的状况等,如果从属主机发生故障或无法访问,首选主机将确定需要重新启动的虚拟机。


首先主机是通过选举规则产生的。选举的规则有两条:拥有最多的datastore的主机当选;如果主机拥有的datastore一样多,那么Managed Objective ID((MOID) )号最大的那台主机当选。


在完成以上配置的情况下,如果关闭某一台主机,其上面的虚拟机会自动迁移到另一个主机上。当该主机重新启动之后,先前自动迁移出去的虚拟机会自动迁移回来。如果关闭的是首选主机,由(唯一的)从属主机会晋升为首选主机。


此时若在群集中直接新建虚拟机,由于是DRS是配置为全自动级别,虚拟机最终运行在哪台主机上,由DRS按负载均衡原则、根据各主机的资源使用情况来决定。


 wKiom1e26QTBJZymAADxYSfyMo0625.png-wh_50

▲直接在群集Cluster01中新建虚拟机


HA和DRS,以及更进一步的FT,都有很深的学问,细究起来可以琢磨好几天。笔者本人懂得并不深入,不敢班门弄斧,下面仅就易于实验、在实践中较常用到的DRS规则做一些设置,以窥DRS的魅力。



四、vSphere DRS规则的设置


为对DRS有更好的调试、研究,在该群集Cluster01中再创建六个虚拟机——将其中一个虚拟机做成模板(改名为Win2008R2-Temp),然后再从模板中批量创建虚拟机。关于虚拟机模板,后续文章会有专门研究。


 wKioL1e26QTimfdmAAEbPaZfZJU175.png-wh_50

▲查看群集虚拟机,可看到运行的虚拟机均匀地分布在两主机上


以上8个虚拟机中,VM1和VM2是esxi01和esxi02在加入群集前创建的,仍分别运行在最初主机上,其他6个虚拟机VM3、VM4、VM7和VM8,则在启动时,因缺少初始位置的数据,会被DRS按全自动的方式、根据主机的资源使用情况,进行随机分配。由于两台主机硬件配置(性能)相同,所以最终平均分配在两台主机上。

主机 虚拟机
esxi01 VM1、VM4、VM5、VM7
esxi02 VM2、VM3、VM6、VM8

▲当前虚拟机运行情况


通过使用此主机DRS组,可以创建虚拟机与主机间的关联性规则,从而与适当的虚拟机DRS组建立关联性(或反关联性)关系,这样可以实现控制群集内主机上的虚拟机的放置位置。


接下来,就使用DRS组管理和规则,对虚拟机的运行位置,按需进行重新分配。假设指定VM1-VM3运行在esxi01上,VM4-VM6运行在esxi02上——主要这两台主机是运行,就按这个规定运行虚拟要同——剩余两个VM7、VM8不指定。


主机 虚拟机
esxi01 VM1、VM2、VM3、VM7
esxi02 VM4、VM5、VM6、VM8

▲预想虚拟机运行情况


打开群集设置对话框,在“DRS组管理器”和“规则”选项中进行操作


 wKiom1e26w-iOR62AAD_CHN2LzE286.png-wh_50

▲群集设置对话框->DRS组管理器

单击虚拟机DRS组中的“添加”按钮,会弹出虚拟机“DRS组”设置对话框;

单击主机DRS组中的“添加”按钮,会弹出主机“DRS组”设置对话框。


 wKioL1e26xCT9QtUAACVX_QJ2xw834.png-wh_50

▲虚拟机“DRS组”设置对话框,

在此创建一个名为“A Group”的DRS组,并将虚拟机VM1-VM3移入到该组。

设备完成后,单击“确定”按键返回上一级。


按同样的方式,在此创建一个名为“B Group”的DRS组,并将虚拟机VM4-VM6移入到该组。


 wKiom1e26xHTB9v0AACD6r6Gtxc885.png-wh_50

▲主机“DRS组”设置对话框,

在此创建一个名为“H1 Group”的DRS组,并将主机esxi01移入到该组。单击“确定”按钮,完成设置。


按同样的方式,创建一个名为“H2 Group”的DRS组,并将主机esxi02移入到该组。


 wKiom1e26xGwTs9DAAE9cVnoIZ0951.png-wh_50

▲创建了A Group、BGroup和H1 Group、H2 Group的DRS组管理器


接下来设置DRS规则。

DRS有两种类型的规则。一种是用于指定虚拟机DRS组和主机DRS组之间的关联性或反关联性。关联性规则规定,所选虚拟机DRS组的成员可以或必须在特定的主机DRS组成员上运行。反关联性规则规定,所选虚拟机DRS组的成员不能在特定的主机DRS组成员上运行。另一种是用于指定各个虚拟机之间的关联性或反关联性。指定关联性的规则会使DRS尝试将指定的虚拟机一起保留在同一台主机上(如,出于性能考虑)。根据反关联性规则,DRS尝试将指定的虚拟机分开,如,当一台主机出现问题时,将不会同时丢失两台虚拟机。


 wKiom1e2623AxoXFAAFxmz5LHhY946.png-wh_50

▲群集设置对话框->规则,单击“添加”按钮,弹出规则对话框。

类型列表中,有三种类型的规则:

单独的虚拟机(Separate Virtual Machines):允许实施VM反关联性,指定DRS组的VM必须分开在不同的主机DRS组运行;

聚集的虚拟机(Keep Virtual Machine Together):允许实施VM关联性,指定DRS组的VM必须分开在相同的主机DRS组运行;

虚拟机到主机(Virtual Machines to Hosts):允许利用主机关联性,可以指定特定的VM组必须在特定的主机DRS组中的主机上运行。


 wKioL1e26xLjrQafAACQYU-Wg5Q140.png-wh_50

▲规则设置对话框(在DRS组管理器选项卡中,也是可以设置DRS组的),

在此创建一个名为“Rule1-A-H1”的规则,类型为“虚拟机到主机”,群集虚拟机组选择“A Group”,群集主机组选择“H1 Group”。即指定A Group组中的虚拟机运行在H1 Group组的主机上。


按同样的方式,此创建一个名为“Rule2-B-H2”的规则,类型为“虚拟机到主机”,群集虚拟机组选择“A Group”,群集主机组选择“H1 Group”。即指定B Group组中的虚拟机运行在H2 Group组的主机上。


 wKioL1e26xTR0XEvAAECQUSAtcE508.png-wh_50

▲创建了规则Rule1-A-H1和Rule2-B-H2,但“确定”按钮,完成设置


 wKioL1e26xWgzy2pAAIGUHyzOEI090.png-wh_50

▲群集虚中虚拟机列表,VM2、VM3、VM4、VM5已根据规则自动迁移



DRS规则设置完成后,大约过半分钟,群集中的虚拟机会便根据规则定义的关键性,自动迁移到被指定的主机组中(本案主机组只有一台主机)。待虚拟机重新分配完成后,违反规则对虚拟机进行手动迁移,是不被允许的。


 wKiom1e26xWDTdZ4AAC5VW2-DgA717.png-wh_50

▲试途将VM1由esxi01向esxi02迁移时受到制止。


此时,若把exsi01主机关机,虚拟机DRS组A Group中的所有虚拟机,受制于规则不会自动迁移到esxi02主机上。


 wKioL1e26xaAnSo-AAE9urfF9Uw502.png-wh_50

▲exsi01主机关机,VM1-VM3也跟着被关闭。VM7因不受规则限制,被自动迁移到esxi02。


本案中,由于资源有限,这样的设定看不到太大的应用意义。但在实际应用的,当有多台物理主机时,主机DRS组会包含多台主机,形成一个相对宽松的活动范围。这样,关联到该主机DRS组上的虚拟机DRS组内的虚拟机,便可以在此活动范围内均衡运行。


本文出自 “一树清劲” 博客,请务必保留此出处http://sunshyfangtian.blog.51cto.com/1405751/1840421

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
昨天提交代码的时候自己的eclipse抽风了一下,发现自己的Web App Libraries里面的Jar包全部都不会自动加入到Web App Libraries中,导致之前配置的项目全都要重新手动配置,网上搜了一搜,找到了个解决方法: 参考链接http://blog.csdn.net/zhengzhb/article/details/6956130 定位到项目根目录中.settings里面的 org.eclipse.wst.common.component, 如下内容贴到里面保存一下,就能检测到WEB-

Linux NFS自动挂载autofs配置 - 2016-08-29 17:08:21

一、基于Linux下NFS文件系统的自动挂载方式, 前期准备环境两台Linux服务器: 准备一台NFS服务器端(系统环境centos6.5,ip地址192.168.100.100) 准备需要挂载NFS服务端的NFS客户端(系统环境centos6.5,ip地址192.168.100.101) 实施: 现在server端安装NFS保证能正常访问,我们这里通过yum工具安装即可 [root@nfsserver ~]# yum install nfs-utils rpcbind -y 通过修改NFS配置,共享/d
文本处理工具grep,正则表达式在Linux学习过程中很容易出现困惑与障碍的地方,这里分享下学习这方面内容的一些感受。 grep Global search REgular expression and Print out the line 作用:文本搜索工具,根据用户指定的‘ 模式(过滤条件) ’对目标文本逐行进行匹配检查;打印匹配到的行; ‘模式’:由 正则表达式 的元字符及文本字符所编写出的过滤条件。 grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [
HAProxy高可用负载均衡集群部署 基本信息: 系统平台:VMware WorkStation 系统版本: CentOS Linux release 7.2.1511 (Core) 内核版本: 3.10.0-327.el7.x86_64 集群架构: 前端:HAProxy 1、虚拟FQDN:www.simpletime.net 2、VIP:192.168.39.1;DIP:172.16.39.50 3、调度服务器:Varnish1、Varnish2 4、调度算法:URL_Hash_Consistent 5
常见的文件系统 Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap swap: 交换分区 光盘:iso9660 Windows:fat32, ntfs Unix: FFS, UFS, JFS2 网络文件系统:NFS, CIFS 集群文件系统:GFS2, OCFS2 分布式文件系统:ceph, moosefs, mogilefs, GlusterFS, Lustre 实验环境CentOS7.2 Linux根据其是否支持"journal"功

部署Tomcat及其负载均衡 - 2016-08-29 17:08:51

应用场景 : 使用3台虚拟机操作系统为redhat6.5 Nginx 服务器s3 192.168.90.103 nginx-1.6.0.tar.gz Tomcat服务器s1 192.168.90.106 1.jdk-7u65-linux-x64.gz 2.apache-tomcat-7.0.54.tar.gz Tomcat服务器s2 192.168.90.107 1.jdk-7u65-linux-x64.gz 2.apache-tomcat-7.0.54.tar.gz 实施准备 启动后关闭防火墙 Serv
DNS(域名系统),用于解析域名和IP地址之间的映射关系 协议使用端口: udp 53正常查询解析情况下使用udp53 tcp53当进行主从之间的区域传送时使用tcp53 DNS域的空间划分 DNS的查询方式 递归查询 当主机A要向DNS服务器发送查询主机D的请求时,服务器返回给A最终结果,这种方式就是递归查询,如果客户端要查找的内容直接在服务器上得到结果,刚给出的答案是一个权威答案,否则就是一个参考答案。 迭代查询 NS服务器接收到A的请求后,本地没有D的解析,则会通过以下过程获得 1、NS向根域询问D

nginx的记录配置心得 - 2016-08-29 17:08:29

今天本来要去见自己喜欢的一个人的,唉,感觉自己的爱情龙卷风来了,来的很猛烈,我今天还把自己的胡子刮的很干净,悲催的是那位女士像木头一样,不知道她怎么想的,我发微信她也偶尔回复我,我真的很喜欢她,虽然刚认识没多久,这种感觉从来没有过,我每天都给她发很多消息,我现在都怕她烦了,会不会把我加黑啊,心里很矛盾,真的,找到一个自己喜欢的人和喜欢自己的人真的好难啊,好了悲催的心情就到这里吧。 我下面给大家带来的是NGINX的一些记录,因为可能要换工作了,面试的时候会问到,而且有个人老问我,他要给公司配置NGINX,我
需要使用到的服务:PXE + DHCP+TFTP+ Kickstart+ FTP 运行原理如下图: 原理和概念: 1、前言 首先,简单谈谈为什么要采用无人值守网络安装linux操作系统。一方面是运维管理的需要,因各种需要,安装操作系统在实验室内时有发生,有时候更出现批量安装某一型号操作系统的情形,这时候如果用光盘挨个安装将变得异常繁琐,并且需要人工值守。此外,因操作系统种类较多(主要是针对linux),内部人员使用频繁,也会带来管理上的问题。另一方面是当前MPX项目开发的需要,为打造一个精简、适用、高效、

Linux基础之sed流编辑器详解 - 2016-08-29 17:08:59

之前介绍了三大文本编辑器的grep,这里介绍比grep功能更强的sed流编辑器 sed是什么? sed是Stream EDitor的缩写,man中对sed的简介为 sed - stream editor for filtering and transforming text 它的主要功能是对文本的过滤与替换。 sed的工作原理 sed的工作过程 :sed是一个流编辑器,所谓流编辑器是指sed每次只从文件或stdin中读入一行,将读入的行保存至模式空间然后根据指定的要求对其进行处理,并将处理后的结果输出至屏