实战:Linux环境Rose HA安装完全攻略

  作者:sansky
2007/8/23 0:00:00
本文关键字: 存储 方案 案例

    上篇文章我们已经介绍过如何在windows环境下安装Rose HA,本文将介绍。如何在Linux环境下安装Rose HA。本文假设环境为Linux操作系统,采用9.2版本的oracle数据库。下面我们看看,在Linux Oracle环境下如何安装和配置Rose HA。

    首先将光盘放进光驱 

    计算机— CD-ROM 双击打开 将三个文件复制到系统的某个文件夹下或是将将光驱 mount 到 /mnt 下。

系统工具—终端(将光驱挂载到 mnt 文件夹下)

    在终端窗口下一次键入: # mount –t iso9660 /dev/cdrom /mnt (挂载设备)
    # cd /mnt (进入 mnt 文件夹)
    # ls ( 查看 mnt 下的文件 )  


    安装 ROSEHA ,进入到 mnt 目录下 运行 # ./install.sh 

    可检查 /opt/roseha/bin 面是否有文件存在

两个较为重要的文件 NewPass 修改密码(第一次运行需要修改密码)

运行 # ./NewPass 按照下图进行

按照提示首先 User : ha ( 管理员的用户名 ) New password : 密码 Re-enter new password 重新输入密码 

 

    到这里,Rose HA的安装基本结束,但是不要心急,我们会还需要一些步骤来设置Rose HA的初始化。

初始设置Rose软件

    在进入系统之前然我们来设置一下系统的相关信息如下图所示: /etc/hosts

    设置完毕后重新引导系统确定 starting RoseHA dearm 服务启动正常

 在 /opt/roseha/bin 下运行 # ./hacon 运行 ROSEHA 的管理界面

    进入控制界面首先敲击回车选择 Connect 进入系统,User 是上面我们设置的用户名 Password 也是我们设置的密码 全部输完 “ OK”


    出现如下和面说明连接正常

当我们没有拿到正式的 licence 授权之前我们就可以先享受 30 天的使用期,可是也需要设置一下 

 只要移动 Tab 键在 HostName: 处将本机的主机名 和对端主机名填写正确就可以了“ OK “
两边机器都需要进行设置

    出现下图所示的 License Information success 说明我们可以用试用版了只要在一个月内注册正式版产品就可以了!两边的服务器都需要做相同的设置。

 

配置双机HA

1 、管理界面的启动

    # hacon

2 、连接:

    进入 Tools---Connect, 输入 Server:localhost

    User:root

    Password:root

3 、 license 号输入:

    进入 Tools---License, 输入 HostName: 左边为本机主机名,右边为远程主机名。 ( 把左边主机名输入后 , 按 Tab 键可把光标移动到右边 , 输入远程主机名 , 点击 ok)

4 、创建 RS232 私网:

    进入 PrivateNet---Create RS232, 把两台主机的 DeviceName 改成 /dev/ttys0 。

        注:该操作在两台主机上都要做

5 、创建 socket 私网

    进入 PrivateNet---Create Socket, 选择主机用于私网的地址,输入远程主机用于私网的地址。说明:这是两台机器通讯用的 IP 地址(心跳 IP ),

    注:该操作在两台主机上都要做

6 、获取对方主机信息:

    进入 Tools---Network, 直接选中 AutoGet , OK 。这样就会得到对方主机信息。

7 、创建服务:

    进入 Services---Create ,

    Type : ORACLE

    IP Holding NIC :分别选择两台主机所提供外界服务的网卡设备名(如: eth0 ) ,

    不能与心跳网卡在同一个设备上。

    Active IP Address :这是为外界数据库服务的 IP (虚拟 IP )地址。此地址必

    须与公网的实际 IP 在同一网段上(也就是与在 IP Holding NIC 中所选择的网卡实际 IP 在同一网段上)。

    Active SubnetMask :虚拟 IP 的子网掩码。

    Agent Script :相应的监控脚本,如: ha_ag_oracle.x 。

    Start Script :相应的启动脚本,如: ora_start.sh 。

    Stop Script :相应的停止脚本,如: ora_stop.sh 。

    Active Volume :磁盘阵列两台主机共用的文件系统的设备名。如: /dev/sdb1

    Backup Volume :磁盘阵列两台主机共用的文件系统的设备名。 Active Volume 应与 Backup Volume 的值相同。

    Mount Point :与 Active Volume,Backup Volume 值所对应的 mount 点。如: /oracle

    SwitchBack:NO

