VMwarevSphere51群集深入(第四部分群集架构的扩展)_第1页
VMwarevSphere51群集深入(第四部分群集架构的扩展)_第2页
VMwarevSphere51群集深入(第四部分群集架构的扩展)_第3页
VMwarevSphere51群集深入(第四部分群集架构的扩展)_第4页
VMwarevSphere51群集深入(第四部分群集架构的扩展)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四部分群集架构的扩展第一章群集架构的扩展第二章vSphere配置第三章故障排错第四章总结汇总第五章附录第一章群集架构的扩展在 这部分我们将继续讨论特定的基础架构、怎样利用HA,DRS和存储DRS以及怎样部署增加可用性。无论是你的工作量还是资源提供给你的工作量,我们将通过 一些设计建议和决策方法来进行指导。当然,为了在实施的细节上做出合适的决定,完全了解你的环境是必要的。无论如何,我们希望这个部分能提供一个恰当的方 式理解如何将某些功能放到一起,如何在你的环境接收到需求的时候,建立理想的架构。场景我 们选择是场景是扩展群集,也会提到VmwarevSphereMetroStorageCluste

2、r解决方案。我们选择指导的场景来允许我们解 释多个设计和架构考虑。尽管场景已经测试过,在我们的实验环境中也有效,每个环境是独一无二的,我们的建议基于我们的经验和你的情况可能不同。一个VMwarevSphereMetroStorageCluster(vMSC)配置是VmwarevSphere5认证的解决方案,基于群集结合存储阵列同步复制。这个解决方案通常部署在数据中心距离上有限制的环境,往往大都市或者校园环境。扩 展群集模式主要的优势是使数据中心充分活跃和工作负载平衡,因为站点之间虚拟机的迁移和存储vMotion的能力,许多客户发现了其吸引力,开启on- demand和non-intrusive

3、来跨站点移动工作负载,群集的扩展能力提供主动负载平衡自由,这应该是主要的设计和实施目标。扩展群集解决方案提供的好处: 工作负载移动性 跨站点自动负载平衡 增强避免停机时间 避免灾难技术需求和约束因为虚拟机在线迁移的技术约束,有一些指定的需求必须在扩展群集实施时需要考虑,这些需求在Vmware硬件兼容向导中存储部分的清单中,包括如下: 存储连接使用光纤通道,ISCSI,SVD(存储虚拟化设备)和支持FCOE 存储连接使用NAS(NFS协议)在写入的时候不支持vMSC配置(2012年8月) 在站点和ESXi管理网络之间支持的最大网络延迟为10ms往返时间(RoundTripTime(RTT)) 注

4、意vMotion仅仅在企业加强版的license下才支持的10ms延迟(MetrovMotion) 为了同步存储重复链接支持最大的延迟是5ms(RoundTripTime(RTT)),通常你的存储厂商会提供它们允许的最大的RTT ESXi的vMotion网络至少需要622Mbps的冗余网络链路存 储的需求比存储同步复制解决方案要复杂一些,一个vSphereMetroStorageCluster请求会由单个存储子系统扩展到站点,在这个 设计中,提供的数据存储必须可以访问(能读能写),并同时来自于两个站点。更进一步,当问题出现,ESXi主机必须能继续从任一站点访问数据存储,不影响 正在进行的存储操

5、作。这排除了传统的同步复制解决方案,当他们在活动的(主)LUN之间创建主/备关系,数据被访问,备LUN正在收到复制 操作,在这些解决方案中,为了访问备LUN,重复必须停止(或者撤销),LUN可见主机,现在升级了的备LUN有了完全不同的LUNID,本质上是一个 新的可用副本,这种类型的解决方案适用于适用于传统的灾难恢复。预计虚拟机需要在第二站点上启动,vMSC需要同时配置第二站点,vMSC需要同时配置不 影响访问,所以站点之间还是允许运行着的虚拟机进行迁移;正常的vMotion不会迁移虚拟机的磁盘文件。vMSC的存储子系统必须在两个 站点上同时读写,所有磁盘写入站点同步来确保数据一致性。写无论本

6、地从哪个位置读取,存储架构在群集站点间调用需要大量的带宽和非常低的延迟,增加距离和 延迟将引起磁盘写入延迟,使得性能大打折扣,将不允许在群集站点的不同地点之间成功执行vMotion。统一和非统一vMSC解决方案在不同区域目录中分类,这些分类基于不同基础的主机访问存储。理解不同类型的扩展存储解决方法非常重要,它会影响到你的设计,有个主要的目录在VMware硬件兼容性列表中有描述: 统一主机访问配置两个站点的ESXi主机要连接全部站点存储群集上的存储节点来访问,提交ESXi主机的路径是扩展访问距离 不统一的主机访问配置每个站点的ESXi主机只连接同一站点的存储节点,提交ESXi主机的路径的存储节点

7、限制在本地站点。让我们从架构和实施角度描述更深一些来确保它们足够清晰。统一,数 据中心-A和数据中心-B的主机既能访问数据中心A存储系统又能访问数据中心B存储系统。实际上,存储区域网络在站点和所有主机之间被扩展从而能访问所有 的LUN,在这些配置中,读写访问LUN发生在两个阵列之一上,同步镜像被维护隐藏,在第二阵列处于只读状态。例如,如果LUN包含的数据存储在数据中心 -A的阵列上可读写,所有的ESXi主机将通过数据中心A的阵列进入数据存储,为了数据中心A的ESXi主机,会有一个本地访问,数据中心BESXi主 机上的运行着虚拟机的位于数据存储上,为了防止停机或者LUN的操作控制转换到数据中心-

