HA完整过程LeeSunVMwareHA为所有在虚拟机中运行的应用程序提供易于使用、经济高效的高可用性。当服务器发生故障时,受影响的虚拟机将在群集中留有备用容量的其他主机上自动重启。HA将停机时间和服务中断减至最低,同时不需要专门的备用硬件和安装附加软件。VMwareHA跨整个虚拟化环境提供始终如一的高可用性,而且没有局限于操作系统和特定应用程序的故障切换解决方案的成本和复杂性今天在做HA的时候遇到了挺多问题的,所以就写下来让大家做个参考。刚开始做HA的时候还以为要像WINDOWSCluster那样要两张网卡,一张连接网络另一张做心跳。后来在高人的指导下确定一张网卡和一个ServiceConsole就可以做VMwareHA了。并丌须要建VMkernel。但是后来収现用一张网卡和一个ServiceConsole的话,做完后Cluster会有一个黄色的警告图标。看了一下Summay提示是没有做冗余的网络,最后增加了一个ServiceConsole和把网卡做了一个Teaming后黄色警告就没有了。做HA必须满足以下几个条件:群集中HOST中启动的VM,可以访问共同的存储和网络。DNS(群集中的HOST可以通过主机名、完整的正式域名和IP都可以PING通对方)DNS我下边就按照我做的步骤来写吧。我先是建一个DNS服务器,为两台HOST提供主机名到IP地址的解析。下边这个是我们网络拓扑图↓我在WS下装了一个Windows2003Enterprise添加DNS服务做为LicenseServer和DNS服务器。安装DNS服务就不写了打开控制面板管理工具DNS按照下边的截图一直按下一步就行了右键正向查找区域新建区域向导选择主要区域输入服务器的域名这里选择不允许动态更新来到这里正向解析区域就建完了,不过要添加一些主机。在刚建好的vmware.com右键新建主机输入完按添加主机完成操作把要做HA的主机都添加进来,双击“名称服务器”的那一项,选择名称服务器选中下边已有的名称服务器,点击编辑在编辑记录那里点击浏览找到DNS的那个服务器添加完后的截图↑完成了正向的,现在到反向的。右键反向查找区域新建区域向导。一直按下一步就行了到了反向查找区域将IP地址转换为DNS名称的地方,因为我做的测试是两个不同网段的,所以我要添加两个反向区域。输入正确的IP网段。右键刚刚新建的反向查找区域地址右键选择新建指针。输入相关主机的指针,并且在浏览那里找到相应的主机我这里把192.168.103和10.3.131的网段都添加进来了,还要创建相关指针。↑上面这个比较重要,我就是因为忘记修改这个“此计算机的主DNS后缀”导致ESX不能进行短名的解析。这个是在右键我的电脑属性计算机名更改其他输入所建的区域。还有就是要把网卡里的主DNS设置成本地IP地址配置完后,重新计算机。用“NSLOOKUP”工具测试一下DNS。开始运行输入CMD运行NSLOOKUP命令WINDOWS的就到此结束。VC下面就打开VC建一个Cluster并且把VMwareHA前面的勾给打上按照向导到了这里,要设置一下允许发生故障的虚拟机数量的发生故障后的系统默认操作的行为吧。解释一下:1.主机故障指定您要确保虚拟机故障转移的主机故障的数目(即故障容量)。2.发生故障后重启的优先级3.隔离响应4.接入控制提供两个关于如何做出允许启动新虚拟机决定的选项:如果虚拟机违反可用性限制,则不启动虚拟机,并且强制执行指定的故障转移容量限制。即使虚拟机违反了可用性限制,也允许启动虚拟机。此选项允许即使再也无法确保指定主机数目的故障切换时也可启动虚拟机。(系统将发出警告。)这里根据自己的环境设置吧。NEXT设置SWAP文件的策略1.将Swap文件放与虚拟机放到同一个目录中2.将Swap文件存储到指定的存储中点击NEXT到下一步完成创建Cluster完成后不要急着把ESX101和ESX104两台ESX拖到123的Cluster里去。先检查一下两台ESX的DNS配置。主要检查一下上图红圈的那些内容。两台ESX除了Name内容不一样,其它应该都是相同的。没问题后就可以把两台ESX放到123的Cluster里去了。系统会自动启动HA功能。如果ESX的配置没有什么问题,应该可以启劢HA的。但是在各大论坛上看到了丌少兄弟在做HA的时候都出现了问题和红色的警告。我这次在做的时候也遇到了丌少错误。上图就出现了一个黄色的警告,在查看了日志和Summay后収现系统提示没有可用的冗余网络资源打开VCConfigurationNetworkingProperties……增加一个ServiceConsole输入IP完成,返回到刚才增加ServiceConsole那里加一块卡把网卡做成Teaming选中一张空余的网卡,勾上选择一个VSwitch,在下边可以选择那块网卡为主要的,那一块做备份的。右边那个MoveUp和MoveDown调整上下。完成后看看↑上边红色圈起来的地方常见的是什么一个HAAGENT错误。是由于ESX不能对Cluster里HA的ESX进行地址解析。它们的解析包括:↓IP要求可以使用PingIP的方法对DNS和HA的机器Ping通hostname例如我这里的LIC和esx101、esx104使用Pingesx101(hostname可以用hostname–s命令看看)完整的域名pingesx101.vmware.com我今天做的时候遇见的无法将短名解析为IP地址,参考第12页如果以上都没有问题的话开启HA是没有问题的ESX一般情况下我们都要去检查一下ESX配置↓先到登录到第一台ESX的ServiceConsole下PING一下DNS和另一台ESX。在这里要使用两种方式去PING第一种PINGIP地址第二种是PING计算机名第三种完整域名第一种和第三种方法一般都是可行的,主要是第二种,可能会遇到以下情况↓这时候我们先来看看第一个/etc/hosts文件。用VI编辑工具打开:vi/etc/hosts看上图只有一条10.3.131.70esx101.vmware.comesx101的记录。这里顺便讲讲hosts文件吧,挺重要的。/etc/hosts是配置ip地址和其对应主机名的文件,这里可以记录本机的或其他主机的ip及其对应主机名比如文件中有这样的定义10.3.131.70esx101.vmware.comesx101假设10.3.131.70是一台网站服务器,在网页中输入或[url][/url]就会打开10.3.131.70的网页。通常情况下这个文件首先记录了本机的ip和主机名:127.0.0.1localhost.localdomainlocalhost我们esx101上使用pingesx101这个肯定是通的。因为这里有一个esx101的主机名。我们要对上边的文件进行修改。↑是修改后的图一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。第一部份:网络IP地址;第二部份:主机名或域名;第三部份:主机名别名;当然每行也可以是两部份,即主机IP地址和主机名;比如10.3.131.70esx101这里可以稍微解释一下主机名(hostname)和域名(Domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。按照上边的方法把另一台ESX的hosts文件也作一下修改,把DNS和esx101的记录也添加上去最后在两台ESX下互相PING一下对方的主机名,看一下是否通的如果这样还不行的话就去检查一下这几个文件的内容是否正确↓/etc/hosts/etc/resolv.conf/etc/vmware/esx.conf我在这里也是遇到一个问题就是因为我改了一台ESX的主机名。由于/etc/vmware/esx.conf文件里的名字没有更新。导致启动HA的时候提示不能解析短名,修改完后要重启服务器。完成操作,看看VC的截图↓做了两个ServiceConsole和把网卡做成Teaming后Cluster的黄色警告图标也去掉了。以上就是我做HA的过程,希望能对大家有帮助。群集状态信息随着主机或虚拟机的添加或删除,群集可以会因为HA或DRS的违反限制而被过度提交或无效。“摘要”页上显示的消息显示当前选择的群集的状态。VirtualInfrastructureClient可以指示群集是否为有效(绿色)、被过度提交(黄色)或无效(红色黄色(被过度提交)群集满足或未满足故障切换要求时不会产生黄色的HA群集指示。当资源池和虚拟机的数是内在一致的,但用户允许违反某些要求时,群集会变为黄色。当容量从群集删除时会发生这种情况,例如,由于主机发生故障或主机被删除并且没有足够的资源支持所有请求。红色(无效)群集当启动的虚拟机的数目超过严格的故障切换的要求,即当前故障切换容量小于配置的故障切换容量时,启用了HA的群集会变成红色。例如,如果您首先为该群集选中即使虚拟机违反了可用性限制,也允许启动虚拟机,然后启动太多虚拟机以至于没有足够的资源确保指定数目的主机故障切换,则会发生这种情况。如果您直接在主机上启动虚拟机或执行其他操作,群集也会变成红色。例如,如果在一个四主机群集中为两主机故障设置了HA并且一个主机发生故障,则群集也会变成红色。剩余的三个主机可能无法解决两主机故障。如果启用了HA的群集变成红色,则它将不再确保指定数目主机的故障切换,但会继续执行故障切换。主机发生故障时,HA会先按优先级顺序对一台主机的虚拟机进行故障切换,然后再按优先级顺序对第二台主机的顺序进行故障切换,依此类推。使用双机互连的方法做VMwareHALeeSun使用这种方法只是为了验证不用DNS是否可以做HA,用双机互连的方法没DNS的做法灵活。具体过程我就不写了,可以参照我之前写的那个HA完整过程,下边主要是讲一些重点部分1.登录VC在每个要做HA的HOST里把DNSSERVER地址必成VC的IP2.打开VC的C:\WINDOWS\system32\drivers\etc\hosts文件3.添加以上↑红色圈起来的内容通常情况下这个文件首先记录了本机的ip和主机名:127.0.0.1localhost这个文件告诉本主机哪些域名对应那些ip,那些主机名对应哪些ip:比如文件中有这样的定义192.168.103.109lic.vmware.comlic一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。第一部份:网络IP地址;第二部份:主机名或域名;第三部份:主机名别名;4.在每个HA的ESX上,也做同样的操作。用VI编辑器打开HOSTS文件:Vi/etc/hosts修改方法和修改VC的HOSTS文件一样参考上边红面部分↑,添加完成后,保存退出。使用pingesx101方法,测试一下是否有效。HA的功能测试,将其中一台ESXHOST断电(或者强行关机),然后观察这台ESXhost上的虚拟机会自动迁移到另一台的ESXHOST上重新启动(注意,虚拟机不开机的不会迁移)