我所理解的vMware 5.5之vSphere HA

简介:

在当前对可用性要求越来越高的今天,高可用成为生产环境必不可少的需求,vSphere HA就是其中一款优秀产品,以下就该产品的工作原理阐述我的理解。

一、vSphere HA功能的先决条件

要实现vSphere HA功能必须具备的四个条件是:共享存储、网络心跳、存储心跳、隔离地址。

1.共享存储

vSphere HA是当Cluster中承当Master角色的主机发现其他Slaver主机宕机时,将Slaver主机上的虚拟机在其他的Slaver主机上进行重启,所以这就要求所有的Exsi必须能看到同一个共享存储。

2.网络心跳

Cluster中的Master角色主机通过网络心跳检测Slaver主机和VM虚拟机的健康状态,当我们创建vKernel端口组的时候,里面有一个Management Traffic选项就是将该端口组声明为网络心跳。

wKioL1Zs3qbjIOB-AAAV8Xvt9Vc813.png

3.存储心跳

有时可能我们的Esxi主机是正常的但是由于网络的故障,无法与Master进行通讯,为了避免误判,所以从vSphere5.0以后引入了存储心跳,当网络心跳异常时,会触发存储心跳的检测,以便更准确判断当前故障是由于网络原因还是Esxi主机宕机引起。

wKioL1bK68ngy4kEAALoaJwfIGA195.jpg

4.隔离地址

有时我们的Esxi主机正常,但网络心跳异常,触发存储心跳检测也正常,这时候就会产生2种场景:Partition(分离)和Isolation(隔离),判定哪种情况的依据就是与看与隔离地址的通讯是否正常,所以隔离地址也是必备的条件,在大部分的应用中,隔离地址是默认网关,而默认网关经常是禁Ping的,这就需要在高级选项中设定多个隔离地址。

二、vSphere HA工作的内容

1.Master主机的选举

每一个Cluster最多有1台Master,其余都是Slaver。Master的选举可由3种情况触发:

(1)vSphere HA激活之时。

(2)Cluster内增加新的Esxi主机,或Master主机故障。

(3)原有Cluster产生或消除Partition。

Master主机的选取依据是:

(1)存储心跳的数量多的Esxi主机位Master,缺省情况下存储心跳都是2个,最多5个。

(2)当存储心跳一样时,会比较MOID值,数值大的为Master,MOID是Esxi主机加入Cluter时分配的数值,需要注意的是,它是以首字符的大小进行比较,举例来说,2台Esxi主机的MOID值分别为90和100,它会认为首字符为9的值大于1,所以Master主机是MOID值为90的Esxi主机。

2.Master主机与Slaver主机的角色任务

(1)Master主机:维护Protect List;通过网络心跳监控Cluster内所有的Esxi Host与Virtual Machine可用性;监控所有On Protected状态的Virtual Machine的电源状态,当故障发生时尝试重启。

(2)Slaver主机:监控自身Host中的Virtual Machine和Master的状态,当Master发生故障时,从新选举出新的Master。

3.确定被vSphere HA保护的对象

Virtual Machine或者Esxi启动后,vCenter会检测到它们的信息,将其写入Protect List并推送给Master主机,Master主机根据网络心跳和Protect List来最终确定需要实施保护的对象,vCenter与Master之间每5分钟对比一下Protect List。以下几种情况会视为Unprotect状态,不会受到vSphere HA的保护

(1)Virtual Machine或者Esxi未完全启动。

(2)人为手动的关机。

(3)Virtual Machine或者Esxi与vCenter无法连接。

(4)Esxi处于维护模式。

(5)Virtual Machine被vMotion走了。

三、常见的vSphere HA故障场景

1.Esxi Host故障

当我们的Esxi Host主机发生故障时,vSphere HA会将故障主机上的Virtual Machine在其他的主机上重启,不同于vMotion的无间断迁移,vSphere HA它会产生一个较短的停机时间,具体的时间因故障主机的角色不同,时间也不相同,详细分为:

(1)故障主机为Master主机,前10s进行Master检测,从第11s开始所有的Slaver主机会认为Master主机已宕机并开始进行为时15s的新一轮选举,产生新的Master主机,从第26s开始到第35s,新的Master主机会向vCenter读取Protect List,所以总共的停机时间为35s+GusetOS启动所需的时间。

(2)故障主机为Slaver主机,由于Slaver主机不需要选举和读取Protect List,只需要经过10s的检测时间,所以停机时间为10s+GusetOS启动所需的时间。

2.GuestOS故障