8、B上,所有的ESXi主机将继续查看在场的相同的LUN,除了已 经访问了数据中心-B的ESXi主机。图160:统一存储架构正如你所看到的,理想的情况是一个虚拟机同一个数据中心通过阵列控制(读写)访问的数据存储,这最大限度的减少了数据中心之间的流量,避免了读取整个互连性能的影响。虚拟机的站点关联的概念是由数据存储的读写副本支配,“站点关联”一些时候也称之为“sitebias”或者“LUNlocality”,意味着当数据中心A上的虚拟机有站点关联,它读写数据中心A位于数据存储上的副本,这已经在DRS章节中解释得较详细。不统一:数据中心A上的主机只能访问数据中心本地的阵列,阵列(相反的数据中心的同级阵

9、列)负责提供全部的数据存储大家访问,在大多数场景中虚拟机用到了这个概念,它允许每个数据中心上的ESXi主机读写同一个数据存储/LUN。很 好理解,即使两个虚拟机在同一个数据存储,但位于不同的数据中心,它们会写到本地,在此配置的一个关键点是,定义每个LUN/数据存储的站点关联 (SiteAffinity),还有时候需要涉及到“Sitebias”或者“LUNlocality”。换句话说,如果在站点和站点上的存储系统 之间的链路上发生一些事情,站点为了个给数据存储将只有读写方式的能够访问,这当然是为了在失败的场景下阻止数据损坏。图161:不统一的存储架构作为统一的解决方案是当今最常用的部署,我们的测

10、试情况下将使用统一存储,应当指出,许多的设计考虑也适用于非统一配置,若不是这种场景的情况,我们会进行收集。场景架构在 这部分我们将为场景描述架构配置,我们还将讨论一些基本的配置和多样的vSphere功能,为了更深的解释各自的功能,涉及到此书HA和DRS部分,我们 将基于VMware最佳实践和提供的操作手册来提出针对建议,在我们失败的场景中将解释怎样在实践中阻止和限制停机时间。架构一 个由单个vSphere5.1群集和4个ESXi主机组成的架构场景,vSpherevCenter服务器管理这些主机,它决定使用 vSphere5.1来测试提高改进vSphere5.0U1中介绍的“永久设备丢失”(PD

11、L)场景。介绍的这些加强的功能主要用于扩展群集环 境。我们将在此章节讨论vSphereHA部分更详细的内容。值得注意的是在vSphere5.1中PDL行为方面没有任何改变。为了 我们测试目的,我们模拟有两个站点的用户环境,第一个站点叫Frimley,第二个站点叫Bluefin。Frimley数据中心和Bluefin数据中 心之间是扩展2层网络,学校群集之间的距离是最小的距离,vCenterServer和虚拟机运行在同一个群集上。每个站点有两个 ESXi主机,Bluefin数据中心的vCenterServer配置了vSphereDRS管理主机,在扩展群集环境中只有一个 vCenterServer

12、实例是使用的,不同于传统的VMwareSiteRecoveryManager配置需要两个 vCenterServer。在第15章讨论了配置VM-Host关联规则,在我们的场景中使用ISCSI为主要协议。在 vSphere5.1群集通过统一设备接入模式的光纤配置连接上NetAppMetroCluster。此配置在NetApp的技术白皮书“TR- 3548”中有深入描述。这意味着群集里每个主机连接了两个存储节点。每个节点连接到两个光纤交换机,第二区域的节点还连接到两个类似的交换机,对于任何 给定的LUN,两个存储节点中的任何一个呈现的LUN是通过ISCSI读写。与此相反的存储节点保持着复制,只读副

13、本有效的隐藏起来,直到ESXi主机需要。当使用NetAppMetroCluster,一个ISCSI连接绑定一个指定的虚拟IP地址,ESXi主机上的这个虚拟IP地址用来连接存储控制器。在失败的场景中,IP-Address转换到相反的存储控制器,允许无缝访问目标存储的IP地址,而不需要重新配置。总计创建了8个LUN:4个通过虚拟ISCSIIP地址访问Frimley数据中心,另外4个通过虚拟ISCSIIP地址访问Bluefin数据中心。图162:基础结构表27:基础架构第二章vSphere配置这种情况下,我们的重点是扩展群集环境中vSphereHA,vSphereDRS和存储DRS之间的关系,以及围

14、绕这些vSphere组件在设计和运作方面经常被忽视和低估的考虑。历来很多重点放在存储层,而很少考虑工作负载如何配置和管理。如 我们之前提到的,扩展群集关键的驱动力是工作负载平衡和灾难避免。怎样确认我们的环境是处在合理的平衡中而没有影响可用性或者大幅减少操作开销?我们怎样 建立配置需求和持续管理过程,我们怎样定期验证我们仍然满足我们的需求?定义和遵从需求失败会使环境混乱难以管理、各种故障场景难以预测,也会希望它来帮 助你。事实上,忽略过程会导致故障事件中产生额外的停机时间。这三个VMwarevSphere功能每一个都有特别的配置需求,能加强你 环境的弹性和工作负载的可用性,通过这一部分,架构建议

