快捷搜索:   nginx

RedHat上l的 heartbeat 双机热备服务架设

两台主机硬件环境(不必完全一致):联盟
CPU: Xeon 3G *2 (EM64T)HefLinux联盟
MEM: 2GHefLinux联盟
NIC: Intel 1G *2HefLinux联盟
eth0: 对外IPHefLinux联盟
eth1: 对内IP(HA专用)

两台主机的eht1双机对联线直接连接。分区方式:HefLinux联盟
Filesystem   容量 挂载点HefLinux联盟
/dev/sda2    9.7G /HefLinux联盟
/dev/sda6     45G /DatasHefLinux联盟
/dev/sda1     99M /bootHefLinux联盟
none2.0G /dev/shmHefLinux联盟
/dev/sda3    9.7G /opt另外每台主机应预留500M的raw空间或者更多来作为共用空间被HA使用。操作系统:HefLinux联盟
RedHat Enterprise 4 Update2 (2.6.9-22 EL)HefLinux联盟
预安装软件:HefLinux联盟
@ X Window SystemHefLinux联盟
@ GNOME Desktop EnvironmentHefLinux联盟
@ KDE Desktop EnvironmentHefLinux联盟
@ EditorsHefLinux联盟
@ Engineering and ScientificHefLinux联盟
@ Graphical InternetHefLinux联盟
@ Text-based InternetHefLinux联盟
@ Authoring and PublishingHefLinux联盟
@ Server Configuration ToolsHefLinux联盟
@ Development ToolsHefLinux联盟
@ Kernel DevelopmentHefLinux联盟
@ X Software DevelopmentHefLinux联盟
@ GNOME Software DevelopmentHefLinux联盟
@ KDE Software DevelopmentHefLinux联盟
@ Administration ToolsHefLinux联盟
@ System ToolsHefLinux联盟
【二】安装前网络环境设定:HefLinux联盟
========================================================HefLinux联盟
node1: 主机名:servers201 ( HA01 )HefLinux联盟
eth0: 192.168.10.201       //对外IP地址HefLinux联盟
eth1: 10.0.0.201           //HA心跳使用地址node2: 主机名:servers202 ( HA02 )HefLinux联盟
eth0: 192.168.10.202       //对外IP地址HefLinux联盟
eth1: 10.0.0.202           //HA心跳使用地址特别注意要检查以下几个文件:HefLinux联盟
/etc/hostsHefLinux联盟
/etc/host.confHefLinux联盟
/etc/resolv.confHefLinux联盟
/etc/sysconfig/networkHefLinux联盟
/etc/sysconfig/network-scripts/ifcfg-eth0HefLinux联盟
/etc/sysconfig/network-scripts/ifcfg-eth1HefLinux联盟
/etc/nsswitch.conf#vi /etc/hostsHefLinux联盟
node1的hosts内容如下:HefLinux联盟
127.0.0.1        localhost.localdomain   localhostHefLinux联盟
192.168.10.201   servers201              HA01HefLinux联盟
10.0.0.201       HA01HefLinux联盟
10.0.0.202       HA02HefLinux联盟
192.168.10.202   server202node2的hosts内容如下:HefLinux联盟
127.0.0.1       localhost.localdomain   localhostHefLinux联盟
192.168.10.202 servers202              HA02HefLinux联盟
10.0.0.202      HA02HefLinux联盟
10.0.0.201      HA01HefLinux联盟
192.168.10.201 server201#cat /etc/host.confHefLinux联盟
order hosts,bind#cat /etc/resolv.confHefLinux联盟
nameserver 61.139.2.69    //DNS地址#cat /etc/sysconfig/networkHefLinux联盟
NETWORKING=yesHefLinux联盟
HOSTNAME=servers201           //主机名HefLinux联盟
GATEWAY="192.168.10.1"    //网关HefLinux联盟
GATEWAY="eth0"           //网关使用网卡HefLinux联盟
ONBOOT=YES               //启动时加载HefLinux联盟
FORWARD_IPV4="yes"       //只允许IPV4#cat /etc/sysconfig/network-scripts/ifcfg-eth0HefLinux联盟
DEVICE=eth0HefLinux联盟
ONBOOT=yesHefLinux联盟
BOOTPROTO=staticHefLinux联盟
IPADDR=192.168.10.201HefLinux联盟
NETMASK=255.255.255.0HefLinux联盟
GATEWAY=192.168.10.1HefLinux联盟
TYPE=EthernetHefLinux联盟
IPV6INIT=no#cat /etc/sysconfig/network-scripts/ifcfg-eth1HefLinux联盟
DEVICE=eth1HefLinux联盟
ONBOOT=yesHefLinux联盟
BOOTPROTO=noneHefLinux联盟
IPADDR=10.0.0.201HefLinux联盟
NETMASK=255.255.255.0HefLinux联盟
TYPE=Ethernet[node1] 与 [node2] 在上面的配置中,除了HefLinux联盟
/etc/hostsHefLinux联盟
/etc/sysconfig/networkHefLinux联盟
/etc/sysconfig/network-scripts/ifcfg-eth0HefLinux联盟
/etc/sysconfig/network-scripts/ifcfg-eth1HefLinux联盟
要各自修改外,其他一致。配置完成后,试试在各自主机上ping对方的主机名,应该可以ping通:HefLinux联盟
/root#ping HA02HefLinux联盟
PING HA02 (10.0.0.202) 56(84) bytes of data.HefLinux联盟
64 bytes from HA02 (10.0.0.202): icmp_seq=0 ttl=64 time=0.198 msHefLinux联盟
64 bytes from HA02 (10.0.0.202): icmp_seq=1 ttl=64 time=0.266 msHefLinux联盟
64 bytes from HA02 (10.0.0.202): icmp_seq=2 ttl=64 time=0.148 ms--- HA02 ping statistics ---HefLinux联盟
3 packets transmitted, 3 received, 0% packet loss, time 2002msHefLinux联盟
rtt min/avg/max/mdev = 0.148/0.204/0.266/0.048 ms, pipe 2HefLinux联盟
【三】安装HA 与HA依赖包HefLinux联盟
===========================================================HefLinux联盟
rpm -Uvh libnet-1.1.2.1-1.rh.el.um.1.i386.rpm //可以不装HefLinux联盟
rpm -Uvh heartbeat-pils-2.0.4-1.el4.i386.rpmHefLinux联盟
rpm -Uvh heartbeat-stonith-2.0.4-1.el4.i386.rpmHefLinux联盟
rpm -Uvh heartbeat-2.0.4-1.el4.i386.rpmHefLinux联盟
rpm -Uvh ipvsadm-1.24-5.i386.rpmHefLinux联盟
【四】 配置 HA的各配置文件HefLinux联盟
============================================================HefLinux联盟
---------------------------HefLinux联盟
配置心跳的加密方式:authkeysHefLinux联盟
---------------------------HefLinux联盟
#vi /etc/ha.d/authkeys如果使用双机对联线(双绞线),可以配置如下:HefLinux联盟
#vi /etc/hc.d/authkeysHefLinux联盟
auth 1HefLinux联盟
1 crc存盘退出,然后HefLinux联盟
#chmod 600 authkeys---------------------------HefLinux联盟
配置心跳的监控:haresourcesHefLinux联盟
---------------------------HefLinux联盟
#vi /etc/ha.d/haresourcesHefLinux联盟
各主机这部分应完全相同。server201 IPaddr::192.168.10.200 ipvsadm httpd指定 server201调用ipvsadm启动http,系统附加一个虚拟IP 192.168.10.200 给eth0:0HefLinux联盟
这里如果server201宕机后,server202可以自动启动http服务,并新分配IP 192.168.10.200给server202的eth0:0---------------------------HefLinux联盟
配置心跳的配置文件:ha.cfHefLinux联盟
---------------------------HefLinux联盟
#vi /etc/ha.d/ha.cflogfile /var/log/ha_log/ha-log.log   ## ha的日志文件记录位置。如没有该目录,则需要手动添加HefLinux联盟
bcast eth1     ##使用eht1做心跳监测HefLinux联盟
keepalive 2    ##设定心跳(监测)时间时间为2秒HefLinux联盟
warntime 10HefLinux联盟
deadtime 30HefLinux联盟
initdead 120HefLinux联盟
hopfudge 1HefLinux联盟
udpport 694    ##使用udp端口694 进行心跳监测HefLinux联盟
auto_failback onHefLinux联盟
node server201 ##节点1,必须要与 uname -n 指令得到的结果一致。HefLinux联盟
node server202 ##节点2HefLinux联盟
ping 192.168.10.1   ##通过ping 网关来监测心跳是否正常。HefLinux联盟
respawn hacluster /usr/lib64/heartbeat/ipfailHefLinux联盟
apiauth ipfail gid=root uid=rootHefLinux联盟
debugfile /Datas/logs/ha_log/ha-debug.log---------------------------HefLinux联盟
设置ipvsadm的巡回监测HefLinux联盟
---------------------------HefLinux联盟
ipvsadm -A -t 192.168.10.200:80 -s rrHefLinux联盟
ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.201:80 -mHefLinux联盟
ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.202:80 -m执行后进行监测:HefLinux联盟
#ipvsadm --listHefLinux联盟
如果返回结果与下相同,则设置正确。HefLinux联盟
IP Virtual Server version 1.2.0 (size=4096)HefLinux联盟
Prot LocalAddress:Port Scheduler FlagsHefLinux联盟
-> RemoteAddress:Port           Forward Weight ActiveConn InActConnHefLinux联盟
TCP 192.168.10.200:http rrHefLinux联盟
-> server202:http               Local   1      0          0HefLinux联盟
-> server201:http               Masq    1      0          0HefLinux联盟
【五】 HA服务的启动、关闭以及测试HefLinux联盟
=================================================HefLinux联盟
启动HA: service heartbeat startHefLinux联盟
关闭HA; service heartbeat stopHefLinux联盟
系统在启动时已经自动把heartbeat 加载了。使用http服务测试 heartbeatHefLinux联盟
首先启动httpd服务HefLinux联盟
#service httpd startHefLinux联盟
编辑各自主机的测试用html文件,放到/var/www/html/目录下。HefLinux联盟
启动node1的heartbeat,并执行这个指令进行监控: heartbeat statusHefLinux联盟
【六】 防火墙设置HefLinux联盟
====================================================HefLinux联盟
heartbeat 默认使用udp 694端口进行心跳监测。 如果系统有使用iptables 做防火墙,应记住把这个端口打开。HefLinux联盟
#vi /etc/sysconfig/iptablesHefLinux联盟
加入以下内容HefLinux联盟
-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -d 10.0.0.201 -j ACCEPTHefLinux联盟
意思是udp 694端口对 对方的心跳网卡地址 10.0.0.201 开放。HefLinux联盟
#service iptables restartHefLinux联盟
重新加载iptables。HefLinux联盟
HefLinux联盟
说 明:本文于2006-10月间大体完成。期间在2台Server和2个虚拟机上均测试通过。但在写下这个文档的时候,因粗心而忘记了第五步骤里的[监控指 令]了! 并且2台服务器也分别另作他用;系统重装又失去了虚拟机,所以无从再次验证。文中所说"并执行这个指令进行监控: heartbeat status"有可能有出入。具体修正,得等什么时候对服务器进行实际操作或者重装2个虚拟机,或找网络上其他文档。
顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论