APP下载

Oracle MAA在汽车行业电子政务平台中的应用

2017-01-21王英资赵帅方祥毅

软件导刊 2016年12期
关键词:负载均衡容灾电子政务

王英资+赵帅+方祥毅

摘 要:立足于汽车行业电子政务平台,分析了双机热备技术的优缺点和Oracle MAA架构的体系结构与基本原理。结合业务需求,提出基于Oracle MAA的解决方案,并阐述了具体实施步骤。实现了无人工干预的自动故障切换和本地容灾设计,提高了数据库系统的安全性、可靠性及可扩展性,提升了硬件资源的利用效率和经济效益,对企业数据库的构建具有一定指导意义。

关键词:Oracle MAA;电子政务;数据库;集群;负载均衡;容灾

DOIDOI:10.11907/rjdk.162268

中图分类号:TP319

文献标识码:A文章编号:1672-7800(2016)012-0103-04

0 引言

由于中央和地方政府的高度重视,电子政务在我国虽然起步较晚,但发展势头迅猛。特别是汽车行业在10多年的运行实践中,进行了大量有益探索,并取得了重大进展。以信息技术为中心,汽车行业政务管理由最初的纸质材料管理一步步升级,最终实现了信息化管理。数据库作为信息系统数据的最终载体,存储着汽车行业电子政务平台的所有历史和实时数据,一旦遭到破坏,将造成极大损失。因此,伴随电子化进程,政务平台后台数据库也由最初的单机版逐步升级为双机热备方式,尤其是平台的核心数据库,均已全面完成了升级,从而大大提高了数据库系统的稳定性和可靠性,提升了企业服务能力。

随着云计算、大数据的迅速发展,政务平台积累的数据量大大增加,因而其在稳定性的基础上,对数据库的性能、可扩展性、负载均衡管理等提出了更高要求。Oracle MAA架构既能确保数据库系统安全、稳定、高效运行,以更好地满足企业需求,也能提高软硬件利用效率,有效节约成本。

1 现状分析

目前行业电子政务平台的数据库主要采用双机热备方式,能够有效预防服务器故障带来的数据丢失、系统不可用等现象发生。双机热备有共享和软件同步数据[1]两种方式,汽车行业电子政务平台的双机热备采用共享方式实现,如图1所示。两台Oracle T5-2服务器,在Solaris 10的操作系统上,采用RAID 5作为共享存储,使用Cluster软件实现双机热备份。为了降低主备服务器之间切换对用户造成的影响,在主备服务器实际IP地址之上,架设浮动IP(也称虚拟IP)对应用提供服务,以缩短主备服务器的切换时间[2]。

该架构的优点如下:①通过软件和硬件相结合的方式,实现系统与数据的真正分离;②主备服务器切换时间短,平均切换时间为90s左右;③切换过程中对应用程序没有影响,程序无需重新启动或登录;④系统效率高,整个系统的读写、管理及容错均由磁盘阵列完成;⑤数据安全性较高,所有数据全部贮存在磁盘阵列中,即使由于软件本身的缺陷导致系统全部宕机,也不会造成数据丢失或不同步的问题[3]。

然而,该架构在服务器切换、购买配置、服务器利用率、容错性、读写性能等方面仍存在一些问题:

(1)在主备机进行手工或自动切换过程中,需要重新启动Oracle各个核心进程,有可能造成实时数据丢失。若关键数据丢失,将无法挽回。

(2)受系统需求和计算方式限制,只能针对高峰容量采购服务器配置,否则无法负载政务平台的应用,而备机要承担相应功能,也必须具有同样性能,从而成倍地增加了采购成本。另外,当需要通过提升硬件配置来提高系统性能时,双机热备方式无法快速扩充某个单元模块的容量,通常需要购买配置更高的新设备来替换原有服务器。在大数据时代,服务器的购置频率将大大增加,花费也相应提高,将对平台的运维方构成发展的瓶颈。

(3)主备服务器配置基本相同,但正常情况下,备机并不实际工作,接近于闲置状态,造成硬件资源的极大浪费。

(4)系统存在单点缺陷,虽然RAID 5磁盘阵列在一块成员盘损坏的情况下,对业务不会造成太大影响,但不排除出现两块以上成员盘损坏,或其它逻辑、物理的故障,导致数据丢失的情况出现。另外,RAID 5通过奇偶校验方式恢复损坏盘的数据,由于算法的复杂性,在数据量较大时,恢复过程持续时间非常长,恢复时RAID 5控制器的负载也很大,若出现I/O滞留,则可能导致更多成员盘离线,或RAID信息出错,造成数据库系统不可用。

(5)系统不支持在线扩容。当存储空间不够,需要扩大容量时,只能重新部署一整套双机软件,涉及到各项业务的停机、迁入迁出等,不仅提高了运维人员工作量,也降低了用户满意度。