15、将产生,这些建议将基于测试期间的各种场景发现的问题。每一个故障场景测试在接下来的章节中都被记 录,请记住,这些故障场景直接应用这些实例的配置,基于你的实施和配置选项你的环境可能会受到额外故障。vSphereHA特性我 们的实例环境中有4台主机和一个统一扩展存储解决方案。当全部站点发生故障是需要考虑弹性架构的一个场景,我们建议开启接入控制 (AdmissionControl),工作负载的可用性是许多扩展群集环境的主要驱动力,它建议有足够的容量允许全站点故障,尽管如此,两个站点将平 等的分配主机,来确保所有的工作负载能通过HA重新开始,建议配置接入控制策略为50%。我们建议使用基于百分比的策略来提

16、供架构的灵活性和减少操作开销,尽管新主机加入环境中没有必要改变百分比,而且没有整合率偏差,导致使用虚拟机级别预留资源的风险,更多详情请见第6章。HA使用心跳检测机制来验证主机的状态,如第3章解释的有两个心跳检测机制;称为网络和数据存储心跳检测,网络心跳检测时HA验证主机的主要机制,数据存储心跳检测是一旦网络心跳检测失败通过HA来确定主机状态的另一种机制。如 果主机没有收到任何的心跳检测,它检测是否仅仅是从其它主机隔离或者网络中完全隔离。这个过程包括了Ping主机的默认网关,或者一个或者多个手工设置的 隔离地址来代替主机网关,从而加强隔离检测的可靠性。我们建议指定最少两个额外的隔离地址并且每个地

17、址能到本地网络,即使在站点之间连接失败的情况下,开 启HA能够验证完整的网络隔离,并提供冗余允许一个IP故障。但是,如果主机被隔离,vSphereHA触发响应,这在之前有解释过,叫 做隔离响应,当主机同管理网络之间的连接断开,触发隔离响应来保证妥善管理虚拟机。隔离响应在第三章有深入讨论,根据使用不同的存储和物理网络完成,隔离 响应用来在需要时做出决定,我们提到在第四章,表3中支持的决定。在我们的测试环境中,一部分这些地址将属于Frimley数据中心,另 一部分属于Bluefine数据中心,屏幕截图显示了怎样配置多个隔离地址的实例,vSphereHA高级设置使用 das.isolationadd

18、ress,更详细的如何配置可以在KB文章1002117中找到。为了vSphereHA数据存储 心跳在任何故障场景中都运行正常,我们建议增加数据存储心跳的数量为2-4,最少的数据存储心跳为2,最大为5,扩展群集环境中建议4,这样将提供本地的 全冗余。还建议定义4个指定数据存储为优先数据存储心跳,选择一个站点的2个然后选择另一个站点的2个。这样做即使站点之间发生连接故障也允许 vSphereHA的数据存储心跳。如果站点之间发生连接故障后站点还存在部分网络,这些数据存储将非常有用。数据存储心跳的数量能通过HA高级设置das.heartbeatDsPerHost.进行增加。我 们建议使用“选择考虑加入

19、我的首选项的任何群集数据存储”,它将允许vSphereHA选择任意4个设计的数据存储,我们手工选择变得不可用,原因是如 果我们建议的站点间4个心跳连接失败,vCenter将最终在一个站点上,这样另一个站点的主机就没有机会HA来改变数据存储心跳。这个设置的截屏如下。图163:数据存储心跳vSphere5.0U1永久设备丢失(PDL)增强vSphere5.0U1 版本中,介绍了永久设备丢失(PDL)的条件允许数据存储上的虚拟机自动故障转移,我们将在其中一个故障场景中展示一个PDL环境,沟通的环境是通过阵 列控制器经过一个指定的SCSI代码到ESXi,这些条件声明一个设备(LUN)将不可用,并且可能

20、是永久不可用。当存储管理员设置这个LUN脱机,这个 实例场景通过阵列通信,当撤回访问LUN,不统一的环境发生故障期间用来确定ESXi进行合适的行动,应该注意的是当全部存储发生故障,可能生成永久磁盘 丢失的情况,在阵列和ESXi主机之间没有通信的可能,这个状态通过ESXi主机来识别当做所有路径断开(APD)。重要的是认识到接下来的设置只应用PDL环境,而不是APD环境,在我们的故障环境中,我们将论证两种环境的不同行为。为 了允许vSphereHA响应PDL环境,vSphereU1里介绍了两个高级设置,第一个主机设置是 disk.terminateVMOnPDLDefault。这个设置在/etc/

21、vmware/settings里配置,由默认设置为“True”, 注意这是每主机的设置,主机需要重新启动这个设置才生效,当数据存储进入了PDL状态,这个设置确保杀掉虚拟机。PDL环境中一旦杀掉虚拟机,数据存储就 磁盘I/O初始化。如果虚拟机的文件没有在同一个数据存储上,并且PDL存在其中一个数据存储上,通过HA虚拟机可能不会重新启 动,vSphere5.1里修正了这个问题,为了确保PDL环境中能通过HA进行迁移,我们建议设置 disk.terminateVMonPDLDefault为“True”,并将虚拟机文件放置单个数据存储上,请注意当数据存储没有产生I/O,虚 拟机只是被杀掉,虚拟机可以恢

