linux ha 虚拟化,HA的基本工作过程

HA的基本工作过程

VI3的HA为处于同一个HA Cluster中的ESX服务器提供互相检测的功能. 一旦一台ESX服务器被确认为故障. 则剩余正常的ESX服务器会启动原来在故障ESX上运行的VM, 从而提供VM一级的高可用性.

ESX之间互相检测是由心跳(heartbeat)来完成的. 心跳的传输在Service Console Network上进行.

当一台ESX没有接收到来自其他服务器的心跳信号, 有两种可能性:

1. 是其它ESX服务器发生了故障,

2. 是本机的网络连接 (指Service Console Network) 发生故障, 也称为被孤立(Isolation)

为了区分这两种情形, ESX会试图PING一个网络地址, 并以能否收到应答来确定本机是否被孤立. 这个网络地址一般默认为SC的网关. 你也可以在HA的高级选项中重新设定(加选项: das.isolationaddress).

如果ESX认为自己被孤立, 默认的动作是它Power-Off(不是安全Shutdown)在该ESX上运行的所有VM. 这样做的目的是释放对那些VM的盘文件的锁定, 以便其他正常的ESX服务器可以接管对这些VM的控制.

如果ESX认为是其他的ESX故障, 它则会启动原来在故障ESX上运行的VM.

这个过程中有几个比较重要的时序 (有的用户找到一些更详细的数据, 但未经VMWARE证实):

在ESX停止接受到心跳的12秒后, 如果它认自己已被孤立, 既POWER-OFF自己的VM.

正常ESX在停止接到故障ESX的15秒后, 开始启动原来在故障ESX上运行的VM.

这个时间差有可能导致混乱:

比如发生网络故障的ESX在第12秒POWER-OFF VM. 如果网络在15秒之前恢复, 正常运行的ESX并不启动在曾经发生网络故障的ESX上的VM, 尽管故障ESX已将那些VM POWER-OFF了.

还有一种称为脑裂的情况, 在两节点的CLUSTER中很常见:

假设ESX1崩溃, ESX2失去来自ESX1的心跳. 这时候它并不知道是被孤立了还是ESX1出现故障, 于是它要靠PING指定的网络地址来做判断. 如果该网络地址设置的不好. PING 失败的话, ESX2会以为自己是被孤立了, 这时候它不但不启动原来在ESX1上的VM, 而且还可能按默认设置将自己的VM也POWER-OFF.

分享至:

90ed4b13fe016cebd9fe3df2ae3a899b.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值