首先需要声明的时Master主机通过安装在GuestOS上的vMwareTools监控Virtual Machine的心跳,当他发现Virtual Machine心跳丢失或者VMX文件损坏后会将该虚拟机在其Host主机上原地重启。

3.Application故障

像GusteOS一样,要求GuestOS上必须要有vMwareTools,发生故障后会原地重启Virtual Machine然后再重启Application,但要求Application满足vMware应用程序开发标准ISV,目前几乎没有程序支持。或者借助vMware的Application HA对应用程序进行高可用保护,目前支持SQL、Tomcat等应用程序。

4.网络心跳故障

前面在介绍默认网关的时候提到过,网络心跳异常有Partition和Isolation 2种情况,下面针对这2种情况作详细介绍:

(1)Partition(分离),场景如下图所示

wKioL1ZtCEeSiWE4AAKeBBhMc3o459.png

起初Cluster中的网络心跳是正常的,但是突然间网络由于其他原因被分成了2块,处于右半部份的2个Slaver主机无法连接Master主机,存储心跳也是正常的,也可以连接隔离地址,此时Partition的条件被触发,右边的2台Slaver主机会进行选举,产生出1台的Master主机,但并不意味着右半部份具备vSphere HA功能,尽管他有Master主机。前面我们提到过1个Cluster只能存在1个Master主机,新产生的这台Master主机无法从vCenter那里获取到Protect List,所以右半部份的vSphere HA功能是无效的。当Partition状态消除后,2台Master之间会重新进行选举来确定最终的Master主机。

(2)Isolation(隔离),场景如下图所示

wKioL1ZtC13wDjkGAAHRgK1II8Q045.png

当网络心跳发生故障,Slaver主机无法连接Master主机,也无法连接隔离地址,但是存储心跳是正常的,此时会触发Isolation,Esxi会认为自己被隔离了,依照策略执行操作,策略分为leave power on,shutdown和reboot,缺省情况下的策略是leave power on。




本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1722470
相关文章
|
4月前
|
存储 监控 固态存储
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN 分布式存储虚拟化平台VMDK文件1KB问题数据恢复案例
在一例vSAN分布式存储故障中,因替换故障闪存盘后磁盘组失效,一台采用RAID0策略且未使用置备的虚拟机VMDK文件受损,仅余1KB大小。经分析发现,该VMDK文件与内部虚拟对象关联失效导致。恢复方案包括定位虚拟对象及组件的具体物理位置,解析分配空间,并手动重组RAID0结构以恢复数据。此案例强调了深入理解vSAN分布式存储机制的重要性,以及定制化数据恢复方案的有效性。
107 5
|
4月前
|
存储 固态存储 虚拟化
【vSAN分布式存储服务器数据恢复】VMware vSphere vSAN ESXi超融合HCI分布式存储数据恢复案例
近期,我司处理了一个由10台华为OceanStor存储组成的vSAN超融合架构,其中一台存储闪存盘出现故障,用户取下后用新的闪存盘代替,然后对该闪存盘所在的磁盘组进行重建,导致集群中一台使用0置备策略的虚拟机数据丢失。
98 6
|
7月前
|
JSON 监控 数据库
使用Telegraf+Influxdb+Grafana配置VMware vSphere监控大屏
使用Telegraf+Influxdb+Grafana配置VMware vSphere监控大屏
246 0
|
虚拟化
VMware vSphere Client中虚拟机“Disc Found”解决方法
VMware vSphere Client中虚拟机“Disc Found”解决方法
110 0
|
监控 负载均衡 安全
VMware vSphere 5.5 高可用性 2
VMware vSphere 5.5 高可用性
235 0
|
存储 资源调度 监控
VMware vSphere 5.5 高可用性 1
VMware vSphere 5.5 高可用性
122 0
|
存储 运维 程序员
[运维]VMware vSphere介绍
[运维]VMware vSphere介绍
195 1
|
存储 文件存储 开发工具
【VMware vSphere 7】虚拟化概述(一)
【VMware vSphere 7】虚拟化概述(一)
233 0
|
存储 测试技术 API
分享:VMware vSphere API玩法
分享:VMware vSphere API玩法
713 0
|
存储 Linux 虚拟化
VMware vSphere 入门学习笔记
ESXi是在物理服务器安装的服务端,所有虚拟机是安装再ESXi里面的,是服务端。 Vcenter是管理端 是安装在ESXi内的一台虚拟机,提供集中管理功能的,比如管理多台ESXi集群,还可以对虚拟机进行复制 克隆 制作模版等各种一系列管理功能操作。 Linux内核的Vcenter名字叫VCSA,Windows版本的Vcenter名字叫Vcenter。
330 0
VMware vSphere 入门学习笔记