22、复活动的。正在运行密集内存负载而数据存储没有产生I/O的虚拟机可能恢复活动状态。第二个设置是 vSphereHA的高级设置,称之为das.maskCleanShutdownEnabled。vSphere5.0U1中介绍了这个设置, 默认是禁用的,需要设置你的HA群集为“True”,这个设置允许HA触发PDL环境中自动杀掉的虚拟机重启,HA不能区分虚拟机是被PDL杀掉还是被管 理员关闭,设置标记“True”假定是前者。注意在APD期间用户关机将被行为标记我们建议设置 das.maskCleanShutdownEnabled为“True”,为了限制PDL环境数据存储上虚拟机的停机时间,当 das.

23、maskCleanShutdownEnabled没有设置“True”,PDL环境也存 在,disk.terminateVMonPDLDefault被设置为“True”,杀掉虚拟机后,虚拟机重新启动不会发生,HA将假定虚拟机是管理 员断电(或者关闭)。vSphereDRSvSphereDRS在很多环境中用来分 配群集负载。vSphereDRS提供很多其它功能来帮助扩展环境,我们建议开启vSphereDRS允许群集的主机之间的负载平 衡,vSphereDRS负载平衡计算是基于CPU和内存的使用情况,同样,关于存储和网络资源利用率和流量也必须小心照顾,为了避免扩展群集环境中 非预期的存储和网络流量开

24、销,我们建议执行vSphereDRS关联规则来允许合乎逻辑和可预测的分开虚拟机,这将帮我们提高可用性,负责架构服务的 AD,DNS虚拟机,这将有助于确保这些服务跨站点分离。vSphereDRS关联规则还帮助阻止存储不要的停机时间和网络流量过载,我 们建议调整vSphereVM-Host的存储配置关联规则,我们的意思设置VM-Host关联规则,这样虚拟机偏向于运行在同一站点的主机上,同时数 据存储阵列的主要读/写节点进行配置。例如,我们的测试配置中,虚拟机存储在Frimley-01数据存储设置了VM-Host关联规则是偏向于 Frimley数据中心的主机。这样确保了站点间网络连接发生故障时,虚拟

25、机不会断开与存储系统的连接。VM-Host关联规则配置取决于这些建议,从而 确保虚拟机呆在主数据存储本地。巧合的是所有的读I/O来自于它们站点的本地虚拟机,注意:不同存储厂商使用不同的技术来描述LUN到阵列或者控制器的关 系,在这个章节我们将使用通用术语“StorageSiteAffinity”,“StorageSiteAffinity”意味着偏向于LUN 的本地读写访问。我们建议执行“shouldrules”,这些在HA发生故障时都能够被冲突,服务的可用性应该一直胜过性能。在 “Mustrule”情况下,HA将不会同设置的规则冲突,在站点或主机发生故障时它可能导致服务中断。一个数据中心发生故

26、障的场 景,“Mustrules”将使它不可能为vSphereHA重启虚拟机,同时他们没有关联规则请求来允许虚拟机在其它数据中心的主机上开启。 vSphereDRS同HA的沟通这些规则,把他们存储在允许启动的兼容性列表。vSphereDRS还有一个注意的地方,在某些情况下,如果大量的 主机不平衡和激进建议设置,会与“Shouldrule”冲突。尽管非常罕见,我们建议监控对你的工作负载产生可用性和性能有冲突的规则。我 们建议手工定义创建站点的一组主机,基于数据存储关联规则添加虚拟机到这个站点上,在我们的场景中只有限制数量的虚拟机被发布,我们建议使用 vCenterOrchestrator或者Po

27、werCLI自动定义站点关联规则,如果没有选择自动,我们推荐使用一个通用的命名惯例,简化创建这 些组,我们建议这些组定期验证,来确保属于组的虚拟机有正确的站点关联规则。接下来的截屏描述了用于该场景的配置,在第一张截图中,所有的虚拟机应保持在Bluefin本地的虚拟机组内。图164:DRS组-虚拟机接下来,创建一个本地包括所有主机的Bluefin主机组。图165:DRS组-主机最终,Bluefin本地创建好了一个新的规则,定义了连接到主机组虚拟机组“shouldrunon”规则图166:VM-Host规则两边本地都应该完成,直接导致了4个组合2个规则。图167:结果-管理规则调整关联性规则冲突D

28、RS分配了高优先级来调整关联性规则冲突,在调用期间,DRS的主要目标是调整任何冲突和为群集主机组主机清单上虚拟机生成迁移建议,这些移动的优先级比负载平衡高,所以将在负载平衡之前开始虚拟机迁移。DRS 默认每5分钟调用一次,但是如果群集检测到更改DRS还是会触发,当主机重新连接上群集,DRS被调用,并生成建议来调整任何识别的冲突。我们的测试展示 了在主机重新连接群集后的30秒内DRS生成建议来调整关联规则冲突。注意DRS限制了vMotion网络的总吞吐量,这意味着在所有的管理规则冲突被调 整之前,可能需要多次调用。vSphereStorageDRS当定义的性能或者容量阈值超出,StorageDR

