AutoSwitch 灾备切换软件技术方案.docx
- 文档编号:11967024
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:38
- 大小:5.18MB
AutoSwitch 灾备切换软件技术方案.docx
《AutoSwitch 灾备切换软件技术方案.docx》由会员分享,可在线阅读,更多相关《AutoSwitch 灾备切换软件技术方案.docx(38页珍藏版)》请在冰豆网上搜索。
AutoSwitch灾备切换软件技术方案
AutoSwitch灾备切换软件技术方案
13.3技术方案
13.3.1需求分析
1、框架要求
1)支持多平台/多厂商环境。
所管理的切换受控端可以分布于所有主流操作系统平台。
支持以下操作系统(包括且不仅限于AIX、HP-UX、Solaris、Linux和WindowsServer等)。
2)所管理的切换受控端支持代理Agent和非代理Agentless两种方式对业务主机(应用中间件和数据库主机)、存储管理、DNS设备进行交互操作。
2、功能需求
1)切换流程的创建和修改:
支持图形可视化创建及修改流程。
可按模板进行流程创建,提供版本管理、发布管理功能。
支持批量创建流程、支持模板创建流程。
2)切换流程的执行:
支持并发执行流程,可同时启动后台多个自动流程执行。
支持灵活的流程执行模式,在同一流程中提供正常执行(按预定义)、全自动执行(人工转自动)及人工执行(自动转人工)三种模式能灵活根据实际要求在多种模式之间进行自然切换。
3)报表功能:
提供内容包括但不局限于流程执行、用户信息、故障信息等的报表系统,并具有报表导出功能,能够以网页或EXCEL等文件方式将报表导出并保存。
4)审计功能:
所有的操作要有详细的审计记录(包括命令行和图形的操作记录及作业记录)。
能够显示各主要模块的运行状态,具有系统日志审计功能。
5)演练和分析功能:
支持在不影响生产的情况下及时演练、发现问题、保证灾备系统的可用性,能够根据演练中的问题进行分析,不断优化演练技术流程。
3、非功能需求
1)扩展性:
通过界面配置即可完成新功能扩展。
具备灵活的横向扩展,从技术上来说,主控端可以无限制支持增加的受控端。
2)可靠性:
支持本地高可用方式部署。
软件本身具备数据同步功能,当一方发生灾难时,另一方能立即在线进行接管控制,保证了平台7*24正常运行。
3)易用性:
采用单一用户数据库权限系统,用户无需多次登录;能够从单一Web入口进入灾备自动切换控制台,无需人工逐一登录各主机进行操作。
故障处理与反馈提示均要友好且准确。
4、性能要求
1)在主机上运行时要满足资源消耗小、执行效率高的特点。
受控端主机上的Agent程序对内存、CPU占用不能影响主机上业务的正常运行(要求内存占用30MB、CPU占用2%以下)。
2)每分钟可以执行100到200个及以上切换流程。
3)可以同时支持100用户并发支持切换流程,响应时间值在5秒到2秒及以下。
5、管理要求
1)提供良好的人机界面,方便定义切换和管理流程;通过图形界面方式实时展示切换信息,直观展示流程中各步骤的顺序关系;
2)支持对所有Agent进行状态监控,保证流程可顺利执行。
支持对系统登录状态进行记录,支持监控和管理工作负载异常,通过操作控制台创建生产运行时报告,帮助分析。
在流程执行界面中嵌入滚动日志,直观显示流程执行状态。
3)支持人工处理环节,对于必须人工执行或判断的环节,由人工做出判断后,决定流程是否继续执行或终止;可以根据图标颜色变化准确定位故障或人工处理需求的发生位置,并根据图标链接页面查询到该步骤的人工处理方案。
6、安全要求
1)支持对系统用户按角色或者角色组进行授权;支持对系统功能提供角色级别的权限控制。
2)支持https的系统访问,保证管理端和被管端通讯信息安全加密;
3)具备数据加密认证功能,在网络传输中,数据可以进行SSL加密和认证。
4)提供防火墙支持机制。
7、存在问题
灾备中心建设投入了大量人力、物力,但灾备切换还停留在手工阶段,灾难来临时灾备中心能否在规定的RTO内完成切换、及时保障生产、发挥应有作用,还有很大的隐忧。
主要原因有如下几个方面:
1)手工切换时间过长、难以达到RTO目标
由于流程的繁琐、复杂,导致手工切换至少需要很长时间才能完成灾备切换,往往不能在规定的RTO内完成切换,实现保障业务连续性的目标。
2)手工切换人为因素过多、切换经常失败
手工流程繁琐、复杂,执行起来往往比较吃力,命令很多、时间较紧,操作员精神压力大导致手忙脚乱,人为出错的几率也就增大,实际操作中由于这样那样的原因往往导致切换失败,无法保证一次切换成功。
3)缺乏演练、关键时刻不能发挥作用
由于业务发展的需要、应用经常升级,有关配置、系统环境也随之需要做相应变化,但受限于保障生产的要求,无法及时演练,导致不能尽快发现问题、灾备中心关键时刻能否发挥作用存在很大隐忧。
总之,灾备切换依靠手工完成,不仅效率低,而且切换时间长,由于人为干预过多导致切换的成功率无法保证;公司的IT运维水平和故障应急处理能力难以提升、难以保障IT服务的持续性和主动规避不可预见的风险。
13.3.2技术架构
AutoSwitch分为四大部分:
1、管理中心:
管理中心部署在灾备服务器端的控制中心上,分别位于各个生产中心及灾备中心等地点。
操作人员通过浏览器以WEB方式AutoSwitch管理界面,实现对于灾备系统各业务流程的集中控制和管理。
2、流程调度和控制中心:
通常调度和控制中心部署在灾备服务器端的控制中心上,也可以部署到前置机上。
调度和控制中心通过前置机进行流程的调度与管理。
3、前置机
如并发用户数不多于100个时,没有必要设置前置机。
前置机的作用主要有两点,一是配合轻量级Agent的设计,将Agent端的业务逻辑和数据层的工作承担起来,尽量减轻业务主机的压力;二是增加了可扩展性,通常情况下,一台前置机可支持200-500个并发用户,仅通过增加前置机个数就可以相应增加并发用户数的能力。
4、受控端Agent
受控端Agent部署在生产中心和灾备中心各个业务主机上,执行由AutoSwitch前置机发布的命令,并将执行结果发送给前置机。
AutoSwitch受控端Agent采用轻量化设计,仅有通讯和操作命令执行部分,其他功能都由前置机的程序补充完成,这可以最大化地减轻对业务主机的负载。
架构设计
Agent设计采用轻量化设计,仅有通讯和操作命令执行部分,其他功能都由前置机的程序补充完成,这可以最大化地减轻对业务主机的负载。
对于不能安装Agent的设备,提供通过ssh、telnet或远程图形化代理的方式进行操作。
对Unix、Linux平台,采用Perl或C、C++编制Agent,可以支持所有的主流Unix和Linux平台。
对Windows平台,提供32位和64位的可执行代码,可以支持所有的Windows系统。
13.3.3功能架构设计
开发部分:
1、脚本开发与维护:
Ø支持参数化脚本的设计与模板
Ø支持脚本的图形化维护操作
2、流程开发与维护:
Ø提供建立灾备流程所需的各类基本元素,比如流程、子过程、连接弧等;
Ø支持图形用户界面的基本操作
Ø提供用户定义各模型属性的对话框;
Ø支持流程模板,可以由模板生成流程。
Ø支持模板和流程的保存与读取;
Ø支持多层次建模;
Ø支持人工操作
3、部署执行部分:
Ø支持流程部署的图形化操作
Ø支持流程实例化时的参数自适应匹配。
Ø支持自动化操作和人工操作
Ø支持自动化操作的异常检查,并在发生异常时转为人工操作,人工处理后,仍可继续自动化操作。
例:
WebLogic集群启动流程中,每台的启动命令是相似的,AutoSwith可以用参数化的方式复用流程和脚本。
这样,比如在西安测试中,有6台WeblogicServer,启动命令类似,仅Server名称不同,AutoSwith只做一个流程,复用同一个脚本,即完成任务。
主机集群配置:
主机集群执行结果:
4、监控部分
ØAutoSwitch服务器监控
ØAutoSwitchAgent监控
Ø业务主机监控
Ø配置文件变更监控
注:
绿色表示正常、蓝色表示处于停止状态、红色表示发生故障。
5、系统维护部分:
Ø用户管理
Ø角色管理
Ø权限管理
Ø服务器管理
Ø操作类型管理
Ø操作对象管理
6、报表、审计部分:
Ø系统维护报表
Ø流程定义报表
Ø流程执行报表
Ø审计报表
7、外部接口部分:
支持webservice、redis、socket、syslog等多种接口形式。
13.3.4非功能架构设计
性能高:
轻量化Agent,可大大减少对业务主机的负载;无差异前置机集群可以通过硬件扩充提高AutoSwitch服务器端的性能。
易用性好:
提供操作脚本和流程的标准化模板,可以大大化简流程开发的工作量;图形化的操作易学、易用。
可维护性好:
提供Agent和操作脚本的自动与人工下发;统一控制台,无需登录各个业务主机。
可扩展性好:
采用分布式消息系统和缓存系统,使每个前置机可以控制任一个Agent,每个流程及每个操作也可以由任一个前置机处理。
这不仅提高了AutoSwitch的处理性能,也使AutoSwitch具有非常好的可扩展性。
可靠性高:
AutoSwitch数据库和控制中心支持高可用集群和远程数据复制,确保7×24可靠工作。
例:
自动流程中的每个操作步骤都对应有原手工流程内相应的命令和解释,即可以帮助操作人员更好地理解自动流程,更大的作用是在该步骤发生异常时,可以更快地帮助操作人员排查问题。
13.3.5性能架构设计
Agent设计采用轻量化设计,仅有通讯和操作命令执行部分,其他功能都由前置机的程序补充完成,这可以最大化地减轻对业务主机的负载。
通常情况下,受控端Agent占内存3M以下,CPU1%以下。
采用分布式消息系统和缓存系统,使每个前置机可以控制任一个Agent,每个流程及每个操作也可以由任一个前置机处理。
这不仅提高了AutoSwitch的处理性能,也使AutoSwitch具有非常好的可扩展性。
这使得在配置2台前置机的情况下,可以并发执行400-1000个并发操作,也就是可以同时支持400-1000个并发流程或并发用户。
13.3.6管理功能架构设计
Ø对脚本、流程开发提供图形化操作界面,易学、易用
Ø对流程执行提供图形化操作界面,可选择层次式,或平铺式浏览。
方便操作人工通过平铺式快速掌握整个流程的执行情况;对于复杂、或很多步骤的流程也可以通过层次式查看执行的细节情况。
Ø提供对AutiSwitch、业务主机的可用性监控和配置文件的变更监控。
Ø提供完善的自动处理流程、人工处理流程和自动转人工及人工转自动的模式。
例:
需要人工干预
人工干预后,变为自动执行:
自动执行成功:
13.3.7安全性架构设计
Ø权限控制采用用户-角色-角色组模式。
ØAgent与前置机之间的通讯支持不加密、密码加密和数字证书签名等多种加密方式。
Ø管理界面部分支持ssl加密
Ø提供防火墙控制机制。
13.3.8AutoSwitch特点
1、灾备切换时间短、可靠性高
AutoSwitch支持一键式切换,即将切换流程中的操作命令脚本化,且最大化地实现并行操作。
从而切换速度快、且不会出现误操作,提高了切换质量。
AutoSwitch支持并发流程和同一流程内的并发操作,以及流程内的必要的先后执行顺序的定义与调度。
2、自动执行与人工执行完美结合
AutoSwitch支持人工操作模式和在自动操作流程中预设人工操作环节。
在自动流程执行过程中,每个操作命令后,都附有确认该操作是否正确执行的检查,当发现异常后,立即转入人工操作模式,当恢复正常后,还可以继续自动执行。
3、业务主机压力小
AutoSwitchAgent设计采用轻量化设计,仅有通讯和操作命令执行部分,其他功能都由前置机的程序补充完成,这可以最大化地减轻对业务主机的负载。
4、流程与切换脚本定义灵活、可维护性好
AutoSwitch可以支持各种流程的定义,且在脚本、流程和操作对象上都支持参数化定义,不仅可以减少脚本的数量,还可以重用相似流程,极大地减轻的开发流程和脚本的工作量和维护量。
1)内置可用性监控
AutoSwitch支持对AutoSwitch的后台进程和Agent及受控端的服务和应用进行可用性监控,让用户用的放心。
2)内置变更监控
AutoSwitch支持对配置文件、应用程序等的变更监控,可防止因变更导致切换出现问题。
3)可扩展性好
AutoSwitch的脚本和流程支持参数化设计,适应性广。
AutoSwitch体系结构采用服务主机-前置机-受控端代理的模式,具有优良的可扩充性。
4)易用性好
AutoSwitch在制作脚本和流程的环节上,不仅支持且提供现成的支持参数化的模板,大大减少了开发工作量。
AutoSwitch在界面操作上,提供多种图形化操作工具,易学易用。
AutoSwitch在处理异常时,提供相关步骤的人工操作命令指南,方便操作人员排查问题。
5)安全性好
AutoSwitch拥有严格的用户权限控制体系,使每个用户只能在其授权范围内操作。
AutoSwitch具有良好的审计功能。
AutoSwitch支持加密传输和加密访问。
6)可用性高
AutoSwitch数据库支持HA。
AutoSwitch的前置机支持集群。
AutoSwitch的受控端代理支持主备服务。
AutoSwitch还支持远程数据复制,确保灾备切换系统的7×24正常工作。
13.3.9AutoSwitch部署执行方案
在北京、上海和西安分别设置各一套AutoSwitch系统,分别负责相应区域内的灾备切换的自动化调度。
每个中心推荐配置四台服务器,其中两台做为前置集群,两台做为控制和数据中心。
另外,每个中心分别配备其它中心的AutoSwitch的数据备份和软件备份,在任何单一中心发生灾难时,其调度功能均可由其它中心接替。
每个受控业务主机上建议装两个AutoSwitchAgent,互为主备,确保灾备切换过程中没有单一故障点。
AutoSwitch系统架构
AutoSwitch系统原理
AutoSwitch服务器和应用服务器的交互主要有下面三种方式:
Ø在应用服务器上以root身份安装Agent
AutoSwitch服务器通过Agent完成操作。
Ø在应用服务器上以普通用户身份安装Agent
AutoSwitch服务器通过SSH登录到应用服务器完成操作。
Ø在应用服务器上不安装Agent
AutoSwitch服务器通过SSH登录到应用服务器完成操作。
AutoSwitch设计为前端控制台和后台服务器两个部分:
控制台------前端展示和操作:
登录和操作:
操作员从Web页面登录并发出切换指令。
进度展示:
展示切换进度,其内容根据切换进度实时自动更新。
交互入口:
在切换出现故障或者需要人工操作时,可以对切换进行人工处理。
服务器------后台控制:
主控程序:
定义流程、作业调度。
身份变换:
以不同用户身份在不同主机系统上执行切换指令。
运行架构图:
13.3.10AutoSwitch演练方案
AutoSwitch开发流程示例:
子系统验证演练流程介绍
验证流程由九个阶段组成,分别为:
DNS验证、断开590同步、导入R2卷、启动Oracle、Oracle验证、断开570同步、加载nfs、启动Weblogic和应用验证。
每个阶段中含若干个任务,验证流程的九个阶段中一共有31个任务,其中有两个任务需要人工干预,细节在下面的每个阶段的介绍中说明。
DNS验证
本次因时间关系和测试条件的限制,本阶段验证设置为人工验证。
断开590同步
断开590同步由四个任务组成。
分别为:
symdglist检查:
p590p2状态检查:
盘阵分离:
确认盘阵分离状态:
导入R2卷
导入R2卷由十一个任务组成。
分别为:
停Oracle、varoff、确认克隆卷、删除克隆卷、换LUN、删除物理盘、重新认盘、确认R2卷、检查盘阵、导入R2卷、设置权限。
停Oracle
Varoff
确认克隆卷
删除克隆卷
换LUN
删除物理盘
重新认盘
确认R2卷
检查盘阵
导入R2卷
设置权限
启动Oracle
启动Oracle由三个任务组成。
分别为:
检查init文件、检查ora文件和启动Oracle组成。
检查init文件
检查ora文件
启动Oracle
Oracle验证
表记录验证
断开570同步
断开570同步由三个任务组成。
分别为:
检查设备组、检查盘阵状态和断开同步。
检查设备组
检查盘阵状态
断开同步
加载nfs
启用webvg
加载nfs_weblogic
启动Weblogic
启动weblogic由三个任务组成。
分别为:
启动sitrbpServer、启动sitrbpServer和启动sitrbptg。
启动sitrbpServer
启动sitrbpServer
启动sitrbptg
13.3.11灾备切换自动化解决方案
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AutoSwitch 灾备切换软件技术方案 切换 软件技术 方案