oracle双机热备架构方案

更新时间:2024-06-28 10:26:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 双机热备概述

双机热备有两种实现模式,一种是基于共享的存储设备的方式,另一种是没有共享的存储设备的方式,一般称为纯软件方式。

基于存储共享的双机热备是双机热备的最标准方案。

对于这种方式,采用两台(或多台)服务器,使用共享的存储设备(磁盘阵列柜或存储区域网SAN)。两台服务器可以采用互备、主从、并行等不同的方式。在工作过程中,两台服务器将以一个虚拟的IP地址对外提供服务,依工作方式的不同,将服务请求发送给其中一台服务器承担。同时,服务器通过心跳线(目前往往采用建立私有网络的方式)侦测另一台服务器的工作状况。当一台服务器出现故障时,另一台服务器根据心跳侦测的情况做出判断,并进行切换,接管服务。对于用户而言,这一过程是全自动的,在很短时间内完成,从而对业务不会造成影响。由于使用共享的存储设备,因此两台服务器使用的实际上是一样的数据,由双机或集群软件对其进行管理。

对于纯软件的方式,则是通过支持镜像的双机软件,将数据可以实时复制到另一台服务器上,这样同样的数据就在两台服务器上各存在一份,如果一台服务器出现故障,可以及时切换到另一台服务器。

纯软件方式还有另外一种情况,即服务器只是提供应用服务,而并不保存数据(比如只进行某些计算,做为应用服务器使用)。这种情况下同样也不需要使用共享的存储设备,而可以直接使用双机或集群软件即可。但这种情况其实与镜像无关,只不过是标准的双机热备的一种小的变化。

本方案是前者————基于共享存储设备的数据库热备。

第二章 数据库服务器双机热备的好处

这种配置模式的优点是有利于数据库的升级,当其中systemA需要升级的时候,就把服务切换到systemB上运行,升级A的DB2程序,之后还可以把服务切换回到A来,然后升级B的DB2程序。这个升级过程不会影响用户的DB2使用,因为总有一台机器可以使用DB2程序来响应用户的服务请求。

服务器的故障可能由各种原因引起,如设备故障、操作系统故障、软件系统故障等等。一般地讲,在技术人员在现场的情况下,恢复服务器正常可能需要10分钟、几小时甚至几天。从实际经验上看,除非是简单地重启服务器(可能隐患仍然存在),否则往往需要几个小时以上。而如果技术人员不在现场,则恢复服务的时间就更长了。

而对于一些重要系统而言,用户是很难忍受这样长时间的服务中断的。因此,就需要通过双机热备,来避免长时间的服务中断,保证系统长期、可靠的服务。

决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对

服务中断的容忍程度,以此决定是否使用双机热备。即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。

在考虑双机热备时,需要注意,一般意义上的双机热备都会有一个切换过程,这个切换过程可能是一分钟左右。在切换过程中,服务是有可能短时间中断的。但是,当切换完成后,服务将正常恢复。因此,双机热备不是无缝、不中断的,但它能够保证在出现系统故障时,能够很快恢复正常的服务,业务不致受到影响。而如果没有双机热备,则一旦出现服务器故障,可能会出现几个小时的服务中断,对业务的影响就可能会很严重。

另有一点需要强调,即服务器的故障与交换机、存储设备的故障不同,其概念要高得多。原因在于服务器是比交换机、存储设备复杂得多的设备,同时也是既包括硬件、也包括操作系统、应用软件系统的复杂系统。不仅设备故障可能引起服务中断,而且软件方面的问题也可能导致服务器不能正常工作。

还应指出的是,一些其他的防护措施如磁盘阵列(RAID)、数据备份虽然是非常重要的,但却不能代替双机热备的作用。

双机热备与数据备份的关系

一些用户在规划双机热备或双机备份时,会有这样的问题:我已经有了RAID,以及磁带备份,还有必须做双机吗?或者,如果我做了双机备份,还有必要做磁带备份吗?

应该说RAID和数据备份都是很重要的。但是,RAID技术只能解决硬盘的问题,备份只能解决系统出现问题后的恢复。而一旦服务器本身出现问题,不论是设备的硬件问题还是软件系统的问题,都会造成服务的中断。因此,RAID及数据备份技术不能解决避免服务中断的问题。对于需要持续可靠地提供应用服务的系统,双机还是非常重要的。只要想一想,如果你的服务器坏了,你要用多少时间将其恢复到能正常工作,你的用户能容忍多长的恢复时间就能理解双机的重要性了。

从另外一个方面,RAID以及磁带备份也是非常需要的。对于RAID而言,可以以很低的成本大大提高系统的可靠性,而且其复杂程度远远低于双机。因为毕竟硬盘是系统中机械操作最频繁、易损率最高的部件,如果采用RAID,就可以使出现故障的系统很容易修复,也减少服务器停机进行切换的次数。