29、S从管理员角度和虚拟机、磁盘平衡来考虑启用激进的单一数据存储,存储DRS确保你的工作负载中足够的磁盘资源可用,我们建议开启存储DRS。存 储DRS使用存储vMotion在数据存储群集内的数据存储上来迁移虚拟机,由于底层扩展存储系统使用同步复制,一个迁移或者一系列迁移将对重复流量有影 响,导致在移动磁盘的时候出现网络资源争用,可能引起虚拟机临时不可用。从站点的角度,如果虚拟机不一起迁移它们的磁盘,在同一访问配置中迁移漫游数据存 储还可能导致额外的I/O延迟。例如,如果Frimley主机上的虚拟机有磁盘迁移到Bluefin的数据存储上,它将继续操作,但可能降低性能。虚拟机 读取磁盘受制于站点B读取

30、虚拟iSCSIIP延迟的增加和受制于站点间的延迟。当迁移发生时能够控制,我们建议配置存储DRS手工模式,这允许人工验证每个建议,并允许在非峰值时间应用建议,同时获得操作的益处和初始化位置的效率。我 们建议基于存储配置遵从存储站点关联来创建数据存储群集,站点A关联的数据存储不能同站点B的数据存储相互混合。这将允许操作的一致性和缓和 DRSVM-Host关联规则的创建和持续。因此当数据存储群集和定义存储站点关联边界之间的虚拟机被迁移,建议来保证所有的 vSphereDRSVM-Host关联规则被更新。我们建议调整数据存储群集和VM-Host关联规则的命名约定,以简化配置和管理流程。命 名约定在我们

31、的测试中用来给数据存储和数据存储群集一个特别的站点名称,从而简化站点上发布虚拟机的DRS主机关联性。在我们的站点“Bluefin”和 “Frimley”里的站点特指存储见下图。请注意vCenter映射功能不能用来查看存储当前的站点关联,同时也不能显示数据存储群集的对象。图168:数据存储群集架构第三章故障排错这里有许多在群集系统故障场景没有介绍,但在一个合理的架构环境中,HA,DRS和存储子系统不会发生这些情况,我们将不解决没有影响力的故障,例如单根网线的故障。它们在你选择存储厂商提供的解决方案文档中已经有深入解释。我们将讨论接下来的一些“常见”的故障场景: Frimley数据中心的单台主机故

32、障 Frimley数据中心的单台主机隔离 存储分割 数据中心分割 Frimley数据中心磁盘柜故障 Frimley数据中心全存储故障 Frimley数据中心全计算故障 Frimley数据中心全计算故障和Bluefine数据中心全存储故障 Frimley数据中心完全损失我们还将在测试场景中指定设置错误的配置。这些设置会导致虚拟机的可用性和可恢复性发生故障,因此理解错误配置后的影响非常重要。 VM-Host管理规则配置错误 心跳数据存储配置错误 隔离地址配置错误 永久设备丢失配置错误 vCenterServer脑裂场景所有这些厂家都被测试,下面是我们每个方案的结果和可能的建议(如适用)。Friml

33、ey数据中心单台主机故障在这个场景中,我们通过在Frimley数据中心拔掉运行主机电源线缆来模拟完成了主机故障。这个场景描述如下图。图169:单个主机故障结果通过vSphereHA所有的虚拟机成功启动,但是没有根据VM-Host关联性规则启动。解释如 果一台主机发生故障,群集的HA主节点检测到故障,从此该主机不再收到网络心跳。在主节点检测到网络心跳丢失,它将开始监控数据存储的心跳,自从主机完全 发生故障,它不能产生数据存储心跳,这些通过HA主节点检测。在这段时间,ping故障主机的管理地址,再一次检测完成。如果所有的检测返回都是不成功 的,主节点将申明丢失的主机死亡,再主节点与主机失去联系之前

34、,将尝试重新启动故障主机上所有受保护的虚拟机。vSphereDRSVM- Host管理规则定义群集级别时“shoudrules”(的成员虚拟机应在组),意味着虚拟机可能在其它数据中心的主机上重启。在我们的测试中,我们 见证这一行为多次,虚拟机在Bluefin数据中心群集中任一可用的主机上启动。vSphereDRS在首次调用时将尝试调整任何冲突的关联规则,同时 按照他们的关联规则排队自动迁移置入虚拟机。我们建议手工调用vSphereDRS来确保所有的虚拟机在正确的主机上,尽可能避免性能降低和减少可用性 以及可能的二次故障。在我们的场景中,虚拟机置入位置丢失将导致增加延迟,虚拟机将访问其它地方的存

35、储。下面的截图描述了怎样在vCenter群集对象的 DRS项中手工运行DRS。图170:手工触发DRSFrimley数据中心主机隔离故障在这个场景中,我们通过断开单个主机的所有的网络连接将其从Frimley数据中心隔离,存储网络不受影响。图171:单个主机隔离结果虚拟机保持运行,隔离响应设置的是“保持电源开启”解释当 主机被隔离,通过HA主节点隔离被检测到,同时该主机不再接受网络心跳。当主节点检测到网络心跳丢失,它将开始监控数据存储心跳,自此主机被隔离,它将 在第二次HA检测机制时产生数据存储心跳,检测到有效的主机心跳将允许HA主节点来决定主机在运行中但网络隔离。依靠隔离响应配置,受影响的主机

