虚拟化实战:Cluster设计之三HA

云计算 虚拟化
高可用性是虚拟化平台最突出的特性之一,设置和维护非常简单,技术非常成熟。对于一些非常关键的应用,可能对容灾的要求特别高,可以考虑采用基于应用层的HA,或者操作系统层的HA,比如MSCS。虚拟层的HA是在底层架构上实现的高可用性,在恢复时间可接受的情况下是非常好的选择。

一 为什么使用HA

高可用性是虚拟化平台最突出的特性之一,设置和维护非常简单,技术非常成熟。对于一些非常关键的应用,可能对容灾的要求特别高,可以考虑采用基于应用层的HA,或者操作系统层的HA,比如MSCS。虚拟层的HA是在底层架构上实现的高可用性,在恢复时间可接受的情况下是非常好的选择。

相对应用层和操作系统层HA而言,vSphere HA以较低的成本实现了整个集群的高可用性,同时实施和维护都十分的简单。无需在应用或者VM上作任何设置或改动。

二 HA是如何工作的?

HA Agent

vSphere5.0之后的版本对架构作了很多的改动。摒弃了原来Cluster中的Primary Node和Secondary Nodes的概念。并且引入了Master HAagent 和 Slave HA Agent的概念。通常情况下一个Cluster中仅有一个Master HA Agent。HA Agent有以下的功能:

-与vCenter互相交换信息

-Master HA Agent监控VM的状态,在其出现问题时重启

-Slave HA Agent把VM的状态信息传递给Master HA Agent, 并且在MasterAgent 的指令下重启VM

-检测VM上运行的应用的状态

当Master HA所在的主机出现问题时,其他主机上的Agent开始参与竞选成为MasterHA, 连接DataStore数目最多的主机会成为Master。如果两台主机DataStore数目相同,Managed Object Id较高的主机会成为Master。

HeartBeating

用来判断主机是否仍然正常运行。

Network Heartbeating

每台Slave都和Master主机互相发送Heartbeat信息。

Datastore Heartbeating

有的情况下Management网络中断之后,如果VM还能够继续访问其他网络和存储,那么就无需对被隔离主机上的VM采取响应措施。这是就需要检测Datastore Heartbeating来进一步验证。

对于Converged Infrastructure,比如Cisco UCS等系统,Datastore Heartbeating能起的作用不大,因为管理网络和存储共用物理链路,在管理网络中断的情况下,存储很可能也无法访问了。

主机隔离

检测: 在某个主机无法与Management Network通讯时,也就是ping isolation Address失败后,该主机会被认为处于隔离状态。 Management Network的网关缺省作为isolationAddress。 为了增加可靠性和避免误判,可以设置多个isolationAddress

响应:

下面的分析帮助你在确认主机处于隔离状态后,选择合适的响应动作

#p#

以上仅仅是建议参考,Leave Powered On适用于大多数的情况。因为虚拟化设计大多考虑了网络的冗余,出现HostIsolation本来就是很少见的情况。

在使用iSCSI或NFS的情况下,如果你估计管理网络中断的同时,可能存储网络也会中断。考虑使用PowerOff. 在主机无法访问存储时,HAAgent会在其他主机上启动VM的第二个Instance.而此时第一个Instance仍然在被隔离的主机上运行,当所有网络正常恢复时,这可能会造成很麻烦的情况。因为同一个VM有两个Instance同时运行。

Admission Control

用来保证在主机出问题时,Cluster有充足的资源供问题主机上的VM使用。

有以下策略可供选择:

1 Define failover capacity bystatic number of hosts

2 Use dedicated failover hosts

3 Define failover capacity byreserving a percentage of the cluster

resources

第三种方式,也就是用百分比方式定义Failover Capacity,适用于大多数情况。最大可能的高效使用资源,从而可以运行较多的VM。

三基本设计原则

HA策略中优先启动vCenter以及较重要的VM。比如DNS,AD,MS SQL等。同时需要注意HA并不能完全保证VM重启的顺序。如果VM之间有复杂的依赖关系以及严格的启动顺利,可以考虑VMware SRM。

如果维护可能造成Management Network的中断,考虑暂时屏蔽HA,避免触发HA的隔离响应措施

最好每台主机有一致的CPU和RAM配置。如果一个Cluster中某个主机有较高的配置,HA的策略需要保证有充足的资源来保证运行该主机的VM

虽然多个Cluster可以共享同一个DataStore,但最好还是为每个Cluster分配专属的Datastore。这样可以简化管理,同时在某主机被隔离后,HA可以较容易的重启VM。

一定注意Management Network的冗余。 因为HA的Network Heartbeating依赖于ManagementNetwork

在Stretched Cluster情况下,也就是Cluster中的主机和存储分布在两个间隔较远的数据中心,建议最少设置4个HeartbeatDatastore. 每个数据中心设置2个。

参考:

VMware vSphere 5.1 ClusteringDeepdive by Duncan Epping

HAArchitecture Decision by Josh Odgers

vSphereAvailability Guide

 

VMware vSphere High Availability5.0 Deployment Best Practices

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://frankfan.blog.51cto.com/6402282/1329945

 

责任编辑:老门 来源: 51CTO博客
相关推荐

2013-06-08 11:10:36

虚拟化虚拟化存储

2013-05-28 09:33:47

虚拟化虚拟化存储

2013-12-02 10:34:32

虚拟化实战Cluster

2013-11-29 10:24:52

Cluster设计资源池

2018-03-28 15:21:52

虚拟化类型

2012-09-17 22:19:04

HA集群容错服务器

2013-05-21 09:47:45

虚拟化存储虚拟化

2013-06-24 10:44:57

虚拟化网络设计

2012-02-15 10:37:38

JavaJava Socket

2013-05-27 09:52:26

虚拟化存储虚拟化应用

2013-06-25 11:46:36

虚拟化实战IP Storage

2012-05-03 11:35:56

ApacheCXFJava

2010-09-01 10:37:04

vSphere服务器虚拟化VMware

2013-06-21 10:33:02

虚拟化应用存储虚拟化

2014-01-03 14:05:26

手游用户体验设计启动和停止

2013-10-11 16:47:38

2021-12-01 09:23:13

C# 模式套路

2009-03-06 18:15:49

桌面虚拟化虚拟化网络

2009-08-27 11:07:50

2015-09-22 10:14:57

虚拟化虚拟化问题
点赞
收藏

51CTO技术栈公众号