Oracle 9.2.0 版本的启动脚本

(1)ora_start.sh

#!/bin/sh

# This file: ora_start.sh

# Version: 4.0.1

HAHOME=`cat /etc/init.d/HAHOME`

export HAHOME

out=$HAHOME/bin/APIOUT.x

JOBNAME=$2

# When Another Server are Down, You MUST sleep awhile.

# You can change this value to meet your requirement if need.

if [ "$1" = "anotherdown" ]

then

/bin/sleep 30

fi

# DISKDEV=/dev/sda5

# MOUNTPOINT=/oracle

# $HAHOME/bin/dflush $DISKDEV

# fsck -a $DISKDEV

# if test $? -ne 0

# then

# ${out} "[INFO] fsck ${DISKDEV}......"

# fsck -yf $DISKDEV

# fi

# mount $DISKDEV $MOUNTPOINT

# mount | grep "${DISKDEV} on ${MOUNTPOINT} " >/dev/null 2>&1

# if test $? -ne 0

# then

# ${out} "[INFO] Cannot mount ${DISKDEV}."

# exit

# fi

$HAHOME/bin/ha_ag_oracle.x $JOBNAME 0

if test $? -eq 0

then

${out} "[INFO] The service <${JOBNAME}> has started."

exit

else

${out} "[INFO] Start Oracle server...."

su - oracle -c "$HAHOME/bin/ora_dbshut_ab.sh"

su - oracle -c "$HAHOME/bin/ora_dbstart.sh"

fi

${out} "[INFO] Start shell <$0> finished."

(2) ora_dbstart

#!/bin/sh

# This file: ora_dbstart.sh

# Version: 4.0.1

HAHOME=`cat /etc/init.d/HAHOME`

export HAHOME

if test ! "$1" -o ! "$2"

then

echo "ora_dbstart.sh: Message: ORACLE_SID LISTENER not specified."

else

ORACLE_SID=$1

LISTENER=$2

export ORACLE_SID

fi

# start Oracle Instance

# You MUST choose a Oracle setup mode to meet your requirement.

# The nether lines for Oracle Version 9 or Later

sqlplus "/ as sysdba "<<!

startup

exit

!

# The nether lines for Oracle Version 8 or Older

# svrmgrl <<!

# connect internal

# startup

# exit

# !

# start Oracle listener

lsnrctl start $2

Oracle 9.2.0 的停止脚本

(1)ora_stop.sh

#!/bin/sh

# This file: ora_stop.sh

# Version: 4.0.1

HAHOME=`cat /etc/init.d/HAHOME`

export HAHOME

out=$HAHOME/bin/APIOUT.x

JOBNAME=$2

ERRORNUMBER=$3

${out} "[INFO] The service <${JOBNAME}> stop because of {$ERRORNUMBER}."

# DISKDEV=/dev/sda5

# MOUNTPOINT=/oracle

$HAHOME/bin/ha_ag_oracle.x $JOBNAME 0

if test $? -eq 0

then

${out} "[INFO] Stop Oracle server immediate...."

su - oracle -c "$HAHOME/bin/ora_dbshut_im.sh"

else

${out} "[INFO] Stop Oracle server...."

su - oracle -c "$HAHOME/bin/ora_dbshut_ab.sh"

fi

sync

# $HAHOME/bin/UMOUNT $DISKDEV $MOUNTPOINT

# mount | grep "${DISKDEV} on ${MOUNTPOINT} " >/dev/null 2>&1

# if test $? -eq 0

# then

# ${out} "[WARNING] Cannot umount ${DISKDEV}."

# /sbin/reboot

# fi

${out} "[INFO] Stop shell <$0> finished."

(2) ora_dbshut_ab

#!/bin/sh

# This file: ora_dbshut_ab.sh

# Version: 4.0.1

COLUMNS=1024

export COLUMNS

HAHOME=`cat /etc/init.d/HAHOME`

export HAHOME

if test ! "$1" -o ! "$2"

then

echo "ora_dbshut_ab.sh: ORACLE_SID or LISTENER not specified."

LSNR_PID=`ps -ef | grep tnslsnr | grep -v grep | awk -F" " '{print $2}'`

