双机容错方案
目前许多建立和应用信息系统的企业,在系统应用不断改进的同时,开始注意提高企业信息系统的可用性和可靠性。通过双机容错系统为企业提供系统高可用性保障是目前企业普遍采用的方法。医疗机构工作性质的特殊性要求其信息系统7天×24小时不间断运行,采用双机容错方案为系统提供了高可用解决方案。本文将对医疗信息系统的双机容错环境下Oracle数据库应用做详细介绍。
系统配置
该系统的硬件配置如下:
主数据库服务器: 富士通Primergy MS-610服务器(双Xeon 700MHz CPU,1GB内存)。
数据库备份服务器: 富士通Team Server C870ie GP5C875(双PentiumⅢ 700MHz CPU,1GB内存)。
容错软件: 天地公司的SLHA 3.0软件包。
磁盘阵列: IQstore R1500(带2个SCSI接口)。
线路连接: 2台服务器用RS-232串口线和RJ-45网络线相连(如图1所示)。
软件配置如下。
操作系统: Windows NT Server 4.0
服务器软件配置: Windows NT 4.0 Service Pack 5、Internet Explorer 5.0、Microsoft Data Access Component 2.0,Oracle数据库为7.3.3企业版。
双机容错的实现
1. 操作系统的安装
我们用A机表示数据库服务器,用B机表示备份数据库服务器。首先在物理上将所需硬件设备连接好,分别在各自服务器上安装Windows NT Server 4.0操作系统及补丁包等。然后,进入磁盘管理器,将磁盘阵列划分为2个逻辑盘D和E,此时2台服务器都可访问磁盘阵列。
2.Oracle数据库的安装
先关闭B机,在A机上安装Oracle数据库,安装路径默认为D盘,归档日志放在E盘。安装完毕后,将Oracle的3个服务(此处SID为ORCL,所以3个服务就是OracleServiceORCL、OracleStartORCL和OracleTNSlistener)的启动方式改为手动并将此3个服务停止。注意: 改为手动的目的是为了让这3个服务由双机容错软件来启动,而不是由操作系统启动。
然后,关闭A机,启动B机,格式化D盘,将刚刚由A机建立在磁盘阵列上的Oracle目录也格式化掉; 在B机上安装Oracle数据库,安装路径默认为D盘,安装完毕,同样将Oracle的3个服务的启动方式改为手动并停止3个服务。
双机上安装Oracle的实质就是将Oracle系统分别装在2台服务器上,而数据只存储在磁盘阵列上。
3.双机容错软件的安装及双机容错环境的建立
双机容错软件的安装非常简单,只需启动A机和B机,在2台服务器上分别安装该软件即可。建立双机容错环境是将磁盘阵列上的D盘和E盘以及Oracle 的3个服务交由双机容错软件控制,并由双机容错软件进行切换。
在双机容错软件SLHA的"Configuration"选项中将数据库服务器设为Active状态,即平时正常工作状态时,此时数据库服务器工作,备份服务器等待。当A机Active时,只有A机可以访问磁盘阵列,B机不能访问磁盘阵列。此时,Oracle数据库服务器实际上是A机,A机的IP地址就是Active IP Address,同时A机的主机名为Active Host Name; 当A机因故不能工作时,A机的状态会被"心跳线"侦测到,这时B机开始切换到Active状态,接管磁盘阵列,此时的Oracle数据库服务器改为B机,B机的IP地址就是Active IP Address,同时B机的主机名为Active Host Name。上述操作均由系统自动完成,实践证明切换所需的时间很快,对客户端的影响很小。
需要注意的问题
1.当在A机安装完Oracle数据库后在B机安装Oracle数据库时,一定要先将磁盘阵列D盘格式化,而不是只将D盘中已由A机安装的Oracle数据库删除,否则可能会出现意想不到的错误,例如Oracle侦听服务失败等;
2.最终安装好Oracle数据库后,要对D:OracleOrantnetworkAdmin Listener.ora文件进行修改,其中Server名称一定要改为Active host name Alias,如不进行修改将使客户端的Oracle数据库用户无法连接到Oracle数据库中。
3.在Hosts文件中增加一条记录,使Active IP Address和Active Host Name相互对应,这样系统就会自动起到解析作用。Hosts文件位于c:Winnt system32driversetc目录下。
4.要注意不到万不得已,不要强行切换,避免产生数据错误。如必须对双机进行切换,可先进入Svrmgr Oracle服务器控制台,用Shutdown命令关闭Oracle数据库,再进行切换。
双机容错的原理
图2为系统双机容错的示意图,从图2可以看出2台服务器共享一个外部存储设备,通过心跳检测的方法监听对方的工作状态,当一台服务器因为某种原因不能提供相应服务时,另一台服务器将启动相应服务功能,使主服务器提供的应用继续运行。
图2中的2台服务器安装相同的操作系统(硬件配置不必相同),如Windows NT Server 4.0,每台服务器安装2块网卡。服务器的一块网卡连接交换机,与局域网相连(即图2中Public Net); 另一块网卡和对方服务器的一块网卡相连,构成Private Net; 同时2台服务器由串口线相连,2台服务器间相连的串口线和服务器之间的RJ-45网线共同构成2台服务器之间的"心跳线"。2台服务器就是通过心跳线来互相监听对方工作状态的。注意: 同时采用网线和串口线组成"心跳线"的目的是为了确保"心跳线"的冗余。图2中的Public Drives(即双机共享磁盘阵列)是2台服务器都可以访问的磁盘,它实际上是一台磁盘阵列柜,由六块SCSI硬盘组成。磁盘阵列通过SCSI电缆分别连向2台服务器。2台服务器共用一个Active IP地址和Active Host Name。当某台服务器Active(即激活)时,Active IP Address和Active Host Name就指向那台服务器。
双机环境下的Oracle数据库机理
Oracle数据库安装在磁盘阵列上(即图2中Public Drives),2台服务器都可以访问它,但不能同时访问。Oracle Server for NT主要提供3个服务:OracleServiceSID、OracleStartSID和OracleTNSlistener。在数据库服务器正常工作时,由数据库服务器控制磁盘阵列柜,此时只有该服务器可以访问磁盘阵列,该服务器上的Oracle服务处于启动(Active)状态,此时该服务器就扮演图2中Active Server的角色,备份服务器处于等待(Standby)状态,即图2中Backup Server。
当数据库服务器发生故障不能工作时,双机容错系统会检测到数据库服务器的状态,从而使备份服务器自动激活,接管磁盘阵列并自动启动Oracle的3个服务,而对于客户端来说,只经历一个短暂的服务器重启过程,访问的数据仍是磁盘阵列中的数据。
注意: 是双机容错软件而不是操作系统来控制Oracle 的启动和停止,即由双机容错软件来控制这3个Oracle服务的启动和停止,实现Oracle数据库在双机之间的切换。
感谢yuxuan兄,帮你贴上来了。呵呵
Oracle Fail Safe 简要安装步骤
硬件环境:两台 4600 r 服务器(双网卡/36G/1*700Hz/1G)
一台 HP LH4 服务器(做主域控制器)
一台 SureFibre 200 R 光纤通道磁盘柜;
软件环境:操作系统:Windows 2000 Advanced Server
数据库:Oracle 9.0.1
高可用软件:MSCS、Oracle Fail Safe
说明:本文档是建立在 MSCS 已经正确安装和配置基础上的(关于 MSCS 的安装请参照另外提供的文档)简要安装步骤;详细的安装文档请参考另外提供的 PDF 文档;
Oracle Fail Safe 是架构在 Microsoft Cluster Server(MSCS)上的一个 Oracle 产品,为提供 Oracle 的一些产品(数据库、Oracle Application Server 等)提供高可用性,因此在安装此产品之前,必须正确安装和配置 MSCS。
安装步骤:
1、 在节点一上安装 Oracle 9.0.1,选择自定义安装,安装过程中选择部创建数据库;
2、 重新启动节点一;
3、 在节点二上安装 Oracle 9.0.1,选择自定义安装,安装过程中选择部创建数据库;
4、 重新启动节点二;
5、 在节点一上创建要添加到集群中的数据库,新数据库不要配置 Net8,即不要配置 listener.ora 和 tnsnames.ora 文件。注意 Control 文件、redo log files 和 data files 必须创建在磁盘柜的共享分区上;
6、 在节点一和节点二的注册表中相应位置添加第五步所创建的数据库的 ORACLE_SID;
7、 在节点一上安装 FailSafe 3.2;
8、 重新启动节点一;
9、 在节点二上安装 FailSafe 3.2;
10、 重新启动节点二;
11、 在两台机器上修改文件c:winntsystem32driversetchosts 如下:
192.168.34.1 clunode1 (节点1)
192.168.34.2 clunode2 (节点2)
192.168.34.122 mycluster (MSCS Cluster 的别名,也就是虚拟 IP的别名)
192.168.34.100 client1 (客户端信息)
注意节点上listener 使用的 IP 地址应该是虚拟 IP;
12、 打开 Oracle Fail Safe Manager
Start -> Programs -> OraHome91> -> Oracle Fail Safe Manager
打开后出现 Add Cluster to Tree 对话框,在该对话框里输入 CLUSTER 名称,会
提示输入在域里有管理权限的用户名和密码;输入后会出现 Verify Cluster 对话
框,对该集群各项资源进行有效性验证;
13、 在每台节点机上检查是否有服务 OracleMSCSServices,并启动该服务;
14、 在每台节点机上启动集群管理器(启动 -> 程序 -> 管理工具 -> 集群管理器),在 Cluster Group 检查是否有 Oracle Services for MSCS 这一项;并检查 Resource Types 中是否有 Oracle Database 和 Oracle TNS Listener。
15、 在 Oracle Fail Safe Manager 中的Groups 菜单里选择 Create;打开 Create Group Wizard 后可以设置 failover 和 failback 策略,并自动打开 Add Resource to Group Wizard 可以向组添加virtual address(选择Resources,然后Add to Group)。
16、 在 Troubleshooting 菜单上选择 Verify Standalone Database 验证 Oracle数据库以及 Oracle Net 配置,该命令确认 Oracle Fail Safe 可以访问数据库,并且 standlone 数据库位于共享分区上;
17、 在 Resources 菜单上选择 Add to Group,然后选择 Oracle Database打开 Add Resource to Group Wizard,该向导用来将 single-instance Oracle database server 配置为基于 MSCS 的高可用性数据库服务器;
其他说明:
在安装完 fail safe 后,Windows 2000 中的群集管理器中 群集配置 -〉 资源类型 -〉 下会出现两个资源类型:Oracle Database 和 Oracle TNS Listener,两者使用的资源 DLL 都是 FsResOdbs.dll 。
在 FailSafe 里添加组 grptest 并将数据库群集添加后,在群集管理器里也增加了该组,组包含的内容有:IP Address 192.168.34.71、Network Name scsi817、Disk R:、OracleOraHome81TNSListenerFslscsi817 和 LEGEND(数据库实例名)
其中:(C:winntsystemdriversetc 的内容如下:)
192.168.34.45 t310
192.168.34.46 t350
192.168.34.70 scsiclu (群集的名称)
192.168.34.71 scsi817 (Oracle 集群使用的 IP 和网络名称)
=================================================================
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25498/viewspace-793491/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25498/viewspace-793491/