(6)在政务平台数据库的实际使用过程中,随着数据容量的不断增大,基于UFS的文件系统IO读写能力最大为200MB/S,无法支持未来海量数据的运算需求,成为数据库系统性能的瓶颈。

2 Oracle MAA架构设计

2.1 Oracle MAA数据库架构分析

Oracle MAA是由多个独立服务器互相协作组成的系统,可以随着系统的扩大而扩展,同时也提高了系统的安全性和错误恢复能力。Oracle最高可用性架构(Maximum Availability Architecture,MAA)[4]继承了集群的所有特性,不仅是一项并行计算技术,也是一个高效的容灾方案。底层基础体系是RAC+ASM+Data Guard,用户可以通过自动负载均衡和Failover特性访问当前生产主数据库,当生产主库出现故障时,可以手工或自动切换到生产备库,用户会话也会自动连接到备用库,从而保证了系统的最大可用性和业务连续性[5]。此外,不论是生产主库,还是生产备库,都是多个服务器共享单一数据库的实时访问,确保了更高的可用性和更灵活的可伸缩性。

如图2所示,主备库通过Oracle Data Guard[6]实现,其配置包括一个生产主库和一个或多个生产备库(最大可创建30个),数据库可分布在同一个或多个不同地理位置上。生产主库是大多数应用访问的数据库,生产备库分为物理备库和逻辑备库两种[7]。其中,物理备库是主库的一个完整副本,磁盘结构和数据块结构均相同,数据通过同步或异步方式传送Redo日志实现;逻辑备库基于SQL进行同步,备库接受从主库传来的Archive Log,通过Log Miner技术解析为SQL语句执行,支持特定的报表或业务,也支持额外的数据库结构。Data Guard有3种运行模式,分别为最大保护模式(Maximum Protection)、最高可用性模式(Maximum Availability)和最高性能模式(Maximum Performance)[8]。

生产主库和备库各为两个节点的RAC,每个节点的服务器都相对独立[9]。节点间通过通讯层,在不需要人工干预的情况下,实现负载均衡、缓存融合以及故障转移等。主备库各节点分别共享一个数据库,该数据库使用自动存储管理(Automatic Storage Management,ASM)[10],将磁盘阵列设置为ASM磁盘组方式,共享数据文件、控制文件、日志文件等,支持在线扩容,不需要停库。通过内部协调方式共享所有(Shared Everything)架构,可以保证每个节点访问数据的完整性和一致性[11]。

在MAA架构中,所有节点服务器的性能总和达到应用系统对服务器的峰值要求即可,当需要提高服务器处理能力时,只需按照增量设定新增服务器节点。该过程不需要对应用程序进行任何修改,原有服务器也可继续使用。若个别服务器节点出现故障,其它状态正常的服务器节点将分担故障节点的工作量,不影响整个架构的运行;若所有服务器节点或整个存储都出现故障,将由生产备库接管所有工作,继续对外提供服务,整个切换过程对用户是透明的。

2.2 框架设计

为应对大数据时代的来临,汽车行业电子政务平台需进一步提升数据的安全性,提高数据库系统的可靠性、可用性、可扩展性,以及硬件利用率。Oracle MAA具备以上性能,将是未来云计算可选的实施方案之一。

根据实际情况,设计具体实施方案如图3所示。整个MAA架构位于同一机房,生产主库使用2节点RAC+ASM,生产备库使用单实例物理备库+ASM,采用最高性能模式。服务器为3台Oracle T5-2,操作系统为Solaris 10。数据库采用Oracle 11.2.0.4,并安装最新的PSU,网络为光纤交换机。存储为2台RAID 5磁盘阵列,分别划分为+DATA磁盘组(外部冗余),用于存储数据;+FLASH磁盘组(外部冗余),用于存储FRA相关数据;+GRIDDG磁盘组(内部冗余),作为Voting Disk,存储OCR信息;另外,预留四分之一文件系统容量,用于存储备份文件等。

在该框架下,可以充分利用多台服务器处理资源,该框架具备以下优点:①提供了跨计算机的工作能力,不需要因为负载量变化,对数据进行分区或重定义;②明显提高了硬件设备和资源利用率。在生产主库,多台服务器并行提供服务,大大提高了数据处理能力,满足了业务负载需求。在生产备库,因为采用了Oracle 11G版本,物理备库可以在应用日志的同时,对外提供读操作,供查询和报表服务使用,实现读写分离;③在生产主库中,不仅可以随时增加服务器节点数量,对服务器硬件配置也没有太高要求;④安全性进一步提升,消除了系统单点故障;⑤支持存储在线扩容和数据自动重平衡,确保系统连续在线、不间断运行和数据的均匀分布;⑥提高了系统的读写效率,在实际测试时,读写速度可达800MB/s,并支持多个系统海量数据的并发使用。

3 应用实施

3.1 配置系统环境

(1)规划操作系统、主机名、IP、VIP、SCAN-IP等,需确保操作系统版本号一致并同时支持32位或64位操作系统。