else

ORACLE_SID=$1

LISTENER=$2

echo "ora_dbshut_ab.sh: ORACLE_SID=$ORACLE_SID, LISTENER=$LISTENER."

LSNR_PID=`ps -ef | grep tnslsnr | grep $LISTENER | grep -v grep | awk -F" " '{print $2}'`

fi

# Kill Oracle Listener

if [ EMPTY"$LSNR_PID" = EMPTY ]

then

echo "Not found listener process <tnslsnr>!"

else

echo "Kill oracle listener process <"$LSNR_PID">."

kill -9 $LSNR_PID

fi

# Stop Oracle Instance

# You MUST choose a Oracle stop mode to meet your requirement.

# The nether lines for Oracle Version 9 or Later

sqlplus "/ as sysdba "<<!

shutdown abort

exit

!

# The nether lines for Oracle Version 8 or older

# svrmgrl <<!

# connect internal

# shutdown abort

# exit

# !

卸载 Rose HA 

# mount /dev/cdrom /mnt /cdrom
# cd /mnt/ cdrom/Shell
#./uninstall.sh

常见问题及注意事项

•  开机方法:
开机的时候我们必须注意到,必须先开磁盘阵列,等 磁盘阵列状态READY 后,再开主机,主机完全开启后,再把备机开启。

•  关机方法:
关机的方法则是开机的反顺序,先关备机,备机关完以后,再关主机,最后关磁盘阵列。

•  Q :两台服务器上的双机软件启动后,而双机两边的资源都处于虚状态怎么办?
A : 在工作机上将资源一一点中,使资源处于高亮状态,点击工具栏上的 bring in 按钮。

•  Q :安装 ROSE HA 软件时, Windows NT 对 Service Pack 版本的 要求?
A : 用 Service Pack4 , Service Pack5 或以上。

•  Q :当工具栏的“ takeover”, “ failover”, “bring in”, “bring out” 等快捷按 钮均为不可用。主备机的状态保持不变,提示“ the public net is functioning, but all instances of private net are down or unavailable.”
A : 如果在“ private net ”界面下心跳线变为红色,检查心跳是否连接正常。

•  Q :没有选择 Auto-Switch Back 开关时,关机后先启 关机前为备机状态的 Host ,后启 关机前为主机状态的 Host 。会出现什么情况?
A : 先启的 Host 成为主机,后启的 Host 成为备机。

•  Q :两台 Host 均是在本地机上启动 ROSE HA 双机,启动双机时无法启动,并出现报错“ Fail to get remote Server's IP address from the registry ”。以上情况如何处理?
A : 以上情况是由于两台服务器上的 Administrator 的密码不相同而造成的, 将两台服务器的 Administrator 密码改为一样,重新登录即可。

•  Q :双机手工切换时无法切换,软件报错信息如下:
999. [System Error] 拒绝访问 (0x5)
423. Lock Volume < E: >: Fail ”(注: E: 为公共磁盘卷)
该现象是什么原因造成的?(设数据库文件安装在公共磁盘 E 盘上)
A : 以上现象发生后,检查是否打开了察看 E 盘的窗口,或者正在使用磁 盘管理器。关掉窗口或磁盘管理器后即可正常切换。

•  Q : 安装完毕后,进入控制界面,点击开始,显示 “Cluster doesn't start” , 服务无法启动,以上情况如何解决。
A : 进入“服务”,启动 cluster service ,得到提示登录时错误,然后双击该服务,点击“确定”,即可。

•  其它重要的注意事项:
1.在安装双机软件以后,数据库的服务的启 / 停都应该通过双机软件的 Bring In (启动服务)和 Bring Out (停止服务)功能来实现,不要使用数据库自带的工具软件来进行
2 .心跳线的(私用网) IP 地址和公用网 IP 最好设置在不同的网段。

责编:
vsharing微信扫一扫实时了解行业动态
portalart微信扫一扫分享本文给好友

著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
流动存储 为大数据而生

伴随信息技术的突飞猛进,更大量级的非结构化数据与结构化数据构成的大数据成为企业级存储所面临的最大挑战:一方..

磁盘阵列及虚拟化存储

利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。虚拟化存储,对存储硬件资源进行抽象化表现。

    畅享
    首页
    返回
    顶部
    ×
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918