36、可能选择 断电或者关闭虚拟机,或者依次让虚拟机通电。主机被隔离后30秒触发隔离响应。我们建议调整隔离来响应商业需求和物理约束。从最佳实践观点 来说,“保持电源开启”是主流环境的推荐隔离响应。在合理的架构环境中隔离主机是非常罕见的事件,冗余是非常主流的设计,在使用基于网络存储协议的环境 中,例如iSCSI和NFS,建议隔离响应是“关闭电源”,在这些环境中,它更可能是网络中断引起的主机隔离还将影响主机与数据存储的通信。如 果隔离响应推荐选择“保持开启电源“,当隔离响应被触发,将通过群集上的HA节点重新启动虚拟机。vSphereDRSVM-host管理规则定义了 群集级别时“shouldrules”

37、,意味着虚拟机可能在其它的数据中心的主机上重启,在我们的测试中,我们见证过这一行为多次,接下来的主机隔离和 群集响应关联,我们建议手工调用vSphereDRS确保所有的虚拟机在合适的主机上,尽可能避免性能降低和无法置入虚拟机。在我们的场景中,无法置入 虚拟机将导致增加延迟,同时虚拟机将访问其它地方的存储。存储分割在这个场景中,模拟数据中心之间的存储网络发生故障,描述如下图。图172:存储分割结果虚拟机没有受到影响继续运行解释每个LUN有定义关联存储站点,vSphereDRS规则与这些关联一致。由于这些配置,没有虚拟机受到影响,同时它们的站点运行的存储保持可用。如 果任何原因虚拟机的关联规则发生

38、冲突,Frimley数据中心内主机上运行的虚拟机,它们的磁盘属于Bluefin数据中心的数据存储,在站点间的存储分 割,数据存储在所有路径断开(APC)的条件下,它不能成功的产生I/O。当HA主仍收到来自于群集其它主机的心跳,它将不会有任何行动:它们站点有冲突 的任何虚拟机将不同通过HA重新启动,除非手动关闭虚拟机。我们建议监控vSphereDRS规则的兼容性来避免APD场景中不必要的停机时间,尽管vSphereDRS每分钟调用一次,它不会保证每次调用期间所有的冲突都被解决。因此,建议严格的监控来允许快速识别异常同时阻止不必要的当机时间。数据中心分割在这个场景中,我们完全将Frimley数据中

39、心和Bluefin数据中心隔离,描述如下图。图173:数据中心分割结果虚拟机保持运行无影响解释在 这个场景中,两个数据中心彼此完全隔离,这个场景类似于存储部分和主机部分隔离。发生这样的故障虚拟机不受影响。当vSphereDRS规则正确的执 行,没有规则冲突。在群集分割期间HA按照逻辑的过程来决定哪些虚拟机需要重新启动:Frimley数据中心上运行的HA主节点检测到Bluefin数据 中心的全部主机不可达,HA主节点首先检测没有接受到网络心跳。在此之后,它将证实是否有任何存储心跳生成;这个检查将检测存储心跳,同时站点之间存储连 接发生故障,每个站点的数据存储心跳只更新本地的。虚拟机将关联剩下的正

40、在运行的主机。接下来,HA将证实是否接受重启,因为数据存储的读写版本处于 Bluefin无法访问Frimley的主机,所以不要尝试开启其它站点丢失的虚拟机。同样的,Bluefin数据中心的ESXi主机将 检测有没有主节点可用,并初始化选举主节点的过程,在新的主节点选出后,它将试图发现发生故障之前运行着的虚拟机,尝试重新启动它们。当所有关联到 Bluefin的虚拟机仍运行在Bluefine数据中心,就不需要重启。只有关联到Frimley的虚拟机不可用,vSphereHA不会重启这些虚 拟机,因为虚拟机所在的数据存储关联到Frimley,而在Bluefin数据中心不可用。如果主机关联规则冲突,例如

41、,默认,行为发生改 变,虚拟机运行的存储没有定义的读写。我们故意配置冲突关联规则来记录这个行为:我们手工从Frimley迁移虚拟机到Bluefin,这样做之后,我们 创建了一个情况,虚拟机运行在Bluefin的主机上运行,但是可以访问Frimley数据中心的数据存储,当数据中心被隔离,接下来的顺序是我们见证 的:1.虚拟机关联到Frimley但在Bluefin上不能到达数据存储。这导致了虚拟机不能磁盘读写2.在Frimley数据中心,虚拟机通过vSphereHA重新启动,同时Frimley数据中心的主节点不知道Bluefin数据中心运行的实例3.由于数据存储只有Frimley数据中心的主机能使

42、用,Frimley数据中心的主机能获取锁定的虚拟机文件,并能够开启虚拟机4.创建的这个场景,同一个虚拟机在两个数据中心上运行。图174:上电顺序这是为什么? 运行的虚拟机主机网络心跳丢失,因为两个站点之间没有管理网络连接 数据存储心跳丢失,因为两个站点之间没有存储网络连接 ping运行了虚拟机的主机的管理地址失败,因为两个站点之间没有管理网络连接 Frimley数据中心本地的主节点知道发生故障之前虚拟机已经开启,因为它不能再发生故障之后同Bluefin数据中心内的主机上的虚拟机通信 通过Bluefin数据中心的主机判断数据存储全部路径断开,同样的,没有采取任何行动。正如之前解释的,只有PDL条

