主机HA高可用技术梳理和最佳实践_第1页
主机HA高可用技术梳理和最佳实践_第2页
主机HA高可用技术梳理和最佳实践_第3页
主机HA高可用技术梳理和最佳实践_第4页
主机HA高可用技术梳理和最佳实践_第5页
已阅读5页,还剩16页未读, 继续免费阅读

下载本文档

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

文档简介

1、 主机 HA 高可用技术梳理和最佳实践 本文主要介绍主机高可用方案、实施和维护的经验教训等,希望对这些知识点的梳理,为运维和管理人员在选择相应产品时提供借鉴和参考。包括:1、什么是主机高可用2、主机高可用主流解决方案3、主机HA能做什么4、主机HA高可用定义和切换流程5、HA三种经典工作方式6、主机HA的核心组件和实现原理7、哪些场景不适合主机HA8、主机HA高可用选择参考9、Oracle高可用场景的解决方案探讨分享1、什么是主机高可用高可用性H.A.(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用

2、性。它与被认为是不间断操作的容错技术有所不同。HA系统是目前企业防止核心计算机系统因故障停机的最有效手段。随着IT信息系统的不断发展,数据在企业的应用越来越广,如何提高IT系统的高可用性成为建设稳健的计算机系统的首要任务之一。构成计算机网络系统的三大要素是:网络系统,服务器系统,存储系统。网络系统包括防火墙,路由器等网络设备,服务器系统主要指用户使用的各种服务器系统,存储系统,则是用户最主要的数据存储放的地点。因此IT系统的高可用建设应包括网络设备高可用性,服务器设备高可用性,及存储设备的高可用性三个方面。今天在这里我们主要来聊聊主机高可用解决方案,主机高可用主要使用服务器集群和高可用软件来实

3、现。目前市场上主流的主机HA解决方案产品有:IBM PowerHA,HP的SG,RedHAT的RHCS ,SUSE HA,ROSEHA,赛门铁克VCS,LanderCluster 等。希望通过本篇小文可以让大家了解什么是主机HA,目前主流HA产品有哪些,主机HA应该由哪些核心组成,能够做到那些方面的高可用,在实施和维护方面有哪些经验和教训以及希望主机HA能够在那些方面加强和新需求等等。希望对这些知识点的梳理,让运维和管理人员在选择相应产品时可以有一个借鉴和参考,给大家尽一点微薄之力。2、主机高可用主流解决方案接触过基础平台的工作人员应该对主机高可用解决方案不陌生,因为主机的高可用解决方案主要是

4、通过集群或者高可用软件来完成的。目前市场上常见的HA架构的软件有以下几种:微软MSCS虚拟化平台HA(如VMWARE)IBM的PowerHA惠普的SG(Service Guard)红帽的RHCSNovell的SUSE HAROSE HA赛门铁克VCSLanderclusterFujitsu PRIMECLUSTERF5主机HA 软件有很多,有大厂商也有小公司,每个软件的都有相应的应用场景和局限性,目前还没有那款软件可以通吃所有的平台,这可能跟研发能力和成本以及后续的更新有很大关系。往往软件做的小巧灵活,稳定性高反而更加有市场,比如linux的lvs ,操作系统自带集成在,软件很小,效果非常的不

5、错。3、主机HA 能做什么主机HA并不是万能的,每个产品可能都适合几种类型的场景。记得第一次接触PowerHA的时候,感觉这个软件应该具备很多功能,基本上你能想象的功能它应该都具备,但实际上它能检测几项故障类型:节点失效网卡失效网络失效应用异常对于应用监控配置,PowerHA 少有人去配置或配置的好,有很多因素。主机HA软件是各有所长,希望主机HA软件做的及稳定又效率,让工作更加容易。小技巧:实施人员的水平基本上决了主机HA的架构的健壮性,选择有经验的实施人员有时候比选择软件本身更重要。以前第一次接触SUSE HA,然后就用PowerHA的工作方式去理解,因为都是HA软件工作的方式应该差不多,

6、当时我问了实施人员一个问题(主备模式,没有网卡聚合),如果主节点第一块网关故障了,服务IP如何切换? 工程师说:切换到另外一个主机上啊,很正常啊。相比较而言,PowerHA在这一块还是做的不错的,如果服务ip在网卡1上,这时网卡1故障了,ip会切换到网卡2上,而不进行资源切换到备份节点,当然也可以通过网卡聚合,保证网卡1故障了,不切换资源,但是毕竟增加了投入。这里贴一个PowerHA 使用IP 地址切换方式(别名方式)4、主机HA高可用定义和切换流程高可用性 (High Available), 是通过系统的可靠性(reliability)和可维护性(maintainability)来度量的。通

7、常用平均无故障时间(MTTF)来度量系统的可靠性,用平均维修时间(MTTR)来度量系统的可维护性。故:HA=MTTF/(MTTF+MTTR)*100%具体HA衡量标准:99% 一年宕机时间不超过4天99.9% 一年宕机时间不超过10小时99.99% 一年宕机时间不超过1小时99.999% 一年宕机时间不超过6分钟现在越来越多的业务系统要求更高或苛刻的业务连续性,首先在这里需要明确的一点,主机HA是不能解决所有所有的业务问题的,对于苛刻的业务系统,不要选择主机HA解决方案来支撑,据实际来讲主机HA软件都需要分钟级别的业务中断,配置不合理业务中断时间会更长,一个配置合理的主机HA解决方案,一般需要

8、2-3分钟左右的业务切换时间。举例:主机HA+Oracle或者DB2,共享存储的场景,主备模式切换流程:主节点异常(集群软件检测,耗时较短)主节点资源(ip,db,共享卷组)关闭(此过程中db资源关闭时间耗时较长,ip和共享卷组切换耗时较短)备节点资源(ip,db,共享卷组)开启(此过程中db资源启动时间耗时较长,ip和共享卷组切换耗时较短)主机ha软件检测同步,保证集群状态一致(此过程耗时较短)所以一个HA切换的过程就是应用启停的过程,耗时均在分钟级别,如果一年来个1-2次,5个9 是很难保障的。所以对于苛刻的应用应该选择其他方式的高可用解决方案,如应用级别,db级别,多副本,容错,灾备等其

9、他方案。绝大多数的主机HA软件的切换都是以资源组为单位进行切换,资源组主要包括:IP,application,共享存储资源组的切换方式按照资源切换策略控制,主要有三种方式:OnlineFallOverFallback具体的每个含义就不在此做详细的解释,有需要的直接度娘,下面在着这里主要描述一下以上三种策略下的具体资源切换流程,以PowerHA为例:参考链接:/view/fae710f2f90f76c661371a36.html场景1:资源组:online on home node noly其资源组切换模式:场景2:资源组:Online on First Available Node其资源组切换

10、模式:场景3:资源组:Online on ALL Available Nodes其资源组切换模式:以上三种场景和策略配置基本上包括了所有HA主机软件的工作模式,无外乎资源组启动的在哪些节点上,异常后资源组如何切换到其他节点上,待故障节点恢复后资源组是否可以回切已经如何回切的策略。掌握了主机HA软件的切换模式以后基本上就了解了主机HA软件的工作切换流程,是否可以满足企业需求,那就看情况选择就好了。5、HA经典三种工作方式上面是典型的两节点PowerHA 拓扑结构示意图,经常使用主机HA的工作方式有以下三种:(1)主从方式 (非对称方式)工作原理:主机工作,备机处于监控准备状况;当主机宕机时,备机

11、接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。(2)、双机双工方式(互备互援)工作原理:两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键数据存放在共享存储系统中。(3)、集群工作方式(多服务器互备方式)工作原理:多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。参考链接:http:/7250365./7240365/14081096、主机HA的核心组件和实

12、现原理我们还用上面这张图来说明一个两节点的主机HA环境物理组成有哪几部分组件:IP 网络(用于提供业务通讯p和心跳检测)主机(X86或者小型机,一般情况下有双网卡或更多网卡,光纤卡)共享存储(用途提供可切换的fs或共享fs,磁盘心跳,防止脑裂)总裁方式(有很多种,串口心跳,磁盘心跳,stonith管理网口直接poweroff等防脑裂)由于是高可用方式,这些基本上都要求冗余,才保证在物理上达到高可用。主机HA软件构成1.信息层(Messaging)也叫底层基础架构层,主要用于节点之间传递心跳信息,也称为心跳层。节点之间传递心跳信息可以通过广播,组播,单播等方式。心跳信息:集群中每一台服务器都不停

13、的将自己在线的信息通告给集群中的其他主机。心跳信息的传递是基于套接字通信的,通过软件提供服务监听套接字,实现数据发送、请求。必须安装软件,并开启服务,这是实现高可用集群的基础。2.成员层(Membership)这层最重要的作用是通过Cluster Consensus Menbership Service(CCM)这种服务由Messaging层提供的信息,来产生一个完整的成员关系。CCM 组件(Cluster Consensus Menbership Service):作用,承上启下,监听底层接受的心跳信息,当监听不到心跳信息的时候就重新计算整个集群的票数和收敛状态信息,并将结果转递给上层,让上

14、层做出决定采取怎样的措施。CCM 还能够生成一个各节点状态的拓扑结构概览图,以本节点做为视角,保证该节点在特殊情况下能够采取对应的动作。Messaging & Membership一般由同一软件实现。3.资源分配层(Resource Allocation)也叫资源管理器层,真正实现集群服务的层。包含CRM(集群资源管理器,cluster Resource Manager),CIB(集群信息基库,Cluster Infonation Base),PE(策略引擎,Policy Engine),TE(实施引擎,Transition Engine), LRM(Local Resource Manage

15、r,本地资源管理器)。CRM组件:核心组件,实现资源的分配和管理。每个节点上的CRM都维护一个CIB用来定义资源特定的属性,哪些资源定义在同一个节点上。主节点上的CRM被选举为DC(Designated Coordinator指定协调员,主节点挂掉会选出新的DC),成为管理者,它的工作是决策和管理集群中的所有资源。任何DC上会额外运行两个进程,一个叫PE,;一个叫TE。PE :定义资源转移的一整套转移方式,但只做策略,并不亲自来参加资源转移的过程,而是让TE来执行自己的策略。TE : 就是来执行PE做出的策略的并且只有DC上才运行PE和TE。CIB组件:XML格式的配置文件,工作的时候常驻内存

16、,只有DC才能对CIB进行修改,其他节点上的复制DC上的CIB而来。集群的所有信息都会反馈在CIB中。LRM组件:是执行CRM传递过来的在本地执行某个资源的执行和停止的具体执行人。资源(补充):在集群中构成一个完整服务的每一部分都叫资源,都需要配置和管理。以web应用为例:vip是资源,web服务器是资源,存储也是资源。不同的服务的资源也不尽相同,其中存储资源的选择、配置、管理是高可用集群中的难点问题。4.资源代理层(Resource Agents)集群资源代理,能够管理本节点上的属于集群资源的某一资源的启动,停止和状态信息的脚本,资源代理分为:LSB(/etc/init.d/*),OCF(比

17、LSB更专业,更加通用)。任何资源代理都要使用同一种风格,接收四个参数:start|stop|restart|status,每个种资源的代理都要完成这四个参数据的输出。工作机制:PE根据CIB获取资源的配置信息(集群上的所有信息都会收集到DC的CIB,同步到其它节点),而后做出决策,一旦做得决策就会进行资源的管理。PE借助于本地的CCM通知给其它节点CIB来实现对某些资源管理信息的传递,比如说通告其它CRM要启动某一资源了,收到信息后CRM并不负责启动,转由LRM(Local Resource Manager本地资源管理)启动,而并发资源又借助于RA(Resource Agent资源代理)实现

18、资源管理。上面这张图和各个专业术语的解释,很多也很详尽,对于没有接触过主机HA的人来说,真是云里雾里,都是底层细节,各种模块和作用。理解起来还是需要一定的功力。结合着上面图示我们这里浅显说一下主机HA应该具备的模块和实现原理。首先要有网络(IP和非IP网络),这个是HA软件多节点通讯的基础,只有网络畅通才各个模块才可以发现,协作,心跳等要有一个配置库,说白了要有一个记录配置集群各个方面配置信息的信息库,记录着目各个组件的构成和配置,如果某个节点的配置发生了变化,有据可查,需要保证集群配置的一致性,要不然集群切换回异常。要有一个事件采集器,或者认为是监控代理,说的其中某个节点或者集群中发生了什么

19、事件集群管理器要清楚,统一掌控全局,触发什么事件执行什么策略。资源管理器,一般是集群的核心组件,派发资源和策略,维护配置等等中央首长职能。资源组:集群都是以资源组为单位进行切换,资源组包括:ip,app,共享磁盘 等这些就是集群中的主要构成,了解这些就大致掌握了HA 软件的结构和实现原理,具体到每款软件的实现及详细工作原理,请查看相应的技术手册。7、哪些场景不适合主机HA主机HA可以解决很多高可用的问题,为企业带来便利,但是同时我们也应该清楚哪些场景不适用主机HA解决方案。下面几种情况均不适合服务器主机HA解决方案:服务器和网络环境是不安全的服务器管理比较随意不能忍受任何的(应用系统)中断应用

20、系统还不稳定应用系统需要人工该有才能恢复同时我们也应该了解一下主机HA和容灾的区别,场景不能混淆。有个别企业想使用主机HA来达到容灾的效果,往往不达目的,其实很简单,只需要了解本片小文的第三部分(主机HA能做什么)就清楚了,有针对性的选择高可用解决方案。下面附一张主机HA和容灾的区别:8、主机HA高可用选择参考以下分享来自社区会员对主机高可用解决方案的一些心得和体会,仅供参考。分享一:首先需要明确一点,主流的主机HA高可用解决方案和OS有比较紧密的关系。选择哪款软件差不多也就选择什么样的系统,这里我先分享一点经验。PowerHA 功能强大,配置灵活,切换和回切都很方便。支持命令行和smitty

21、 方式进行,应用监控选项很多时候不启用,有些版本有些问题。ServiceGuard 配置复杂,切换方便,曾经配置一个群集需要2day,配置完成了很方便,支持gui界面,很不错。F5 基本上只是能够做到虚拟一个ip,然后进行轮训,当然可以设置权值以及会话选项,可以通过测试页面验证应用是否Ok。不能做到支持集群共享模式的环境,自动执行什么脚本进行切换。RoseHA 支持节点数量2个,不知道后续产品可以支持更多节点。SUSE HA 也是一个不错的产品,命令行crm load 配置文件也可图形界面。图形界面感觉比较繁琐。监控和管理使用还是不错的。分享二:PowerHA 使用多些,感觉好用;roseha

22、 最不好用(问题多);ServiceGuard是HP的还可以,Linux RHCS自带的没使用过。分享三:不同的操作系统平台会有各自的高可用套件。我一开学习HA的知识就是PowerHA,当时叫做HACMP,诚如LS说的功能强大,配置灵活,配置逻辑清晰;一般搞清楚PowerHA里头的配置概念就足以完成配置。分享四:Bug一般的ha软件都会存在,只不过触发这个bug需要一定的条件,简单的方法就是升级补丁或者其他方法去修复这类的bug,防止bug发生!工程师会慢慢积累一些稳定版本的补丁,比如安装HA 6.1,我习惯吧SP16补丁打上,是目前很多苏皖客户使用的稳定版本。分享五:主机HA避免脑裂的常见方

23、法:1.节点数量为计数,quorum法则2.串口心跳3.磁盘心跳4.管理口stnoith,直接资源隔离-随着IT的发展,我们有了更多的方案可以去选择,没有最好的方案,只有适合的场景的解决办法,切勿为了简单问题复杂化,统一规划,适合就好。要不然就是画蛇添足,有卖弄技术和推销产品的嫌疑,对解决问题有害无利。X86的快速发展给大家提供了更多的选择,一体机、超融合、分布式、大数据、云等这些概念和产品都一一落地,不是说以前就没有这些东西,而是说在X86快速发展的背景下,这些产品有了更好的发展。现在很多的解决方案都是基于X86环境,我们选择相应解决方案更应该统一考虑,切勿人云亦云。主机HA方案的选择亦是如

24、此。主机HA高可用解决方案参考:选择主机HA成熟产品选择主流稳定版本和补丁版本选择易于管理维护,易于后期扩展的产品选择符合企业整体规划,切勿太多产品,太多版本,资源相对较多的产品9、Oracle高可用场景的解决方案探讨分享应用场景: Oracle 数据库的高可用方案选择企业C由于业务开展的比较好,近些年IT基础平台也在大力的建设,该企业有一个重要业务系统,数据库平台使用oracle,由于地域和容量太等特点选择了使用多个数据库分别独立支撑不同该业务系统一部分,共计5个db,各个系统相互独立,如果每个db都搭建主机ha或集群的情况下,那将也是一笔不小的开支,该企业由于以前使用IBM的小型机平台,对

25、PowerHA解决方案比较熟悉,所以他们对主机平台选择小型机还是有所倾向,该企业的DB高可用方案你有哪些方面的考虑和想法?以下是社区会员贡献的一些方案思路:方案1:选择X86平台的LINUX,各系统分别独立物理机,成本比小型机只低不高,而且也能满足现状,甚至未来三到五年的发展,Oracle RAC+ADG+每天全备或者增量备+异地灾备(看需求,没有特殊需求,基本不用),这样基本不会断业务,除非自然灾害。方案2:因为是单库,分别独立,其实用主机ha解决,使用一备多的模式也是可以的,主机的数量也只是需要多一台设备就好,从硬件成本来考虑X86应该是首选,使用rac+adg的模式,因为是独立数据库架构有点复杂,投入感觉还是很大的,维护起来也是不那么容易。当然这些都是参考方案。方案3:1:个人在规划中得出的结论:所有想靠一套方案实现容灾、高可用的想法都是有瑕疵的。2:在考虑数据库授权的前提下。在软件成本上来说POWER HA要比Oracle RAC费用稍低,但硬件成本上说PPC平台远高于X86平台(利旧情况除外)。3:针对于你说的这个C企业,因为不是很具体明了业务架构,比较常见的x86平台容灾方式就是本地中心的RAC+同城DG+实时备份+定

温馨提示

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

评论

0/150

提交评论