(2)配置系统hosts文件。

(3)在各节点设置网卡。

(4)进行安装前的检查,包括:内存大于1G,交换区大于内存1.2倍,/tmp区大于400M,系统包符合安装要求,/etc/system参数配置,用户、用户组、权限设置,grid、oracle用户环境变量设置等。

3.2 安装过程

(1)安装Oracle 11G Grid Infrastructure软件。

(2)使用./crs_stat –t检查资源状态,除ora.gsd、ora.rac1.gsd外,均为Online状态。

(3)安装Oracle 11.2.0.4数据库软件,Grid Installation Options选中Oracle Real Application Clusters database installation。

(4)安装并创建ASM磁盘组。

(5)安装最新的DB PSU和GI PSU。

(6)使用Database Configuration Assistant(DBCA)创建Oracle数据库。

(7)备库安装过程,除(3)、(6)步外,其余都一样。备库中,(3)步的Grid Installation Options选中Single instance database installation,(6)步不执行。

3.3 物理Dataguard配置过程

(1)主备库分别配置tnsnames.ora文件。

(2)主库两节点开启归档和force logging模式。

(3)在备库手工创建必备目录。

(4)在主库任意节点(节点1、节点2均可)使用RMAN进行备份,并scp到备库相应目录。

(5)在备库使用RMAN启动数据库到nomount状态,恢复spfile文件,并修改。

(6)在备库创建密码文件,密码一定要与主库一致。

(7)重新启动备库到nomount状态,恢复控制文件。

(8)启动备库到mount状态,重建数据文件,并恢复至同一SCN号。

3.4 配置主备库

(1)主备库分别创建standby日志组,日志组数量是redo log个数+1,大小一致。

(2)分别进行主备库参数配置,如DB_UNIQUE_NAME、LOG_ARCHIVE_CONFIG、FAL_SERVER、FAL_CLIENT等至少11个参数,选择LGWR方式同步数据。

(3)以Active Data guard方式开启备库自动恢复,并在主备库之间验证数据和日志传输情况。

4 结语

Oracle MAA能够运行在所有平台上,是最高可用性和本地容灾的最佳实践方案,可大大提高整套应用系统的运行效率和经济效益。本文结合MAA特性,将其应用于汽车行业电子政务平台数据库建设方案中,并给出具体实施步骤,可确保系统的平稳运行,以及相关服务的稳定性、可靠性和安全性。当然,数据库的高可用性、负载能力、容灾能力与许多方面有关,如主机、存储、网络等。当前的Oracle MAA设计是在本地环境进行的数据库冗余和灾备措施,对于地震、火灾等不可抗力导致的机房损毁,将无法得到可用性保障。因此仍需提供跨地域的容灾方案,以实现快速切换与灾难恢复,这也是未来每个行业数据中心必须考虑和面对的问题。

参考文献:

[1] 李利军.星载双机热备份计算机系统设计[D].西安:西安电子科技大学,2010.

[2] 孙川.基于分布式事务的数据库双机热备份方案的设计[J].微计算机信息,2010,26(12):145-147.

[3] 曲建峰,孙翌,徐汝兴,等. Oracle RAC集群技术在图书馆集成管理系统中的应用[J].现代图书情报技术, 2012(Z1):133-138.

[4] 王楷.基于云计算的城市社区电子政务服务研究[J].软件导刊,2015,14(2): 8-9.

[5] KHAN S F, RAHEED M A A. A developer's guide to database management systems: using oracle 10g RDBMS[M]. CreateSpace Independent Publishing Platform, 2015.

[6] 宋亮. 医院信息系统中Oracle Data Guard部署与实践[J].医疗卫生装备,2013,34(5):62-65.

[7] 王兴强,侯玉玲,刘长兴,等.基于“军卫一号”数据库的DataGuard数据容灾方案设计与实现[J].医疗卫生装备,2016(5):52-54.

[8] BARANSEL E, BASHA N. Oracle data guard 11gR2 administration beginner's guide[M]. Packt Publishing, 2013.

[9] 闫黎. 基于Oracle RAC的数据库架构分析与企业应用[J].计算机系统应用,2013(11):200-203.

[10] Sideris. Oracle Database 11g R2 grid infrastructure & ASM[M]. Sideris Courseware Corporation, 2011.

[11] 文平. ORACLE大型数据系统在AIX/UNIX上的实战详解[M].北京:电子工业出版社,2009.

(责任编辑:黄 健)

猜你喜欢

负载均衡容灾电子政务
论基于云的电子政务服务平台构建
关于建筑企业容灾备份系统方案的探讨
异构环境下改进的LATE调度算法
基于中兴软交换的电力通信网络容灾系统建设
电子政务工程项目绩效评价研究
试论基于Petri网的电子政务系统
实施存储虚拟化及应用容灾保障医院信息系统业务连续性