创建其他卷组结构
重复上述步骤,创建其他卷组结构
所有卷组创建完成后
编辑/etc/lvmrc文件,保证在系统启动时不自动激活与CLUSTER有关的卷组(将AUTO_VG_ACTIVATE置为0,并确认root卷组包含在custom_vg_activation函数内)。这些卷组将在应用包的control.sh文本中激活。
最后步骤
配置MC/ServiceGuard双机前的最后步骤
在配置节点(节点1)上激活所有卷组
# vgchange -a y /dev/卷组名
七、 配置CLUSTER
(可以使用SAM或命令方式完成)
生成CLUSTER配置文件模板[可以用现成的改]
# cmquerycl -v -C /etc/cmcluster/cmclconf.ascii -n node1 \
-n node2
编辑CLUSTER配置文件模板
CLUSTER_NAME cluster1 #CLUSTER的名字
FIRST_CLUSTER_LOCK_VG /dev/vg01 #LOCK卷组,集群解体,各节点谁先抢到Lock VG就有谁重组集群。
NODE_NAME node1 #节点名字
NETWORK_INTERFACE lan1
HEARTBEAT_IP 15.13.171.32 #lan1是HEARTBEAT网络
NETWORK_INTERFACE lan2 #lan2是备份网络
NETWORK_INTERFACE lan0 #[此网卡不配也可]
STATIONARY_IP 192.6.143.10 #lan0的静态IP地址
FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0 #LOCK盘的物理卷名字
# SERIAL_DEVICE_FILE /dev/tty0p0 #RS232串行HEARTBEAT线路
NODE_NAME node2
NETWORK_INTERFACE lan1
HEARTBEAT_IP 15.13.171.30 //心跳
NETWORK_INTERFACE lan2 //备份
NETWORK_INTERFACE lan0 //数据
STATIONARY_IP 192.6.143.20
FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0
# SERIAL_DEVICE_FILE /dev/tty0p0
HEARTBEAT_INTERVAL 1000000
NODE_TIMEOUT 2000000
AUTO_START_TIMEOUT 600000000
NETWORK_POLLING_INTERVAL 2000000
VOLUME_GROUP /dev/vg01
VOLUME_GROUP /dev/vg02 #注:所有CLUSTER相关的卷组都要在此写出
检查CLUSTER配置的正确性
(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
# cmcheckconf -v -C /etc/cmcluster/cmclconf.ascii
设置自动启动参数
编辑文件/etc/rc.config.d/cmcluster,将参数AUTOSTART_CMCLD设为1,则在系统自举时自动启动CLUSTER。
八、 配置Package和Services
(可以使用SAM或命令方式完成)
创建子目录
在/etc/cmcluster中为每个Package创建子目录
# mkdir /etc/cmcluster/pkg1
# mkdir /etc/cmcluster/pkg2
建立配置文件模板
为每个Package建立一个配置文件模板
# cmmakepkg -p /etc/cmcluster/pkg1/pkg1conf.ascii
# cmmakepkg -p /etc/cmcluster/pkg2/pkg2conf.ascii
编辑配置文件模板
编辑Package配置文件,根据实际需要修改相关项:
PACKAGE_NAME pkg1
NODE_NAME node1 主节点
NODE_NAME node2 备份节点
RUN_SCRIPT /etc/cmcluster/pkg1/control.sh Package启动脚本
RUN_SCRIPT_TIMEOUT NO_TIMEOUT
HALT_SCRIPT /etc/cmcluster/pkg1/control.sh Package停止脚本
HALT_SCRIPT_TIMEOUT NO_TIMEOUT
SERVICE_NAME service1 对每个service重复此3行定义
SERVICE_CMD[]
SERVICE_FAIL_FAST_ENABLED NO Service是标识应用avalible与否的。
SERVICE_HALT_TIMEOUT 300
SUBNET 15.16.168.0 Package对应的子网(可以多个)。虚拟IP的子网。各个不同的Package间子网可以相同。此子网和真实的子网必须一致。虚拟IP在 control.sh中指定。
PKG_SWITCHING_ENABLED YES
NET_SWITCHING_ENABLED YES
NODE_FAIL_FAST_ENABLED NO
建立控制脚本的模板
建立Package控制脚本的模板
# cmmakepkg -s /etc/cmcluster/pkg1/control.sh
控制脚本模式设置
将Package控制脚本设为可执行模式
# chmod +x /etc/cmcluster/pkg1/control.sh
编辑控制脚本
编辑修改Package控制脚本时注意进行以下工作:
在PATH中增加启动service所需要的路径
增加需要激活的卷组名字
增加需要mount的文件系统和逻辑卷的名字
定义IP地址和子网
增加service名字
增加service命令
注意函数start_services和halt_services中启动和停止service使用的脚本参数,保证service启动和停止命令的正确性
检查并分发配置文件
将Package控制脚本复制到其他节点
# rcp /etc/cmcluster/pkg1/control.sh \
node2:/etc/cmcluster/pkg1/control.sh
检查CLUSTER配置(强烈建议:任何时候对双机配置文件做过改动,重新启动双机之前必须进行配置的检查)
# cmcheckconf -C /etc/cmcluster/cmclconf.ascii \
-P /etc/cmcluster/pkg1/pkg1conf.ascii \
-P /etc/cmcluster/pkg2/pkg2conf.ascii
停止Cluster
生成并分发二进制CLUSTER配置文件
# cmapplyconf -v -C /etc/cmcluster/cmclconf.ascii \
-P /etc/cmcluster/pkg1/pkg1conf.ascii \
-P /etc/cmcluster/pkg2/pkg2conf.ascii
启动Cluster
九、 管理Cluster和Package
管理Cluster和节点
启动Cluster
# cmruncl -v
# cmruncl -v -n node1 -n node2
在已运行的Cluster中增加一个节点运行
# cmrunnode -v node2
在已运行的Cluster中停止一个节点运行
# cmhaltnode -f -v node2
停止整个Cluster
# cmhaltcl -f -v
对Cluster进行重新配置
停止整个Cluster
如果要改变CLUSTER LOCK VG,则
# vgchange -c n vg01
# vgchange -a y vg01
重新进行配置工作
cmapplyconf
cmruncl
管理Package和Service
启动Package
# cmrunpkg -n node1 pkg1
# cmmodpkg -e node1 pkg1 //把切换属性置为yes.故障发生后可以自动切换。很重要!!
停止Package,不切换
# cmhaltpkg pkg1
移动Package
# cmhaltpkg pkg1 -n node1
# cmrunpkg -n node2 pkg1
# cmmodpkg -e pkg1 //让package可以切换
对Package进行重新配置
停止整个Cluster
修改配置文件
修改control.sh文件(注意保证所有节点一致)
cmapplyconf
cmruncl
查看运行情况
# cmviewcl -v
十、 测试Cluster配置
测试Package Manager
1) 得到service的pid(使用ps -ef命令)
2) 杀死service进程(使用kill命令)
3) 使用cmviewcl -v命令查看状态
4) 将Package移动回原节点
5) 对数据库系统的测试可以根据具体情况进行
测试Cluster Manager
1) 关闭一个节点的电源
2) 使用cmviewcl -v命令查看状态
3) 打开节点的电源
4) 使用cmviewcl -v命令查看状态
5) 将Package移动回原节点
6) 对数据库系统的测试可以根据具体情况进行
测试Network Manager
1) 使用lanscan命令得到主/备网络信息
2) 使用cmviewcl -v命令查看状态
3) 从主网卡上拔掉网线
4) 使用cmviewcl -v命令查看状态(应完成本地网络切换)
5) 重新连接网线
6) 使用cmviewcl -v命令查看状态
激活VG的方式
1) 独占方式
#vgchange –a e /dev/vgxx //以独占方式激活
2) 普通方式
#vgchange –c n /dev/vgxx
#vgchange –a y /dev/vgxx
十一、 故障诊断方法
1、 检查Cluster和Package状态
使用cmviewcl -v命令
2、 检查RS232状态
使用cmviewcl -v命令
3、检查Package IP地址
使用netstat -in命令
4、查看LOG文件
/var/adm/syslog/syslog.log
/etc/cmcluster/pkg1/control.sh.log
5、查看Cluster和Package配置文件
6、查看Package控制脚本文件(control.sh)
7、使用cmquerycl和cmcheckconf命令检查配置的合法性
