分类:
2012-12-25 11:52:31
的工作环境中,99%的可用性指在一年中可以有87小时36分钟的DOWN机时间,通常在关键中这种一天多的故障时间是无法接受的,所以提出了前面提到的错误恢复概念,以满足99.999%的高可用性需求。
DEVICE=bond0
BOOTPROTO=static
BROADCAST=192.168.100.255
IPADDR=192.168.100.21
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
ONBOOT=yes
编辑 /etc/modules.conf 文件,加入如下一行内容以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0加入下列两行
# vi /etc/modules.conf
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0
说 明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,共有0、1、 2、3四种模式,常用的为0,1两种:mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,默认情况下只有一块网卡工作,另一块做备份,primary指定启动后 active的网卡。
由环境描述可知192.168.100.0网段是跑业务的,所以我们需要指定默认路由
# more /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=am1
GATEWAY=192.168.100.2
# /etc/init.d/network restart
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0Slave Interface: eth0
MII Status: up
Link Failure Count: 1
Permanent HW addr: xx:xx:xx:xx:xx:xxSlave Interface: eth1
MII Status: up
Link Failure Count: 1
Permanent HW addr: xx:xx:xx:xx:xx:xx
# /etc/init.d/rgmanager stop
#/etc/init.d/fenced stop
#/etc/init.d/cman stop
#/etc/init.d/ccsd stop
修改/usr/share/system-config-cluster/FaildomController.py文件,第213行少一个“=”,该问题为cluser自身bug。
#more /root/cluster.sh#!/bin/shstart() {
/etc/init.d/ccsd start
/etc/init.d/cman start
/etc/init.d/fenced start
/etc/init.d/rgmanager start
}stop() {
/etc/init.d/rgmanager stop
/etc/init.d/fenced stop
/etc/init.d/cman stop
/etc/init.d/ccsd stop
}status() {
/etc/init.d/rgmanager status
/etc/init.d/fenced status
/etc/init.d/cman status
/etc/init.d/ccsd status
}case "$1" in
start)
start $1
;;
stop)
stop $1
exit 0
;;
restart|reload)
stop $1
start $1
RETVAL=$?
;;
status)
status
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
exit 1
esac修改权限#chmod 700 /root/cluster.sh
1.在Xwindow下运行
# system-config-cluser
打开图形化配置工具:
2.选择Create New Configuration按钮 ,然后输入文件名点和多播地址,然后点击“确定”。再选择左边的Cluster,并选择右下"Edit Cluster Properties" 调出"cluster Properies" 配置Cluster的名称和相关属性。"PostJoinDelay" 栅进程接收新节点的加入请求后等待节点确认加入的延迟秒数,默认值为3,典型的设置为20至30,这个根据你的网路和集群的实际情况而 定。"PostFailDelay" 栅进程发现节点失效后将节点踢出错误恢复域的等待延迟时间,默认值为0代表立即踢出不延时,这个值要按你集群网络的实际情况而定。
3.选中Cluster Nodes,这里就是加入成员节点的,点击Add a Cluster Node,输入amcluster1点OK,如下图,Node Name需要和/etc/hosts文件中配置的机器名相同同理加入amcluster2。4. 选中Fence Devices,点击Add a Fence Device,如下图,Fence设备需要根据实际情况进行选择配置,这次安装中IBM刀片服务器使用IBM Blade Center管理,修改后的IP是192.168.110.47,用户名是USERID,密码是PASSW0RD, 点OK。
6.创建失效域,添加对应节点,如图,选中Failover Domains,点击右下角的Create a Failover Domain。在弹出的对话框中输入失效域的名称,这里我们输入AMHA保存后。7.将失效域成员节点添加进去右 边的两个打勾选向分别是 "RestrictFailover Domains members" 以及 "Priotitzed List"。如果妳只有两台, 打勾第一项“Restrict Failover Domains members” 就可以了,这项是只允许这两台做轮替。另外一项"Priotitzed List"则是在你有两台以上的服务器,需要分别设定轮替的优先级时需要的。当你打钩"Priotitzed List"后可以使用"Adjust Priority" 调整多节点的替换优先级8.创建资源组选中Resources,点击右下角的Create a Resources,这里选择Create a Resource,然后选择IP Address,填写Float IP进去。然后将tomcat的启动脚本添加进去,如下图所示:9.创建服务选中Service,点击右下角的Create a Service,在弹出的对话框中创建Service,如下图点击OK后,做如下配置注意:1.红色圈出的下拉框要选择我们刚才创建的失效域名称AMHA2.蓝色圈出的部分,若选择Restart,则服务发生异常时,cluster尝试把该服务重启;若选择Relocate,则服务发生异常时,cluster直接尝试切换服务至另一个节点上。配置完这两步,点击左下角的 弹出如下对话框依次增加要切换的服务即可。在这里需要提醒各位最好将服务脚本放置在IP下面,只有网卡起来了才能服务,逻辑上才正确。操 作流程:选择Create a new resource for this service 然后选择IP Address,这样地址资源就加载好了,选中刚建立的地址,再在下面选择Attach a new Private Resource to the Selection,这里选择Script并添加我们需要服务的脚本。10.保存配置并同步到备机最终的cluster.conf文件内容应该如下结构:
可以通过# scp /etc/cluster/cluster.conf root@amcluster2:/etc/cluster
也可以通过systemconfigcluster图形集群配置工具中可以简单的点一下”Send to”按钮来传。也可以通过RHCS提供的工具:1.# ccs_tool update /etc/cluster/cluster.conf,告知ccs升级配置文件版本。2.# cman_tool status | grep “Config version”,首先查出你cluster.conf文件的版本。观察返回的东东是否和你的新版本一样,否的话就需要通过下面的命令来更新。# cman_tool version-r new_version_number3.验证一下是否是最新就OK了。以上操作时RHEL4中的,在RHEL5中用户只需要使用ccs_tool update /etc/cluster/cluster.conf就可以了。