数据备份更是必不可少的措施。因为不论RAID还是双机,都是一种实时的备份。任何软件错误、病毒影响、误操作等等,都会同步地在多份数据中发生影响。因此,一定要进行数据的备份(不论采取什么介质,都建议用户至少要有一份脱机的备份),以便能在数据损坏、丢失时进行恢复。

第三章 数据库服务器双机热备组网图

3.1网络拓扑图

磁盘阵列双机热备数据库服务器心跳线DB1DB2交换机

3.2逻辑图

Appdg*/data2appdgapp1dgdata1oradg db1ora-rgOracle 10g(主)db2Oracle 10g (备)

3.3设备清单

3.3.1软件清单

软件名称 操作系统 版本 安装说明 安装目录 磁盘多路径管理 群集软件软件 Oracle

Veritas 3.3.2硬件清单

磁盘阵列(存储)

主机配光纤卡(hba卡) 两台型号一样的主机 光纤

第四章 技术部分

4.1操作系统安装

4.2Oracle安装

a) 创建数据文件使用的共享存储(在system1上面执行下列5个命令):

i. # vxdg init oracleDG c0t0d0; 创建磁盘组oracleDG,使用c0t0d0这个硬盘; ii. iii. iv. v.

# vxassist -g oracleDG make oracleVol 5g; 在磁盘组上创建5G大小的卷oracleVol; # mkfs -F vxfs -o largefiles /dev/vx/rdsk/oracleDG/oracleVol; 创建文件系统; # mkdir /oracle ; 创建mount点,共享磁盘将mount到这里; # mount -F vxfs /dev/vx/dsk/oracleDG/oracleVol /oracle; 将共享盘mount到本

机;

b) 在两台机器上面分别执行下列命令,创建相同的用户组和用户:

i. # groupadd -g 500 dba; 创建oracle管理组; ii. # useradd -g dba -u 500 -d /home/oracle -m oracle; 创建oracle管理用户; 注意:组ID或者用户ID可以是任意尚未被使用的数值,但是一定要保证多台机器必须一致。

c) 安装oracle程序

到oracle安装文件的目录下,运行下列命令安装oracle程序

#. /runInstaller

在安装过程中,指定oracle用户为“oracle”。

注意:如果需要在多台机器安装oracle,则需要在多台机器运行该程序;如果仅仅想把程序安装在共享盘上面,则仅仅需要在一台机器安装。 注意:安装过程中有一步会问用户是否需要配置数据库,我们选择“仅仅安装软件”,我们会在稍后配置数据库文件到共享磁盘。

d) 配置数据库:

oracle程序安装完毕后,我们需要配置数据库到共享磁盘上,这样多台机器才能够共享其数据资源;

# dbca

运行数据库配置助手来帮助用户安装数据库,注意需要将路径指明到共享磁盘中。 e) 设置环境变量

在各个机器的/home/oracle/.profile文件中,设置两个全局变量:

$ORACLE_HOME=/oracle $ORACLE_SID=oracle f)

# rpm -ivh VRTSvcsor # rpm -ivh VRTScsocw

这样,oracle的安装就完成了。

该变量指明数据库的安装位置; 该变量指明访问哪个数据库实例;

安装VCS的oracle代理软件:(以redhat为例)

测试 在安装结束之后,我们需要测试一下oracle能否在多台机器上正常工作。

a) 将共享盘mount到第一台机器(步骤可以参考DB2双机配置)

b) 从这台机器登陆数据库并创建一个表

i. su – oracle 将系统用户切换到oracle用户; ii. iii. iv. v. vi. vii.

export $ORACLE_HOME=/oracle;

导出全局变量;

export $ORACLE_SID=oracle;

$ORACLE_HOME/bin/sqlplus /nolog 进入数据库模式; connect / as sysdba 以系统管理员身份登陆数据库; create user tester identified by '123456' default tablespace USERS temporary tablespace TEMP quota 100K on USERS; 创建一个新用户tester; grant create session to tester; create table tester.mytime ( tstamp date );

赋予新用户tester创建表的权限; 在tester用户空间下创建一个新表;

viii. insert into tester.mytime (tstamp) values (SYSDATE); 在新表中插入数据; ix. disconnect; 断开连接; c) 测试其他集群节点可以工作: i. ii. iii.

connect tester/123456 以新用户身份登陆数据库; update tester.mytime set ( tstamp ) = SYSDATE; 更新表的内容; select TO_CHAR(tstamp, ’MON DD, YYYY HH:MI:SS AM’) from tester.mytime; 确认表的内容已经被更新;

iv. exit 推出。

在经过这个检查之后,就说明数据库已经正确安装并可以被每个节点正常的访问,测试成功。

4.3存储安装

4.4集群软件安装

选择相应的集群软件,厂家负责上门安装。并按照业务的设计需要做相关的规划,最后输出安装文档,作为实施的交付件。

本文来源:https://www.bwwdw.com/article/rxp3.html

Top