摘 要:ORACLE被广泛部署与应用于数字化校园,随着生产与应用的深入,高校对数据库系统的高可用性十分重视。Oracle RAC作为实时应用集群的新技术,能够在低成本服务器上构建高可用性数据库系统,本文对ORACLE RAC架构及部署进行剖析。
关键词:数字化校园;ORACLE;RAC;高可用性
中图分类号:G250 文献标识码:A
1 引言(Introduction)
为了提高高校管理水平,促进高校内涵建设,高校纷纷开展了数字化校园建设项目。数字化校园已成为许多高校必不可少的业务生产系统,系统运行直接影响到学校的日常运转。数据库系统是整个数字化校园的核心,对数字化校园所应用的数据库的稳定性、可靠性、扩展性等提出了更高的要求。采用集群技术的ORACLE RAC数据库,可实现大量用户并发访问的同时保障其7×24的可用性、可靠性、故障快速恢复,保证数据库的高可用性[1]。
2 ORACLE数据库集群技术(ORACLE database
cluster technology)
集群技术是使用特定的配置方式,将成本相对较低的硬件设备结合起来,提高可扩展性和可靠性。Oracle RAC,全称Real Application Cluster(实时应用集群),是一种数据库应用集群技术,继承了集群的所有特性,是一项并行计算的技术,支持多个服务节点能同时共享对某个单一数据库的实时访问,从而获取更高的可用性、最灵活的可伸缩性以及经济型的系统架构。当某个服务节点发生故障,RAC能够自动切换到另外一个或多个节点上,从而实现应用的无缝切换,保证生产系统的连续性、可用性[2]。
2.1 可伸缩性
ORACLE RAC用户可以通过虚拟数据库服务名连接到数据库上,数据库服务或部分子集数据服务可被不同节点上RAC数据库实例预订。可以设置数据服务连接的数据库节点。
2.2 高可用性
ORACLE RAC在数据库恢复期间能提供完整的数据库访问,通过N-1节点失效的容错能力,只要有一个数据库节点维持正常运行,ORACLE RAC就能够提供完全的数据库访问和服务,保证数字化校园业务系统7×24可用性的。
2.3 可管理性
提供了从任何节点到所有磁盘设备和远程高速缓存进行无缝数据访问的能力。并将映像延伸到所有数据库管理操作。安装、配置、备份、升级以及监控等操作只需进行一次,然后会自动发布到集群中所有节点上去。
3 数据库集群存储架构(Database cluster storage
architecture)
大数据时代数据库集群技术是解决数据库系统安全、稳定及可靠性等问题的良好方案。数据库的集群和扩展与应用程序有所不同,需涉及到数据库层面的同步。现行数据库集群存储架构如下分为如下两种类型[3]。
3.1 Share-Disk架构
Share-Disk架构是通过多个服务器节点共享一个存储来实现数据库集群。Share-Disk架构又分为单活和双活,双活即为集群中的每一个节点都可以同时对外提供服务,而单活为集群中只有一个节点可对外提供服务,集群中的其他服务器作为冗余在“活”的节点出现故障时接替该服务器成为对外提供服务的节点。双活的技术虽然也是共享磁盘,但集群中的所有节点都可以对外提供服务。Oracle RAC集群采用的就是双活技术。
3.2 Share-Nothing架构
Share-Nothing架构又分为两种,第一种是分布式架构,将数据库中的数据按照某一标准分布到多台机器中,查询或插入时按照条件查询或插入对应的分区。另一种是每一个节点完全独立,节点之间通过网络连接,通常是通过光纤等专用网络。
4 ORACLE RAC数据库的部署(ORACLE RAC
database deployment)
4.1 运行环境规划
Oracle数据库集群需要至少两台服务器、一个共享盘阵,每台服务器最少需要两块高速网卡和一块HBA光纤卡。服务器的配置可选用机架式HP 580 G8或IBM 3850两台,单台配置4路CPU,64GB及以上内存,也可以根据业务的并发度和可用性指标要求采用更多的服务节点;存储配置EMC VNX 5000系统FC光纤存储系统两台,单台支持双控制器,控制器FC光纤端口通信速率不低于6Gbps;配置EMC DS 300光纤交换机一台,激活FC光纤端口不少于8个。操作系统采用64位Linux,数据库软件采用 oracle10g 和 oracle 10g rac组件。
4.2 存储的规划
数据库系统的存储应用一般都表现为大量的I/O访问,对带宽要求较低。如果存储设备的IOPS较小时,会降低数据库的检索、处理速度,从而影响业务系统的效率。存储配置的磁盘采用单块磁盘容量为600G/15000RPM的高速FC磁盘,本例单台可配置15*600G裸存储容量,也可根据业务系统需求进行存储容量的扩充。
建立一主一备两套存储系统,并采用EMC同步容灾进行数据的备份与容灾,通过同城同步保障主备核心业务数据的完全一致,并实现业务透明的回切,提升业务恢复能力。
4.3 ORACLE RAC的实施
通过两台服务器(单台服务器配置四个网卡),两个光纤交换机,两个专用网络交换机,一主一备两套共享存储,构建ORACLE RAC的物理架构。
依据设计的物理架构并按如下步骤进行配置。
(1)每个集群节点物理连接共享存储。
(2)集群节点安装操作系统,并进行存储配置。本例采用RHEL6.4/64位操作系统。endprint
(3)每个节点有两块网卡分别需要三个IP地址public、Private、VIP,Private和VIP分配到Public NIC上,其中虚拟IP是在所有服务器运行正常时,分配到公共IP上,当有一台服务器宕机,这台服务器上的虚拟IP将被转移到其他仍在正常运行的服务器上。可按如下表1进行地址的配置,具体应根据高校各自校园网地址规划有所区别。
表1 ORACLE RAC地址规划表
Tab.1 ORACLE RAC address planning table
项目 地址类型 ORac1地址 ORac2地址
网卡1 public 172.16.1.1/24 172.16.1.2/24
Gateway:172.16.1.254 Gateway:172.16.1.254
网卡2 vip 192.168.1.1/24 192.168.1.2/24
Gateway:192.168.1.254 Gateway:192.168.1.254
网卡3 privatc 10.0.0.1/27 10.0.0.2/27
(4)集群节点安装集群组件。
将数据文件、控制文件、参数文件及联机日志等安装在共享存储,并可以依据支行环境选择OCFS或ASM集群文件系统。
(5)建立集群数据库及实例。
(6)配置数据库监听及数据库服务。
(7)集群数据库测试。
4.4 配置Failover
Failover(故障转移)能够将正在使用故障节点的用户自动、透明地转移到可用节点,保障了集群中任意节点出现故障都不会影响用户的使用。一种推荐的Failover方式是采用Service-TAF方式。
Service-TAF通过结合Service,在数据库里保存FAIL_MODE的配置,把所有的TAF配置保存在数据字典中,这样做就不需要对客户端的TNS文件做任何TAF的配置。从配置参数而言,Service-TAF和TAF相比多了一个Instance Role(实例角色)的概念,就是当有多个实例共同参与一个服务时,可以配置优先使用哪一个实例为用户提供服务。
(1)使用srvctl创建hgputest服务
[oracle@dbs admin]$ srvctl add service–d hgpudsdata–s hgputest–r rac1–a rac2–p
其中,hgpudsdata为数据库名,hgputest为所要创建的服务,rac1为首选实例,rac2为可用实例。
(2)配置该服务自动启动
[oracle@dbs admin]$ srvctl enable service–d hgpudsdata–s hgputest
(3)启动该服务
[oracle@dbs admin] $ srvctl start service–d hgpudsdata–s hgputest
配置启动多个服务时,服务名间采用逗号间隔。
(4)修改dbms_service.modify_service文件,实现dbms_service包配置TAF,根据业务系统运行指标设置service_name、failover_method、failover_type、failover_retries、failover_delay等关键参数。
5 结论(Conclusion)
本文结合ORACLE RAC集群技术的特性,对高校数字化校园数据库集群的部署和实施进行分析和阐述。通过集群能够有效地提高高校信息系统运行的稳定和可靠性。但病毒攻击、无法抗拒的人为或自然灾害都会对数字化校园数据库运行构成安全威胁。高校信息化建设与管理工作者需要不断探索与实施更加安全、实用的数据库运行保障体系。
参考文献(References)
[1] 闫黎.基于Oracle RAC的数据库架构分析与企业应用[J].计算
机系统应用,2013(11):200-203.
[2] 曲建峰,等.Oracle RAC集群技术在图书馆集成管理系统中
的应用[J].现代图书情报技术,2012(07):133-137.
[3] 兰海波.基于Oracle RAC技术实现公共气象服务网站数据库
的高可用性[J].硅谷,2013(08):16-17.
作者简介:
王佩楷(1976-),男,硕士,副教授.研究领域:计算机网络及
相关技术研究及服务.endprint