BCSMHA白皮书V10.docx
- 文档编号:30228811
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:34
- 大小:1.02MB
BCSMHA白皮书V10.docx
《BCSMHA白皮书V10.docx》由会员分享,可在线阅读,更多相关《BCSMHA白皮书V10.docx(34页珍藏版)》请在冰豆网上搜索。
BCSMHA白皮书V10
北京联创信安
企业级业务持续系统
多节点集群系统
BCS-MHA
产品白皮书
北京联创信安科技有限公司
2013年4月
文档说明
本文档描述了联创信安公司多节点集群软件BCS-MHA(BusinessContinuousSystemMulti-nodeHA)产品的功能特点、关键技术及技术实现原理等基础知识。
示意图图标说明
图标
图标注释
应用服务正常运行中
应用服务备援状态中
应用服务故障中
目录
图表目录V
前言VI
第1章BCS-MHA概述1
1.1什么是BCS-MHA1
1.2BCS-MHA常见名词解释2
1.2.1物理名词2
1.节点2
2.共享数据区域2
3.网络3
1.2.2逻辑名词3
1.切换3
2.资源组3
第2章BCS-MHA产品结构及工作原理6
2.1BCS-MHA产品结构6
2.1.1硬件拓扑图6
2.1.2软件内部结构图7
1.集群服务(Daemon(Service))7
2.集群监控服务(MonitorDaemon(Service))7
3.脚本8
4.GUI8
5.CLI8
6.Agent程序9
7.日志系统10
2.2BCS-MHA的工作原理10
第3章BCS-MHA关键技术13
3.1监控技术13
1.集群环境监控13
2.应用程序监控13
3.2切换技术14
3.3冗余的保护机制16
第4章BCS-MHA常见部署方案17
4.1本地集群配置模式17
4.1.1主备配置模式17
4.1.2主主配置模式17
4.1.3N-to-1配置模式18
1.N-to-1第一种模式18
2.N-to-1第二种模式19
4.1.41-to-N配置模式20
4.1.5级联配置模式21
4.2远程容灾配置模式22
第5章软件规格23
5.1软件基本情况一览表23
5.2软件规格23
5.2.1BCS-MHA运行环境23
5.2.2BCS-MHA应用清单支持列表24
5.3BCS-MHA软件优势24
附录26
服务支持26
图表目录
图11BCS-MHA集群环境示意图1
图12MSSQL数据库资源组结构图4
图21BCS-MHA集群硬件拓扑图6
图22BCS-MHA软件内部结构图7
图23BCS-MHA集群信息通信示意图7
图24MSSQL数据库资源组资源关系依赖图10
图25MSSQL数据库资源组正常运行中10
图26MSSQL数据库资源组故障中11
图27MSSQL数据库资源组故障切换后11
图31BCS-MHA内部组件监控示意图12
图32MSSQL数据库资源组资源带出示意图14
图33MSSQL数据库资源组资源带入示意图15
图41主备配置模式16
图42主主配置模式17
图43N-to-1第一种配置模式
(1)17
图44N-to-1第一种配置模式
(2)18
图45N-to-1第二种配置模式
(1)18
图46N-to-1第二种配置模式
(2)19
图471-to-N配置模式
(1)19
图481-to-N配置模式
(2)20
图49级联配置模式20
图410远程容灾模式21
前言
一个全新、便捷、开放、共享的网络信息时代,使我们越来越习惯并依赖它所创造的便利生活,这造成了企业信息系统数量日趋增多、重要程度日益提升、管理难度及强度不断增加、资金投入持续攀升的局面。
据Gartner统计,80%的业务流程完全依赖于信息系统。
假如这些正在提供服务的信息系统,因网卡故障、磁盘故障、CPU故障、应用程序故障、操作系统故障、人为误操作、系统繁忙、系统崩溃等意外事件,造成服务运营中断,巨大的经济利益损失尚可弥补,现有及潜在的客户流失将使企业面临难以承受的生存压力。
2005年8月,中国农业银行全国数据集中分行核心业务系统发生交易停顿,导致北京、天津、河北、吉林等十行一部交易停顿,影响了数百万用户。
2008年5月12日,汶川发生8.0级特大地震,造成了超过8万的人员伤亡以及高达8451.4亿的人民币损失。
当地震突袭,中国平安员工全部撤离,并立即启动远程业务紧急站点,第一时间恢复了平台作业,赔付了汶川地震第一单。
前车之鉴,言犹在耳。
从不断强化服务器性能和稳定性开始,再到双节点高可用软件的平滑升级,为了保障信息系统的持续运营,IT技术人经过多方尝试和验证发现,随着信息系统复杂性及重要程度的不断提升,多节点集群软件能更好的满足大型企业多个核心业务系统的连续运营和统一管理需求,以及后续方案的整体拓展。
联创信安公司秉承多年高可用软件的开发经验及细致的市场分析和精心的用户环境验证,向联创信安新老客户隆重推出BCS-MHA多节点集群软件。
该软件延续了成熟、稳健的系统监控技术,最多支持8个节点的集群环境,大大加强了常见应用服务(数据库、邮件服务、Web服务等)连续运营的能力,能更好的帮助企业实现核心业务系统严格的RTO与RPO运营标准。
第1章BCS-MHA概述
1.1什么是BCS-MHA
BCS-MHA集群软件将企业多台(2~8个节点)提供网络资源的计算机,有效的组合成一个保证业务连续运营的高可用集群系统。
图11BCS-MHA集群环境示意图
BCS-MHA通过监控应用程序、数据库、操作系统、存储资源、客户端访问资源等各类计算机软件和硬件资源的运行状态,实现核心信息系统高可用性。
当某个节点不可用或执行操作系统升级、应用程序补丁等需要主服务器脱机操作的日常维护工作时,BCS-MHA将会把该台计算机的工作转移到集群中的其他可用节点继续运行,有效减少计划内和计划外宕机时间,提高业务信息系统高可用性和稳定性。
1.2BCS-MHA常见名词解释
被BCS-MHA按照一定逻辑关系组合在一起,实现核心业务系统7*24小时连续运营的计算机系统称为BCS-MHA集群节点。
这些节点之间通过冗余的IP网络链路相互传递各自的运行信息。
为了实现应用数据的一致性,这些节点都连接着同一个共享数据区域,但仅有业务系统处于运营状态的节点,才对该区域的数据拥有读写访问权限,数据共享区域可以是基于FC、SCSI、SAS、iSCSI结构的存储网络。
1.2.1物理名词
1.节点
集群节点对运行在其上的应用程序实施统一的管理,包括启动、停止、监控等。
任何一台服务器均可作为BCS-MHA的集群节点,只要它的操作系统平台与集群中其他节点的操作平台保持一致。
这是因为在不同的操作系统平台上,很多应用程序具有不同的特性造成,而不是BCS-MHA的要求。
节点又分为活动主机与备援主机:
活动主机
为前端客户端提供业务访问的计算机系统,它对整个应用程序、共享数据区域、客户端访问等资源拥有绝对控制权。
活动主机将业务系统的运行状态,通过BCS-MHA传递给备援主机,达到服务器间信息通信的目的。
在BCS-MHA集群环境中,管理员可以为活动主机设置一台或多台备援主机。
备援主机
作为活动主机应用服务的备援系统,它通过与活动主机间周期性的心跳信息互通,了解应用服务当前的运行状况。
当活动主机因计划内或计划外宕机时,接管活动主机运行的应用服务,确保业务系统持续运行。
2.共享数据区域
共享数据区域是BCS-MHA核心资源之一。
应用程序的启动和运行,都需依赖存储于该区域上的数据文件,因此,顺利访问共享数据区域是集群节点实现应用切换的首要因素。
目前,很多企业均部署了SAN存储架构,该存储架构很好的解决了集群环境中共享数据区域的拓展问题,在第四章我们会详细讲到。
3.网络
私网
私网也称为心跳链路,它作为集群节点间信息互通的纽带。
属于同一网段的IP地址,才可以设置为私网。
公网
提供客户端访问应用服务的网络链接地址,也称为虚拟IP地址。
它可以根据应用环境需求,灵活设置。
也可作为BCS-MHA集群服务判断是否发生了网络分区症状的重要依据。
1.2.2逻辑名词
4.切换
SwitchOver
SwitchOver是应用服务资源,按照预先设定的资源依存关系顺序带出,并在备援主机上顺序启动业务资源的一种业务系统切换方法。
常用于系统测试、系统升级、应用程序补丁等需要主服务器脱机操作的日常维护的情况。
FailOver
FailOver主要应用于应用服务故障,执行应用服务系统转移,保证应用服务连续工作,所使用的一种业务系统故障切换方法。
5.资源组
BCS-MHA以资源组作为集群配置和管理的基本单元。
它是由一系列为受保护应用程序,提供相应硬件支撑和软件服务等资源的统称,包括卷资源、IP资源、应用程序资源等。
以下是一个MSSQL数据库资源组的资源示例图。
图12MSSQL数据库资源组结构图
卷资源(Volume)
卷资源(Volume)是BCS-MHA资源组的基础资源,也是共享数据区域的逻辑称谓,它存储着MSSQL数据库等应用服务的启动文件和应用数据。
因此,只有当卷资源顺利挂载之后,集群才可以进行下一步工作。
卷资源由卷标、卷挂载路径、以及磁盘组(DiskGroup)构成。
在卷资源的创建中,必须首先选好MSSQL数据存储的磁盘组(DiskGroup),因为磁盘组(DiskGroup)是数据文件的物理存储位置,然后才能对卷标及挂载路径进行设置。
磁盘组(DiskGroup)可以由一个或多个单独的硬盘或多个不同的LUN分区构成。
针对每个磁盘组(DiskGroup),BCS-MHA都会分配唯一的一个磁盘ID号,作为BCS-MHA识别卷资源的唯一标识。
IP资源(IPResource)
IP资源(IPResource)由IP地址和IP地址依赖的网卡组成。
网卡组作为创建IP资源的载体需要首先创建。
IP资源分为心跳IP和虚拟IP两类。
心跳IP作为集群服务传递信息的桥梁,虚拟IP作为客户端访问应用服务的入口地址。
管理员可以根据具体需求,灵活创建网卡组。
创建网卡组时,需要注意以下几个方面:
1.网卡组中选定的网卡上配置的IP可以在不同的网段,即组成网卡组的网卡可以自由组合;
2.集群节点心跳IP的建立需要同一个IP段的IP地址;
3.在网卡组中的主机允许选择超过一片的网卡,以配合做IP资源的LocalFailover(多片网卡需要用户指定一个优先顺序);
4.在网卡组允许勾选虚拟MAC地址功能。
在网络环境中,每个IP地址与唯一的MAC绑定在一起。
传统的集群结构下,将致使集群的活动IP在不同时刻绑定不同的MAC地址,导致跨网段通信出现问题。
为了使集群软件更好的支持这种网络安全级别较高的网络环境,BCS-MHA提供了支持虚拟MAC地址的功能,使集群环境IP地址实现与唯一MAC地址绑定。
5.基于网卡组的IP资源的替换IP功能会作用于该资源,不单独提供或者智能的替换某些主机的网卡上的IP地址。
应用程序资源
需要BCS-MHA提供业务连续性保障的应用程序都称为应用程序资源。
应用程序资源是BCS-MHA集群环境中配置最复杂也是最灵活的资源组合,它包括Oracle、MSSQL、MySQL等常见数据库,Exchange等常见邮件服务,Web服务以及用户自定义第三方应用程序。
BCS-MHA可以配置一级、二级甚至多级应用程序资源,譬如FTP文件共享服务、Web服务、ERP系统等,实现企业整个业务系统7*24小时运转。
第2章BCS-MHA产品结构及工作原理
2.1BCS-MHA产品结构
2.1.1硬件拓扑图
BCS-MHA最多支持8个集群节点,共享存储支持基于FC、SCSI、SAS、iSCSI等协议的常见存储网络。
图21BCS-MHA集群硬件拓扑图
2.1.2软件内部结构图
图22BCS-MHA软件内部结构图
6.集群服务(Daemon(Service))
集群服务是BCS-MHA的核心模块,运行在集群环境的每个节点上。
主要负责集群创建、集群管理、集群资源监控、集群通信等任务。
集群服务通过Agent程序监控和管理应用程序资源,周期性收集整理由Agent程序报告的资源状态。
在更新本地集群状态的同时,也将更新后的状态传递给集群环境的其他节点,使集群环境中所以集群服务状态保持一致。
图23BCS-MHA集群信息通信示意图
7.集群监控服务(MonitorDaemon(Service))
集群软件自身的稳定性是确保整个集群正常工作的关键。
BCS-MHA集群监控服务就是以保证集群服务稳定运行为目的,而开发的一个特殊服务模块,它周期性检测集群服务运行的健康状态。
倘若检测到集群服务异常,或人为误操作造成集群服务失败或故障时,集群监控服务会立即重启集群服务,保障BCS-MHA集群软件自身运行的稳定和安全。
8.脚本
脚本是BCS-MHA对受保护应用程序执行启动和停止的软件模块,由一些C++或Shell脚本编写而成。
在设置的时间范围内启动或停止应用服务,如果无法顺利启动或停止,BCS-MHA集群服务将按照管理员配置的启停次数(默认为3次),再次执行,直到成功启动或停止,或者达到管理配置的启停次数。
为更好的满足某些客户的特殊需求,BCS-MHA提供了用户自定义脚本的基础代码模板。
当然,BCS-MHA也可以为客户进行第二次脚本程序的编写,更好的为顾客服务。
9.GUI
基于JAVA设计的图形管理界面,可以对整个集群实施高效的配置、有效的监控和统一的管理。
BCS-MHAGUI支持远程集中管理,大大减低了管理成本,提高了TCO。
10.CLI
BCS-MHA也为习惯利用命令行管理的管理员配置了CLI管理工具,CLI对整个集群实施的管理与GUI完全一致。
同时,CLI还提供第三方开发接口,用户可灵活、方便地对第三方特有的应用程序编写接口程序,实现资源的合理利用。
11.Agent程序
Agent程序是应用程序与集群服务之间进行信息交流的纽带,它由多个进程组成,提供对应用程序资源的状态监控和故障管理。
当BCS-MHA启动后,集群服务就会调用应用程序相应的Agent程序。
成功调用后,它将周期性向集群服务报告应用程序的运行状态信息,以便集群服务针对不同的信息做出正确的判断,并执行相应的操作。
BCS-MHA提供两类Agent程序:
A.常规应用Agent程序
主要包括IP、NTService、Volume等常规高可用资源的Agent程序,BCS-MHA内部集成,对用户完全透明,用户无需任何设置,即可使用。
B.第三方Agent程序
第三方Agent程序主要针对用户的应用环境而开发,灵活性强,经过十多年的用户研究,联创信安强大的二次开发能力,几乎能完全覆盖用户所有的应用环境需求。
这类Agent程序分为第三方应用Agent程序和第三方API程序开发两类:
a)第三方应用Agent程序开发
当用户环境复杂,BCS-MHA针对数据库、邮件服务、文件服务、web服务等常规Agent程序,无法满足用户业务需求时,用户可定制开发相应的Agent监控程序,实现对特殊应用程序运行状态的监控。
b)第三方API程序开发
API开发接口可配合用户已有的第三方软件(譬如GLOBALHA集群远程容灾软件),实现既有资源的最大化利用或方案的整体扩展,大大提高了企业总体拥有成本(TCO)。
12.日志系统
BCS-MHA拥有独立的日志系统模块,该模块独立的信息查询界面,实时报告集群环境的工作状态,包括集群节点的增减、应用服务状态、服务器硬件状态、网络状态等。
管理员可以使用任意一台集群服务器,或通过远程访问方式,监控整个集群的工作状态,当系统出现异常或无法正常运转时,还可根据日志信息分析并排除故障。
2.2BCS-MHA的工作原理
以两个节点组成的MSSQL数据库高可用系统为例,MSSQL资源组包括网卡、磁盘组(DiskGroup)等硬件设备和IP资源、卷资源、NT资源等逻辑资源。
资源组资源依赖关系如图所示
图24MSSQL数据库资源组资源关系依赖图
启动MSSQL数据库资源组后,MSSQL数据库资源组所依赖资源的所有Agent程序会自动调用并开始运行,在这个配置结构图中,集群服务会调用DiskGroup、NIC、NTservice、Volume以及IP等Agent程序。
资源之间的依赖关系如下:
Volume资源的启动完全依赖于DiskGroup是否已经上线。
IP资源的挂载依赖于NIC资源,NIC资源是系统资源,所以无需BCS-MHA启动。
当IP资源、Volume资源及NTService资源均正常运行后,客户端就可通过BCS-MHA提供的IP资源对MSSQL数据库资源组进行业务访问了。
BCS-MHA集群环境中的任何一个节点都可以作为MSSQL数据库服务的活动主机。
当活动主机故障后,BCS-MHA会根据管理员预先配置的切换策略(自动或手动),将MSSQL数据库资源组FailOver到备援节点运行。
图25MSSQL数据库资源组正常运行中
图26MSSQL数据库资源组故障中
图27MSSQL数据库资源组故障切换后
第3章
BCS-MHA关键技术
3.1监控技术
策略完善的监控技术是BCS-MHA实现应用程序故障转移的前提。
BCS-MHA采用Socket心跳技术与集群其他节点建立联系,利用Agent模块对相关应用程序实施运行状态监控。
图31BCS-MHA内部组件监控示意图
3.1.1集群环境监控
每个节点上的BCS-MHA集群服务通过IP网络链路(心跳,默认时间间隔2秒)互相通信,传递应用程序及主服务器运行状态信息。
当集群服务因诸如网络阻塞、网卡故障、网络运营服务中断等网络故障,或者服务器电源故障、服务器宕机、系统维护等服务器故障等原因,无法在预设的时间范围内应答对方节点发送的心跳信息,都有可能造成BCS-MHA心跳超时,所以建议管理员配置2条或3条IP网络作为私网心跳,避免因网络拥塞、服务器繁忙等非常规性网络或服务器故障,造成集群间通信不畅的情况发生。
3.1.2应用程序监控
应用程序监控主要由集群服务与Agent程序两个核心模块配合实现。
Agent程序周期性(用户自行设置)检测应用程序及主服务器的状态信息,并将其向本集群服务报告。
集群服务根据Agent的报告信息,不断更新自身状态的同时,也会将其发送给集群环境的其他节点,让整个集群服务的状态完全一致。
应用程序故障原因有很多,譬如应用程序自身发生故障或出现异常,抑或其所依赖的硬软件资源故障,比如NIC、存储设备等。
当Agent程序无法在规定的时间范围内,检测到应用服务的运行状态,如果是应用程序故障,Agent程序会尝试重启应用服务,直到成功启动或达到管理员配置启动次数(默认为0次)。
如果是相关资源故障,譬如网卡资源,BCS-MHA集群服务会卸载原主网卡的IP地址,然后加载在本地另一张可用的网卡上,实现网卡资源的本地切换。
假如这些方法都不能成功启动该应用服务,本地节点的集群服务就会宣布应用程序故障,优先级权限最高的备援系统在收到这个信息后,开始准备应用服务接管工作。
一旦活动节点Agent程序监控到应用程序故障,它首先会按照预先设定好的配置,譬如重连或重启相关资源,对应用程序采取相应的资源恢复处理,倘若经过努力,终究无法成功启动,Agent程序就会向集群服务报告该应用程序故障。
3.2切换技术
切换技术是BCS-MHA保障业务连续运营的核心技术,是集群服务收到Agent程序的故障通知后,对故障应用服务所采取的一种业务系统故障转移机制。
当Agent程序向集群服务报告应用程序故障后,本地集群服务就会向整个集群宣布某应用程序故障,于是应用服务切换(应用服务接管)工作就开始了。
下面以MSSQL数据库为例,展示BCS-MHA应用服务整个切换流程:
第一步:
故障节点带出MSSQL数据库资源组
当集群服务向集群其他节点宣布MSSQL数据库失败后,BCS-MHA会立即将MSSQL数据库相关资源依次带出,保证故障资源彻底下线。
图32MSSQL数据库资源组资源带出示意图
第二步:
备援节点带入IP资源
带入MSSQL数据库服务的公网和私网等IP资源。
第三步:
备援节点带入MSSQL共享数据
由于共享数据已经通过物理连接的方式连接着集群所有节点,BCS-MHA只需将MSSQL数据库所使用的数据,按照预设的路径和卷标Mount到新节点上即可。
通常情况下,应用服务故障发生的瞬间,共享数据还处在使用状态中,当Mount到新节点前,共享数据区域需根据预先配置的方式[BCS-MHA:
check-diskornot(默认为not)]对共享数据进行相应处理,确保数据完整性和一致性。
共享数据区域的数据量大小直接影响着Checkdisk的时间长短,即Checkdisk会影响到MSSQL数据库资源组的切换时间。
第四步:
带入MSSQL数据库服务
BCS-MHA集群服务调用MSSQL数据库资源组需要的所有Agent程序,在备援系统上启动MSSQL数据库服务,完成了MSSQL数据库服务的最后一步工作。
图33MSSQL数据库资源组资源带入示意图
这样,一次MSSQL数据库业务切换工作就成功完成,实现了MSSQL数据库业务系统的持续运营。
3.3冗余的保护机制
前面已经介绍到BCS-MHA通过IP网络链路实现集群节点间的信息交流。
但服务器繁忙、网卡超负荷运转、网络链路阻塞等非常规性网络故障(又称“网络分区症状”)时有发生,不仅造成BCS-MHA集群间通讯不畅,还有可能让BCS-MHA做出错误的判断,造成业务误切换的情况发生。
因而,联创信安建议管理员配置两条或三条Socket心跳线,并对这些心跳线设置不同的优先级权限,权限最高的心跳担任集群信息通讯的首要工作,优先权限较低的心跳,即可在主心跳繁忙的时候,担任信息确认的依据,也可在主心跳故障的情况下,完全代替主心跳充当集群信息通讯工作。
同时,BCS-MHA还支持公网心跳,即使私网心跳信息完全丢失或故障,也能通过公网心跳判断网络状况,采取适当的网络故障恢复方法,譬如网络修复、本地网卡切换或应用服务切换等。
除以上心跳的冗余保护机制以外,BCS-MHA还提供磁盘仲裁资源。
即使集群节点间通信全部断开,也能通过仲裁资源来确定业务的运行状态,杜绝多个节点同时抢卷,避免业务数据被破坏的风险。
冗余私网设置、公网心跳及磁盘仲裁资源的多重保护,BCS-MHA很好的消除了网络分区症状,对业务运营系统所造成的影响。
第4章BCS-MHA常见部署方案
BCS-MHA方案伸缩性非常强,可根据既有环境,或未来方案拓展,灵活部署集群环境,满足用户各种集群需求。
这章主要介绍几种常见的集群部署方案,包括主备配置模式、主主配置模式、N-to-1配置模式、1-to-N配置模式、级联配置等多种本地集群模式,以及与第三方软件(BCS-ADR)配合,实现本地集群远程容灾的工作模式。
4.1本地集群配置模式
4.1.1主备配置模式
主备配置模式下,其中一个节点运行业务系统,另一节点实时监控主节点业务系统的运行状态,实时准备故障后的业务系统接管工作。
图41主备配置模式
在此配置方案中,备援服务器性能只需满足该应用服务的运行标准即可(譬如CPU、内存等),因此,备援系统硬件配置要求相对较低。
4.1.2主主配置模式
主主配置模式下,每个节点分别运行着不同的业务系统,互相作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BCSMHA 白皮书 V10