43、件下虚拟机被自动杀掉。当两个站点之间的连接被修复,经典的“脑裂”场景就存在了,在短时间内,两个同样MAC地址的虚拟机副本在网络上被激活。但是,它将访问虚拟机文件,HA也认识到这一点,只要被检测到,所有属于虚拟机的副本不会访问被杀掉的虚拟机,如下图所示。图175:锁定文件日志信息在这个例子中,如果站点关联规则维护得比较合理,不必要的停机时间应该等于虚拟机的重启时间,而这个例子不是。所以我们建议更进一步监控vSphereDRS规则与数据存储站点的关联来阻止不必要的停机时间。Frimley数据中心磁盘柜故障在这个场景中,Frimley数据中心的一个磁盘柜发生故障。在存储A上的Frimley01和Fr

44、imley02受到影响。图176:磁盘柜故障结果虚拟机保持运行但可能增加了存储延迟解释在 这个场景中,只有Frimley数据中心的磁盘柜发生故障,存储处理器认识到故障,并立即交换Frimley的主磁盘柜到Bluefin数据中心的镜像副 本上,在我们测试期间,没有发现任何对虚拟机的影响除了I/O响应时间,这将导致Frimley和Bluefin之间较低延迟的连接。这个场景通过扩展群 集解决方案可以全面的认识和把握。不需要重新扫描数据存储或者HBA卡,而且无缝切换,从ESXi的角度来看,LUN是相同的。Frimley数据中心全存储发生故障在这个场景中,我们在Frimley数据中心中测试了全存储系统发

45、生故障,如下图所示:图177:全存储发生故障结果虚拟机保持运行无影响解释当 Feimley数据中心的全存储系统发生故障,一个“接管”命令手工初始化。描述如下,我们使用NetAppMetrocluster配置。“接管”是 特指NetApp环境中的命令,但相似的命令和进程在其它厂商的扩展群集解决方案中也存在。在命令初始化后,镜像,每个故障数据存储只读副本被提升为读 写,并立即访问,请注意,我们在一个非常高的级别来描述这个过程。更多详细的信息请查看存储厂商的文档。从虚拟机的角度来说,故障切换时无 缝的,意味着存储控制者将进行处理,vSphere或者存储管理员不会接收到请求。(注意当存储管理员初始化t

46、akeover命令这些是无缝的),应该 注意所有的I/O通过内部连接到其它数据中心,虚拟机保持运行在Frimley数据中心,同时访问在Bluefin数据中心其它的数据存储。vSphereHA不知道发生故障的类型,尽管数据存储心跳可能短暂丢失,HA不会采取行动,当网络心跳有3秒没有收到,HA主代理只检查数据存储心跳。存储发生故障网络心跳保持可用,HA不会接收到初始化任何重启。永久设备丢失在这个场景中,我们测试一个永久设备丢失的条件。这个场景在同一配置时比较少见,我们强制设置一个LUN为“离线”状态,永久设备丢失条件在不统一的vMSC配置中很常见。图178:永久设备丢失结果虚拟机通过ESXi被杀掉

47、,并通过HA重启解释当 模拟了永久设备丢失条件,属于该数据存储的虚拟机被立即杀掉,虚拟机被杀掉之后,虚拟机通过vSphereHA重新启动,永久设备丢失和通过ESXi主 机目录/var/log下的vmkernel.log可以查看到虚拟机杀掉的过程。接下来是PDL认识到的vmkernel日志文件,并采取了相应的行 动。2012-03-14T13:39:25.085Zcpu7:4499)WARNING:VSCSI:4055:handle8198(vscsi4:0):openedbywid4499(vmm0:fri-iscsi-02)hasPermanentDeviceLoss.Killingworl

48、dgroupleader4491我 们建议在高级选项disk.terminateVMOnPDLDefault和das.maskCleanShutdownEnabled设置为 “True”,如果这些没有配置(通过默认das.maskCleanShutdownEnabled设置为“False”)此时vSphereHA 将不采取行动,PDL对虚拟机的影响可能不会重新启动。Frimley数据中心全计算能力发生故障在这个场景中,我们在Frimley数据中心通过模拟移除站点内所有主机的电源来测试全计算能力发生故障。图179:全计算能力发生故障结果所有的虚拟机在Bluefin数据中心的主机上重新启动,注意使

49、用的是Frimley的存储。解释Frimley 数据中心全计算能力发生故障,vSphereHA主节点位于Frimley,一旦Bluefin数据中心检测到主机没有接收到网络心跳,马上开始选举过 程,20秒内,一个新的vSphereHA主节点被从剩下的主机中选出,同时新的主节点决定哪些主机发生故障,哪些虚拟机受到故障的影响。当其它站点的 所有主机发生故障,所有虚拟机受到影响,vSphereHA初始化重启所有的机器,vSphereHA能在一个主机上同时初始化32个虚拟机,为大多 数的环境提供一个较低的重启延迟。启动的顺序来自于HA的高,中和低级别,规则必须给予每虚拟机,这些规则被坚持,高优先级虚拟机

