rhcs.docx
- 文档编号:12120218
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:30
- 大小:1.77MB
rhcs.docx
《rhcs.docx》由会员分享,可在线阅读,更多相关《rhcs.docx(30页珍藏版)》请在冰豆网上搜索。
rhcs
Rhcs安装
简介:
RHCS(RedHat Cluter Suite, RHCS)是一套综合的软件组件,可以通过在部署时采用不同的配置,以满足对高可用性,负载均衡,可扩展性,文件共享和节约成本的需要。
(redhat最多支持16个节点)
1.软件安装:
yuminstallcmanrgmanagersystem-config-clusterluciricciipmitool–y
2.ilo设置:
(此为两台HpDL580G7设备)
1>.开机按F8进入界面,先将dhcp关闭
2>.设置ilo
分别将两台机器重启按F8进入,把ip和netmask、gateway,然后保存退出。
将两台ilo用网线连接到交换机。
3.IP信息
[root@Nms~]#cat/etc/hosts
#Donotremovethefollowingline,orvariousprograms
#thatrequirenetworkfunctionalitywillfail.
127.0.0.1localhost.localdomainlocalhost
:
:
1localhost6.localdomain6localhost6
10.10.13.27Nms《节点1》
10.10.13.26Web《节点2》
10.10.13.31oraserver《vip》
10.10.13.23Web-1《节点2上的ilo》
10.10.13.24Nms-1《节点1上的ilo》
两台机/etc/hosts配置同步
4.存储信息
磁阵DS4300划分两个lvm分别为:
/dev/mapper/ORA_VG-ORAARCH挂载点/oraarch
/dev/mapper/ORA_VG-ORADATA挂载点/oradata
两个节点都需创建挂载点/oraarch/oradata
5.RHCS配置
只需在一台节点上配置,将配置文件复制到另外一节点即可。
例如我在26上配置:
输入命令:
system-config-cluster即可调出配置界面
1>.第一次运行时会提示建立一个新的配置文件。
2>.给双机起名字:
这里我命名为ora-ha。
注意一个局域网内不能有两个重名的Cluster。
3>.建立两个节点:
选定左端的ClusterNodes,按AddaClusterNode来添加cluster节点Web和Nms。
注意这里添加的节点名需要能被正确解析,在/etc/hosts文件中添加相关记录,解析的IP地址为心跳IP。
4>.添加fence设备
先建立好FenceDevice,然后再编辑节点的失效设备配置.在配置主界面选择FenceDevice再点击右下角的“AddaFenceDevice”,如下图所示选择IPMIfence。
添加两个fence
Name:
Web-1和/etc/hosts匹配。
IPAddress:
为开机按F8设置的iloip。
Login:
ilo的登录名,默认为Administration
Password:
为ilo密码,在机器前方卡片显示
AuthType:
PASSW0RD(中间是数字零)
5>.建立fence设备和节点的对应关系
使每个节点可以通过fence设备对节点的开关机、重启进行管理或对节点的状态进行查询。
6>.创建一个失效域:
1).只有两个节点
选择RestrictFailoverToThisDomainsMembers,表示只允许在这两个节点进行服务轮换。
2).若两台以上节点
选择PrioritizedList用于设定轮换的优先级。
7>.创建资源
1).先选择IPAddress创建的浮动ip10.10.13.31
Monitorlink链路控制器须选上。
2).再选择FileSystem创建文件系统资源
Name:
oraarch共享文件资源的名字
FileSystemType:
ext3我这里的文件是ext3格式
Mountpoint:
/oraarch文件挂载到26节点的路径
Device:
/dev/mapper/ORA_VG-ORADATA磁阵上面须挂载的lvm路径名称
Options:
执行mount指令时的特殊参数,与mount指令的"-o"参数相同
Forceunmount:
一旦服务要求切换,在进行umount操作时使用-f参数
Reboothostnodeifunmountfails:
若umount失败,则尝试对此系统进行重启操作。
Checkfilesystembeforemounting:
挂载文件系统前通过fsck命令对文件系统进行检查,这可以更好地保证文件系统的完整性,但对于大文件系统来说,这将花费很长的时间。
3).创建数据库启动脚本的名臣以及脚本存放的路径
8>.创建集群服务
点击FailoverDomain:
将创建的失效域oraserver添加进来。
点击AddashareResourcetothisiservice将刚才在《source》里创建的vip、system、script添加进来。
RecoverPolicy表示当发现节点失效时,系统如何操作:
Restart:
表示重启资源《Resource》。
Relocate:
表示切换资源到另外一个节点。
Disable:
表示需要手工切换节点,没有实际意义。
根据实际情况选择。
保存退出。
然后将两个节点/etc/cluster/cluster.conf同步
6.创建脚本
在两个节点/etc/init.d/ora_script创建oracle启动脚本并给予权限。
具体脚本如下:
[root@Web~]#cat/etc/init.d/ora_script
#!
/bin/bash
#
#/etc/init.d/dbora
#
#chkconfig:
23450298
#description:
oracleismeanttorununderLinuxOracleServer
#Sourcefunctionlibrary.
./etc/rc.d/init.d/functions
ORACLE_HOME=/home/oracle/product/10.2
ORACLE_SID=ora10ha
ORACLE_NAME=oracle
LOCKFILE="$ORACLE_HOME/.oracle.lock"
RESTART_RETRIES=3
DB_PROCNAMES="pmon"
LSNR_PROCNAME="tnslsnr"
#RETVAL=0
#StarttheoracleServer
#Thefollowingcommandassumesthattheoracleloginwillnotpromptthepassword
start(){
echo"StartingOracle10gServer..."
tmpfile=/home/oracle/`basename$0`-start.$$
logfile=/home/oracle/`basename$0`-start.log
#
#Setupoursqlplusscript.Basically,we'retryingto
#captureoutputinthehopesthatit'susefulinthecase
#thatsomethingdoesn'tworkproperly.
#
echo"startup">$tmpfile
echo"quit">>$tmpfile
su-$ORACLE_NAME-c"sqlplus\"/assysdba\"<$tmpfile&>$logfile"
if[$?
-ne0];then
echo"ORACLE_HOMEIncorrectlyset?
"
echo"See$logfileformoreinformation."
return1
fi
#
#Ifwesee:
#ORA-.....:
failure,wefailed
#
rm-f$tmpfile
grep-q"failure"$logfile
if[$?
-eq0];then
rm-f$tmpfile
echo"ORACLE_SIDIncorrectlyset?
"
echo"See$logfileformoreinformation."
return1
fi
echo"Startinglistern..."
((su-$ORACLE_NAME-c"$ORACLE_HOME/bin/lsnrctlstart")>>$logfile
2>&1)||return1
#return$?
if[-n"$LOCKFILE"];then
touch$LOCKFILE
fi
#/usr/local/tomcat/bin/catalina.shstart
return0
}
stop(){
echo"ShuttingdownOracle10gServer..."
declaretmpfile
declarelogfile
tmpfile=/home/oracle/`basename$0`-stop.$$
logfile=/home/oracle/`basename$0`-stop.log
if[-z"$LOCKFILE"]||[-f$LOCKFILE];then
echo"oracleisrunning"
else
echo"oracleisnotrun"
return0
fi
#SetupforStop...
echo"shutdownabort">$tmpfile
echo"quit">>$tmpfile
su-$ORACLE_NAME-c"sqlplus\"/assysdba\"<$tmpfile&>$logfile"
if[$?
-ne0];then
echo"ORACLE_HOMEIncorrectlyset?
"
echo"See$logfileformoreinformation."
return1
fi
#
#Ifwesee'failure'inthelog,we'redone.
#
rm-f$tmpfile
grep-qfailure$logfile
if[$?
-eq0];then
echo
echo"Possiblereason:
ORACLE_SIDIncorrectlyset."
echo"See$logfileformoreinformation."
return1
fi
status$LSNR_PROCNAME
if[$?
-ne0];then
if[-n"$LOCKFILE"];then
rm-f$LOCKFILE
fi
return0#Listenerisnotrunning
fi
((su-$ORACLE_NAME-c"$ORACLE_HOME/bin/lsnrctlstop")>>$logfile
2>&1)||return1
if[-n"$LOCKFILE"];then
rm-f$LOCKFILE
fi
return0
}
get_lsnr_status()
{
declare-isubsys_lock=$1
status$LSNR_PROCNAME
if[$?
==0];then
return0#Listenerisrunningfine
elif[$subsys_lock-ne0];then
return3
elif[$?
-ne0];then
return1
fi
}
get_db_status()
{
declare-isubsys_lock=$1
declare-ii=0
declare-irv=0
declareora_procname
forprocnamein$DB_PROCNAMES;do
ora_procname="ora_${procname}_${ORACLE_SID}"
status$ora_procname
if[$?
-eq0];then
#Thisone'sokay;gotothenextone.
continue
elif[$subsys_lock-ne0];then
return3
elif[$?
-ne0];then
return1
fi
done
}
update_status()
{
declare-iold_status=$1
declare-inew_status=$2
if[-z"$2"];then
return$old_status
fi
if[$old_status-ne$new_status];then
return1
fi
return$old_status
}
status_ias()
{
declare-isubsys_lock=1
declare-ilast
#
#Checkforlockfile.Crudeandrudimentary,butitworks
#
if[-z"$LOCKFILE"]||[-f$LOCKFILE];then
subsys_lock=0
fi
#Checkdatabasestatus
get_db_status$subsys_lock
update_status$?
#Start
last=$?
#Check&reportlistenerstatus
get_lsnr_status$subsys_lock
update_status$?
$last
last=$?
#Check&reportopmn/opmn-managedprocessstatus
#get_opmn_status$subsys_lock
#update_status$?
$last
#last=$?
#
#Nolockfile,buteverything'srunning.Putthelock
#fileback.XXX-thiskosher?
#
if[$last-eq0]&&[$subsys_lock-ne0];then
touch$LOCKFILE
fi
return$last
}
restart(){
echo-n"RestartOracle10gServer"
stop
start
echo
}
case"$1"in
start)
start
exit$?
;;
stop)
stop
exit$?
;;
status)
status_ias
exit$?
;;
restart|reload)
stop
start
;;
*)
echo"Usage:
$0{start|stop|reload|restart|status}"
exit1
;;
esac
exit0
7.最终配置文件:
#cat/etc/cluster/cluster.conf
xmlversion="1.0"?
>
《如果直接在配置文件里修改将版本config_version+1》
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- rhcs