【前言】在传统的服务器维护中,如果一台服务器宕机,那么最多就是这台服务器上的应用无法正常提供服务,可以通过集群高可用等方法解决;但是在虚拟化环境中,如果一台ESXi服务器宕机,那么运行在上面的虚拟机就都会无法正常运行,虽然虚拟化将所有的资源都集中管理,但是出现故障时影响的面也广了,所以在虚拟化中集群高可用的功能就显得尤为重要。
 
     vsphere HA是在物理服务器出现宕机时,自动将该服务器上的虚拟机在集群中的另外一台ESXi服务器上重启,影响时间是虚拟机的重启时间加应用程序启动时间。
 
     vSphere 5 HA功能使用的工具是Fault Domain Manager(FDM),FDM是基于之前版本Automated Availability Manager(AAM)的基础之上开发出来的。FDM采用的是master/slave架构,并且通过ESXi网络和存储的网络来判断是否出现故障。
 
    当启用HA功能时,每台ESXi服务器都会运行FDM agent,该agent是独立于vCenter的agent,同时会在集群中的主机中选取一台ESXi做master主机,其他ESXi主机为slave主机。
 
    在HA集群中,master主机主要提供以下功能:
    1. 监控所有的slave主机,并在slave主机宕机时重启上面的虚拟机,只有master有权限重启虚拟机
    2. 监控所有受保护的虚拟机,如果虚拟机宕机,则重启该虚拟机
    3. 负责管理集群中的主机包括添加删除主机
    4. 负责管理受保护的虚拟机列表
    5. 缓存了HA 集群的配置,并负责通知slave主机修改配置
    6. 发送心跳信息给slave主机,这样slave主机就知道master主机还存活着
    7. 向vCenter发送信息,vCenter只与master主机通信
    8. 如果master主机宕机了,那么集群会重新选择一个主机做master主机
 
    在HA集群中,slave主机的主要功能:
    1. 监控运行在其上面的虚拟机状态,当虚拟机的状态发生改变时slave主机会通知master主机
    2. 监控master的状态,如果master主机宕机,则slave将会选举新的master主机
 
    在HA集群中的每个存储中都会有个.vSphere-HA的目录,HA的功能就是通过该目录下的文件实现的。
 
    HA集群中的虚拟机可以设置重启的优先级,将重要的虚拟机优先级设置高,可以快速恢复。
 
    集群中的主机可以监控虚拟机或者应用程序的状态,当一段时间没有检测到该虚拟机的vmware tools心跳,网络流量,磁盘IO时,ESXi主机就认为该虚拟机出现问题并重启该虚拟机。
 
    比虚拟化HA集群更好的是FT(Fault Tolerance),HA虽然提供了高可用性,但是毕竟有一定的影响时间,而FT可以做到无中断高可用,当然实现FT的要求也是非常严格。
 
    FT的要求:
    集群中的主机运行的FT版本必须一样;集群必须启用HA功能;如果还需启用DRS功能,则必须打开VMware EVC功能,否则在启用FT功能的集群中DRS无法启用;
 
     主机必须连接到共享存储;必须配置了FT网络;主机的CPU必须支持FT;必须有支持FT的license;在主机的BIOS里面必须打开HardWare Virtualization选项以支持FT。
 
    虚拟机必须是1个CPU;必须运行支持的操作系统;必须运行在共享存储;磁盘必须是厚置备或者是虚拟RDM,物理RDM不支持FT;不能有任何快照;连接克隆的虚拟机不支持FT;不能有任何USB设备,声音设备,串口;不能使用NPIV(N_Port ID Virtualization);不能使用半虚拟化内核;虚拟机的CDROM不能被物理或者远程使用;
 
    N_Port ID Virtualization (NPIV) 是业界通行的一个工业标准,主要目的是通过虚拟化光纤通道接口来简化 SAN 网络的架构 , 让虚拟环境下的服务器与 SAN 环境连接更加弹性和安全。NPIV 即为光纤信道中的一个协议,目的在于让一个实体的 N 端口可以虚拟出数个 N_Port ID。并且将光纤交换机上的任一 F_Port 关联到多个 N_Port ID, 从而使虚拟化平台的多个不同的分区系统可以共享一个光纤适配卡 (HBA)。其功能是由光纤信道 HBA 卡提供,但前端的虚拟平台以及后端的光纤信道交换机也要能支持。
 
    对于启用FT功能,最好做以下几点设置:
    1. 每台ESXi主机的BIOS设置,关闭power management选项。
    2. 启用FT的集群可以使用DRS,但是无法使用storage vmtion,如果要使用storage vmtion则必须先关闭FT
    3. 受FT保护的虚拟机不支持在线修改虚拟机配置,即无法在线添加删除虚拟机设备
    4. 由于FT不支持快照功能,所以任何基于快照的备份软件都无法备份收FT保护的虚拟机,要备份则需要关闭FT功能
 
    当对虚拟机启用FT功能后,FT将创建secondary虚拟机,该虚拟机与primary共用虚拟机文件,primary与secondary采用vlockstep技术同步虚拟机状态;
 
    当primary虚拟机所在的ESXi主机出现故障时,secondary立刻无中断接管,发送ARP到物理交换机通知新的虚拟机位置,secondary就会转变为primary,同时创建新的secondary主机,FT功能继续保护虚拟机。
 
    当出现虚拟机操作系统级别的故障时,FT将不会有任何操作,因为该虚拟机的状态是实时同步的。
 
    如果Secondary虚拟机出现问题,则重新创建新的Secondary虚拟机并同步;
 
    如果primary,Secondary所在的ESXi主机都宕机了,那么FT会重启primary虚拟机,并创建新的Secondary并同步状态。