版权
Copyright ? 2012 by Duncan Epping and Frank Denneman.
关于作者
Duncan Epping 是VMware 技术市场部首席架构师,Dun是vSphere HA和VMware vCloud云套件的架构设计师,是VMware公司首批认证的设计专家(VCDX 007)… …(这里就不多译)
Tim2009认为这是VMware虚拟化方面的一本专业好书,故使用google、有道、大学英语结合虚拟化项目实践翻译成中文,希望有用。
知识点
这本书是关于VMware产品的,仅代表个人观点,文章中的内容没有经过VMware公司的核准,也没有必要体现VMware的观点,这是作者的书,不是VMware的书
首先我们非常感谢VMware 管理团队(Kaushik Banerjee, Jim Senicka, Bogomil Balkansky and Raghu Raghuram)对此书及相关项目的支持。
前言
数据中心通常都需要经过仔细的配置,设计,监控和其它操作任务,从而实现高效的运行应用程序。但是,这些活动的应用根本上是保证灯常亮,没有大量附加价值,未使IT服务成业务的核心目标,很多任务手工完成设置。假如应用程序的拥有者定义了高水准的商业需求,IT部门会转换为系统的层面,用底层的基础设施解释这些策略需求,并自动配置,管理和操作底层的系统去匹配策略目标,这就是VMware的目标,新技术的解决方案建立新一代数据中心。
数据中心被独立分开成二层-我们可以考虑的是做什么和怎么做,上层的区域运行他们的工作同时匹配策略目标-这就解释了做什么,VMware的目标是让事情尽可能的自动化,应用的拥有者不用精确的了解到虚拟机在哪台物理主机上运行,或者虚拟机应用了哪些有效的规则,应用的拥有者希望适当的设计和配置替代指定需求和期望,那样就可以提供服务来满足这些需求
下层的关于“怎么做”,这些核心的策略如群集高可用性,动态资源分配定义到这层,并被程序控制管理。有了群集我们不再需要单台服务器为工作单位,这就是这本书的主题和为什么这对vSphere部署成功如此重要,VMware vSphere需要配置合适的群集级别去管理资源,也是为了达到更高服务水平所必须的,群集控制大量的服务器形成池从而协调资源分配,这些工作需求可能包括可用性,存储I/O需求和其它与应用拥有者相关的规格
因此,新时代的数据中心不仅仅是因为虚拟化,它整合了许多传统基础因素如计算,存储,网络等组件,让它们得以系统的管理,这个意思是说以前需要手工的配置,更改,发布,现在都被系统的管理起来,某些项目和虚拟化软件架构一样被具体化,现代化的软件为这些提供了灵活性和高效性,当工作需求改变,底层架构也随之能够适应和扩展来满足需求。
在很长一段时间里,我们期望越来越多的传统基础架构能够得到系统的管理,高水平的架构就像一块补丁,以应用程序为中心已经成为标准服务的一部分,扩展最好是在系统的层面。
网络也变得越来越有代表性,打个比方,安全规则将被分配给应用,而形成对比的是特有的设备被看成网络端口组,类似的创新也发生在存储领域,我们考虑虚拟机作为数据存储的单元,我们计划从物理存储器上迁移相关联的数据,如LUNs或者文件服务器上。
云计算的目标是所有类似的基础设备继续被动态的方式管理,细致的底层设计需要专业的知识,提供这样一本值得读的书,可以帮助IT管理员更集中精力去配置应用来满足商业需求,而不仅仅是维护IT基础设施保证机器灯亮。
我们希望你能在这本书中发现有作用和有意义的地方
Raghu Raghuram
Executive Vice President, Cloud Infrastructure and Management
VMware
第一部分 vSphere高可用性
第一章 介绍vSphere高可用性
当提供服务时,可用性是传统数据中心需要考虑的重要的方面之一,当在VMware vSphere共享平台上提供服务时,为了面对停机时间的成倍增长,VMware设计了一个VMware vSphere HA(高可用性)的功能,VMware vSphere HA(高可用性)以下简称HA,它提供了一个简单且性价比高的解决方案,从而提高虚拟机上应用的高可用性且无关虚拟机的操作系统。vCenter Server的简单几步即可完成HA配置,同时提供统一的和简便的接口,在ESXi或者ESX服务器建立群集时,你可以开启HA功能,我们将在这本书中用ESXi服务器作为参照,也就是说以ESXi服务器为标准.功能的启用可以保护你们的虚拟机,当群集中一台主机出现故障,受影响的虚拟机会自动在同一个群集中其它的ESXi主机上重新启动。
图1:HA的活动流程
另外,当虚拟机的操作系统发生故障时,HA能够重新启动虚拟机上的操作系统,这个功能被称之为虚拟机监测,但有时候也称之为VM的HA,这听起来相当的复杂但也可以通过鼠标点击实现。
图2:点击HA的监测级别
@莫斯 和 本人分别做了一个实验,首先开启虚拟机监控为<虚拟机和应用程序监控>,然后在虚拟机选项中选择相应的虚拟机匹配不同的<主机隔离响应>,测试是否生效。
实验结果如下表
可以看出,虚拟机的原始状态跟主机隔离响应的策略无关,我俩还是蛮有疑惑的。
不像其它的群集解决方案,HA是一个相当简单的解决方案,只需要依次点击5次鼠标,另外,HA被广泛应用在所有的环境中,但是,HA和微软的MSCS(群集服务)不一样,它不是一个1:1的备份解决方案,MSCS和HA的主要不同点是,MSCS是设计成保护群集应用的状态,而HA被设计成保护虚拟机,无论虚拟机上是什么类型的应用,但也可以通过虚拟机和应用程序的监控扩展到应用层。
在有HA的情况下,故障转移发生的停机时间就是虚拟机在群集中另一节点上虚拟机重新启动的时间,而MSCS故障转移发生的停机时间为服务切换到群集中另一节点的时间,与很多人认为的观点形成对比的是,MSCS不保证在群集故障转移时是零停机时间,另外,为了更有效的利用这一机制,你们的应用需要开启群集状态监测。
可能有这样一个问题,当虚拟机重新启动,应用服务临时真空的情况下,为什么要用到HA,这个问题很简单,不是所有的虚拟机或者应用服务需要99.999%时间开机提供服务,HA能够满足足够多服务的需求,另外,许多应用不支持MSCS群集故障转移功能,这意味着如果群集中的应用没有被MSCS检测到时,不能保证应用的高可用性和数据一致性。
另外,MSCS群集配置比较复杂,需要专业的技术和背景,打个比方,补丁管理服务器和更新服务器在一个MSCS环境中,如果配置不正确会导致更多的故障停机时间及更复杂的程序配置方式。但HA可以减少复杂度,开销时间,资源消耗和停机时间,这些可以体现HA的重要性,相反的是MSCS,不需要任何改变的guest,HA仍可以在虚拟化层提供服务,而且,虚拟机监测除了安装VMware Tools不需要其它的附加软件或者系统模块,无论如何,安装VMware Tools是一个非常好的方法。如果需要更高基本的高可用性,VMware还可以通过应用程序监控提供,和赛门铁克一样被利用来弹性定义应用级别,还可以在内部团队进行开发时,增加应用的弹性。
HA已经一次又一次的证明自己,它已经广泛的应用于各个领域,如果你到今天为止还没有使用它,看完这部书希望你能相信。
vSphere 5.1
当我们深入HA的主体架构中,并描述怎样配置使用HA时,我们首先简单的介绍下vSphere 5.0和5.1的变化,描述启用HA的基本要求和步骤,聚焦这边书,可以增强虚拟架构中的稳定性,我们还认识到,你们有可能还不熟悉vSphere 5.0,我们同样会强调vSphere5.0的变化,我们在适当的情况下,仍然会讨论功能和概念,包括自从vCenter2.0之后出现组件,以确保您在各个方面更全面的理解HA。
5.X的变化
在vSphere 5.0之前,HA的功能没有得到大的增强,也许你在vSphere5.0和vSphere5.1之间看不到变化,但他们有些地方还是很突出。
在vSphere 5.0的HA完全从底层被重新设计和开发,这也是HA从之前故障转移需要分钟为单位代替为秒为单位的原因
vSphere 5.0中重新设计的HA,许多非常受欢迎的改变可以拿来介绍HA的扩展性,一些HA的关键组件完全被更改,同时添加了新的功能,为了便利,我们把改变列了下面的清单,那样我们可以更详细的讨论这个章节,vSphere 5.0的所有改变如下表所示:
新的HA的代理——FDM是新的HA代理,HA已经从最底层重新设计,也就是说FDM替换了AAM代理
不依赖DNS——为了避免依赖DNS,HA只需要写入IP即可。
主节点的概念——主/备节点的数量限制被取消(vSphere4.1版本以前最多支持5个主节点)
支持管理网络分区——当存在多个网络分区时,允许有多个主节点
增强隔离验证——当管理网络出现故障时,避免误报
数据存储心跳检测——在通过存储层验证主机状态时,这种额外的信号检测可以减少误报的机会,
增强管理控制规则
1台主机故障允许4台主机接管(最大支持31台)
以百分比为控制粒度,可以允许你单独规定CPU或者内存的使用率
基于接入控制策略,可以允许多个主机成为故障主机的目标重启主机
vSphere5.1则增加了一些功能,虽然与vSphere5.0相比,这些似乎是次要的,他们是非常重要的了解,以便创建一个高度灵活的环境。
通过vSphere Web Client设置主机故障接纳值
能够检索跨越多个插槽的虚拟机的列表
增强了设备永久丢失的处理情况(vSphere 5.0.1有介绍)
支持虚拟机系统的休眠模式
Guest SDK中包括应用监测SDK
vSphere HA(FDM) VIB自动被添加到自动部署步骤中
通过”das.config.fdm.iso-lationPolicyDelaySec”设置延迟响应
HA工作需要哪些条件
每个产品功能都需要相关的前提条件支持,HA也不例外,了解HA的前提条件也是学习的基础部分,我们必须抛开之前我们提到的复杂的概念,来迎接全新的HA,我还要像您展示怎样配置HA。
先决条件
在配置HA前,强烈要求在环境中验证它的先决条件,为增加弹性,我们还建议在基础环境中也验证先决条件。
需求:
最少2台ESXi主机
安装ESXi的主机至少3GB内存
VMware vCenter Server
虚拟机能访问的共享存储
可靠的网关或者其它IP地址
建议:
管理网络冗余(不是必须的,但强烈建议)
多路径共享存储
防火墙需求
在下表中是HA需要用于通信的端口,如果主机的内网环境运行着防火墙设备,为保证HA功能正常这些端口必须打开,在ESX或者ESXi防火墙上也同样需要打开以下端口,需要注意的地方是vSphere5.0之前需要多个端口来进行HA通信,而vSphere只需要用到一个端口。
表一:高可用端口设置
配置vSphere的高可用性
HA只需要点击几次即可完成配置,接下来的步骤将会展示怎样建立群集和开启HA,包括虚拟机监控,使用vSphere Web Client,这些设置和设计在接下来的章节内容中详细描述。
1. 登录连接vCenter Server
2. 数据中心右键建立新的群集
3. 给新的群集命名,建议名称中至少包含位置信息,然后按序号排列,如ie.ams-hadrs-001
4. 选择开启HA
5. 启用主机监控和策略
6. 在接入控制策略下选择作为故障切换空间容量保留的群集资源的百分比
7. 开启”虚拟机和应用程序监控“
8. 点击“OK”完成配置
图3:群集即将完成配置信息
当HA群集建立完成,右键点击ESXi主机可以迁移它到群集中,如果加入了vCenter,在群集上右键添加ESXi主机即可
当一台ESXi主机首次添加到新建的群集中,HA的代理会被加载和配置,一旦代理配置完成,HA将会为运行中的ESXi主机提供保护。
正如我们所阐述的,HA是一个简单的群集解决方案,它可以在主机或者操作系统出现故障的几分钟内保证虚拟机继续工作,了解了HA的架构,当涉及到可用性时,我们能更容易解决问题,在接下来的章节,我们将讨论HA的架构和基本概念,我们还将讨论在客户的环境中我们如何根据需求来决策配置HA的方式。