很久没有动笔写博客了。总算最近的几项工作告一段落,对iOS和Android的折腾也兴趣稍退,该写点技术博客了。
想写一篇关于VMware HA的博客由来已久,曾经做了些功课,查了不少资料,写了点笔记,但是终于因为各种原因没有成文。随着vSphere 5的发布,HA机制作出了不少调整,很有必要写一些了。本文(或许我可能还会就ESX4的HA机制和操作写上几篇,凑成一个系列)就是我的一点读书笔记整理而成。注:谢绝不加引用和出处的恶意转载。谢绝百度文库任何形式的转载。【什么是HA】HA的英文是High Availability,高可用性。从字面上的意思就是一种让服务中断尽可能少的技术。VMware的HA和微软的MSCS(Win2008以后改称Failover Clustering)类似,都是将多台主机组建成一个故障转移集群(Cluster),运行在集群上的服务(或VM)不会因为单台主机的故障而停止。用一个图来简单说明HA的工作原理:图中橙色的主机ESXi01宕机了,其上的2台虚拟机VM1和VM2就根据HA的调度被ESXi-02和ESXi-03这2台主机接管,并重启运行起来。 注:本文图片均截取自《VMware vSphere 5 Clustering Technical Deepdive》但是要注意的是,HA(无论是VMware的HA还是MSCS)不是通常意义上的完全不中断服务的高可用性,HA只是一种自动的故障切换机制,当某一主机发生故障时,服务或VM(就配置了MSCS的Hyper-V来看,VM其实也被看作是一个服务)自动到另外的可用的主机上重启。这其实是一个中断然后重启的过程。就VM来说,看上去就好像是一台服务器突然被拔掉了电源线,然后又重新加电开机。这个故障然后重启的过程其实是比较长的,根据不同的VM而不同,少则1-2分钟,多的则可能达到5-6分钟。如果运行在一台缺乏资源的的主机上,这个时间可能更长。【创建一个VMware HA】创建一个VMware Cluster并启用HA的方法很简单。谷歌百度一下很容易找到一堆。这里不再赘述,过几天有空了我另外截些图单独写一篇Cluster创建图解的blog。这里我想重点讲的是HA的原理。【创建HA的前提】一个通用的HA的集群通常有这么几个必要的条件组成:* 2台或者更多台主机* 这些主机共享一个外部存储* VM是运行在共享存储上的* 主机上至少有2个以上的网卡,其中一个需要负责传递“心跳”信号。上面这些条件是大多数高可用性集群都需要的一致的。此外,要成功配置VMware HA,还必须具备这么几个必要条件:* 必须有vCenter Server(虽然没有vCenter HA也能发挥作用,但是创建Cluster的时候必须有vCenter的参与)* 所有Host都必须有相同的vSwitch配置特别要注意的是,对于ESX 4.x或之前版本,DNS是建立HA必要前提,所有Host都必须能够正确的解析其他node的DNS名字,将主机加入到一个集群也必须用其FQDN名。但是从vSphere 5开始,这已经不是必要的了,IP地址被直接用作HA集群的通信,这样减少了HA的依赖性,加快了HA的响应速度。但是,因为VMware vSphere 5的其他一些服务和组件仍然需要DNS,使用FQDN虽然仍然是推荐做法。【HA的组成部分】vSphere 5的HA的组件有以下三个:- FDM
- hostd
- vCenter
- HA创建时;
- Master宕机;
- Master处于isolated或者集群出现了partitioned状态;
- Master被置于维护状态或Standby状态;
- 集群被重新配置时;
- Master和vCenter失去了联系;
本文出自 “” 博客,请务必保留此出处