50、首次启动,其次是中,低 优先级的虚拟机。作为测试的一部分,我们再次开启Frimley数据中心的主机,vSphereDRS马上检测到这些主机再次可用,一个 vSphereDRS被调用运行。执行初始化DRS只解决了vSphereDRS关联规则的冲突,导致资源不平衡并没有纠正,知道下一次调用 vSphereDRS。DS默认每5分钟调用一次,或者当虚拟机通过vCenter客户端关闭/开启电源。Frimley数据中心丢失在这个场景中,模拟了Frimley数据中心完全故障图180:数据中心丢失结果所有Frimley数据中心的虚拟机成功在Bluefin数据中心重启解释在 这个场景中,Bluefin数据中心的

51、主机同vSphereHA主节点丢失了联系,于是选举出新的vSphereHA主节点。当存储系统发生故障,再 次由于NetApp特别的过程,“takeover”命令必须在存在的站点初始化。“takeover”命令初始化以后,新的vSphereHA主 节点访问每个HA用来记录保护的虚拟机的数据存储文件,vSphereHA主节点此时尝试重新启动这些没有在Bluefin数据中心存在的主机的虚拟 机。在我们的场景中,所有的虚拟机在发生故障的两分钟之内重新启动,有完全访问和功能。注意:默认vSphereHA在30分钟后可能停止尝试启动虚拟 机。如果存储组没有发生问题时间任务中的“takeover”命令,一旦

52、存储可用vSphere管理员将需要手工开启虚拟机。如果新选择 的master仍然连接着vCenter,就有一个轻微的差距,尽管在大多数环境中不可能发生,如果发生vCenter将告诉新的主节点发生故障,虚拟机 不能与已存在的数据中心的主机兼容,这样就不能初始化虚拟机,当他们再次兼容时再告诉主节点。如果主节点知道虚拟机不兼容,它将不尝试重启它们。主节点不 会初始化重启但将等待主机变得兼容,然后尝试重新启动。本书已翻译完成,谢谢51CTO提供的博客平台,感谢VMware中国推荐,感谢51CTO用户move-beyond,virtualx,w7sg等,很高兴认识你们,在翻译得最困难的时候你们给了很大的

53、建议和鼓励,近期和virtualx商量对文章进行再次修整。如作者DuncanandFrank所说:“希望我们成功的让您理解了vSphere提供的群集所有功能”。第四部分群集架构的扩展第四章总结汇总希望我们成功的让您理解了vSphere提供的群集所有功能,以及怎样集成它们到特定的场景中。所有的这些有一个共同的目标:增加可用性,无论是正常运行时间,计算能力或者存储资源可用性,vSphere5.1为所有的提供了解决方案。我们试图简化一些概念来使它们容易理解;但是我们认识到一些概念很难被领会,我们希望每个读了这本书的人有足够的自信来应对需求或者建议增加他们虚拟机的可用性。如果有任何问题,请不要犹豫联系

54、作者或者Tim2009追叶子的蜗牛,我们将尽最大的努力回答您的问题。谢谢您的阅读。作者:DuncanandFrank译者:Tim2009追叶子的蜗牛第五章附录HA-高级选项由 于HA在vSphere5.0中被完全重写,所以添加了一些高级选项,同时也更改和移除了一部分,在vSphere5.1中一些高级选项被添加,我们感 受到这些高级选项没有被使用,除非本书章节中很明确提及的内容。尽管这本书主要集中在vSphere5.X版本,我们重要的是理解哪些高级设置可以更改 或者移除,并且我们将所有的知道的列到清单中,注意一些选项请求HA在主机上重新配置,这样可能带来影响,如果请求HA重新配置选项,我们在描述

55、部分注意 到这样的事实。 das.ignoreInsufficientHbDatastore-5.x抑制主机配置数据存储的心跳数量少于das.heartbeatDsPerHost。默认值是“False”,能配置成“True”Or“False” das.heartbeatDsPerHost-5.x每台主机数据存储所需的心跳数,默认值为2;值应该在25之间,在改变造成影响之前HA必须重新配置所有的主机 das.maskCleanShutdownEnabled5.0U1/5.1是否清除关闭标识默认为False,当空闲或者故意关闭虚拟机,如果虚拟机的主数据存储不能访问,开启这个选项将触发虚拟机发生故障

56、转移。 das.maxVmRestartCount5.xHA试图重新启动虚拟机的最大次数,默认是5. das.maxVmRestartPeriod-5.xHA尝试重新启动虚拟机最大累计时间(秒),默认不限制 das.config.fdm.isolationPolicyDelaySec-5.1一旦决定隔离主机,在执行隔离策略时等待的时间,最小值为30,如果设置值少于30,延迟为30 das.isolationAddressx-4.x/5.x 当没有收到心跳,ESXi主机的IP地址用来检测隔离,X=0-9.HA将使用默认网关作为隔离地址,同时提供值额外检测。当第二网络可以使用,我们 建议为了冗余添加额外地址,第一个定义地址为“das.isolationaddress0” das.useDefaultIsolationAddress-4.x/5.x值 可以是“True”或者“Flase”,作为默认网关必须为false,而默认的隔离地址,不能也不该做这个用途。换句话说,如果默认网关是个不能 ping通的地址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论