SUSE Linux HA双机搭建
一、准备工作
1 服务器网络规划
l 主机至少有两个网卡可用;(一个网卡用作心跳网卡);
l 将两主机用网线直接连接(注意主备机服务器的位置需要靠近才可以),另一块网卡连接交换机;
l 3个ip地址,2个主机地址1个浮动IP,均在一个网段内
2 安装操作系统,准备好root账户密码
l 将服务器安装好操作系统,最好是全新安装的系统,需要具备图形化界面
l 准备好root账户密码
3 连接存储
l 将两台主机与存储连接,并保证两台主机能正确识别到存储上的硬盘。
l 保证应用相关的需要切换的资源目录均在存储上
4 准备HA软件光盘
购买suselinux enterprise high availability软件的授权并获得sleha软件,以及系统安装盘
5其他双机配置信息准备
服务器型号:
服务器配置:
操作系统及版本:
存储型号:
服务器应用:
安装服务器的语言:
对操作系统的分区要求:
浮动IP地址:
主备机信息表:
主机1:
主机名
心跳IP
192.168.200.10
服务器IP
业务类型
共享磁盘
挂载点
服务启动及停止方法
主机2:
主机名
心跳IP
192.168.200.20
服务器IP
业务类型
共享磁盘
挂载点
服务启动及停止方法
二、操作前核实内容
1、停止应用
2、检查文档是否具备:
1)双机配置操作文档
2)双机准备工作文档
3)主备机ILO信息
3、心跳线连接
1)连接心跳线,并记录是网卡位置
4、主备机连接存储,核实一下
合适存储端的WWN号码与主机操作系统上查到的是否一致:
callcenter-1:~ #cd /sys/class/fc_host/
callcenter-1:/sys/class/fc_host # pwd
/sys/class/fc_host
callcenter-1:/sys/class/fc_host # ls
host3 host4
callcenter-1:/sys/class/fc_host # more host3/port_name
0x500143800631c422
callcenter-1:/sys/class/fc_host # more host4/port_name
0x500143800631ca1a
三、操作系统层面
1.hosts文件,同步
包括主备机配置IP地址等,统一host文件
/etc/HOSTNAME文件也要和当前hostname一致。
注意,要先连接心跳线,先配置心跳IP,在进行hosts文件同步和配置。
2.修改oracle用户相关信息,用户ID和组ID
节点1:
callcenter-1:~ # id oracle
uid=502(oracle) gid=511(oinstall) groups=512(dba),514(asmdba),516(oper),511(oinstall)
节点2:
srv-callcenter-2:~ # id oracle
uid=105(oracle) gid=108(oinstall) groups=109(dba),108(oinstall)
修改信息:
srv-callcenter-2:~ # groupmod -g 511 oinstall
srv-callcenter-2:~ # groupmod -g 512 dba
srv-callcenter-2:~ # groupadd -g 514 asmdba
srv-callcenter-2:~ # groupadd -g 516 oper
srv-callcenter-2:~ # usermod -u 502 -g oinstall -G dba,asmdba,oper oracle
srv-callcenter-2:~ # id oracle
uid=502(oracle) gid=511(oinstall) groups=512(dba),514(asmdba),516(oper),511(oinstall)
srv-callcenter-2:~ #
3.拷贝主机上所有跟oracle有关的文件和目录到备机相同位置上
举例如下:
/etc/profile.d/oracle.sh,
/opt/oracle目录及文件,
$ORACLE_BASE/admin的sid文件夹,
$ORACLE_HOME/dbs/spfile[sid].ora
4.执行两个脚本
/oracle/product/10.2/db_1/root.sh
/opt/oracle/oraInventory/orainstRoot.sh
5、监听和tns配置
监听中直接用浮动IP;
TNS需要做配置。
6、修改文件分区表
原来是单机的生产系统,oracle所在分区如果是自动挂载的,现在需要注释掉。
7、开机启动项里排除oracle相关内容:
chkconfig --l | grep ora
oracle 0:off 1:off 2:off 3:off 4:off 5:off 6:off
oracle_script.sh 0:off 1:off 2:off 3:off 4:off 5:off 6:off
8、多路径开机启动和lvm过滤
1 ) 确保多路径服务为开机启动
2 ) lvm过滤
/etc/lvm/lvm.conf
filter = [ "a|/dev/cciss/.*|", "a|/dev/disk/by-id/dm-uuid-.*mpath-.*|", "r|.*|" ]
9、跟SP2版本升级有关的注意事项
lvm.conf 有可能会改变,解决办法,在进行升级之前,先停止应用,关机,拔掉光纤线,然后在开机进行升级。
重要的生产系统使用光盘方式进行系统升级,不要使用zypper。
四、双机层面
1、安装HA软件
2、配置心跳
yast2 cluster
配置心跳IP、组播地址等
3、配置HA组件
可以从已经配置好的双机系统中,利用crm configure进入命令行,利用 edit看到配置信息,然后直接拷贝内容即可。
目前已经有截图配置文档,但是博客里更新那么多图片太麻烦了,命令行配置的详细配置步骤,等我做完测试再上传上来。
4、切换测试
详细配置步骤,等我做完测试再上传上来。
5、常见问题和故障解决办法
详细配置步骤,等我做完测试再上传上来。
suse双机系统中oracle监听死活起不来,解决办法
背景如下:
原有操作系统为SUSE LINUX 11 SP1版本,双机系统正常运行,oracle监听可以正常启停;
升级操作系统到11SP2版本,HA组件升级到SP2对应版本,oracle监听死活起不来,文件系统也有部分异常。
解决办法如下:
具体情况如下:
1、监听和oracle服务启动时间太长,做了延长。
primitive oralsnr ocf:heartbeat:oralsnr /
params sid="ebai" /
operations $id="oralsnr-operations" /
op monitor interval="20" timeout="120" /
op start interval="0" timeout="180"
2、hosts文件
/etc/hosts
/etc/HOSTNAME
suse下修改主机名的方法:/etc/HOSTNAME,重启服务器生效
redhat下修改主机名的方法:/etc/sysconfig/network, 重启服务service network restart立即生效
3、开机启动项里:
chkconfig --l | grep ora
oracle 0:off 1:off 2:off 3:off 4:off 5:off 6:off
oracle_script.sh 0:off 1:off 2:off 3:off 4:off 5:off 6:off
4、多路径开机启动和lvm过滤
4.1确保多路径服务为开机启动
4.2 lvm过滤
/etc/lvm/vi lvm.conf
filter = [ "a|/dev/cciss/.*|", "a|/dev/disk/by-id/dm-uuid-.*mpath-.*|", "r|.*|" ]
5、跟SP2版本升级有关的注意事项
lvm.conf 有可能会改变,解决办法,在进行升级之前,先停止应用,关机,拔掉光纤线,然后在开机进行升级。
重要的生产系统使用光盘方式进行系统升级,不要使用zypper。