谨言txt百度云:linux上的 heartbeat 双机热备服务架设1

来源:百度文库 编辑:九乡新闻网 时间:2024/07/14 07:11:36
linux上的 heartbeat 双机热备服务架设 2008-09-26 13:33:42标签:linux heartbeat 【一】 安装前环境设定==========================================================两台主机硬件环境(不必完全一致):CPU: Xeon 3G *2 (EM64T)MEM: 2GNIC:  Intel 1G *2eth0: 对外IPeth1: 对内IP(HA专用)两台主机的eht1使用双机对联线直接连接。分区方式:Filesystem   容量  挂载点/dev/sda2    9.7G  //dev/sda6     45G  /Datas/dev/sda1     99M  /bootnone2.0G  /dev/shm/dev/sda3    9.7G  /opt另外每台主机应预留500M的raw空间或者更多来作为共用空间被HA使用。操作系统:RedHat Enterprise 4 Update2 (2.6.9-22 EL)预安装软件:@ X Window System@ GNOME Desktop Environment@ KDE Desktop Environment@ Editors@ Engineering and Scientific@ Graphical Internet@ Text-based Internet@ Authoring and Publishing@ Server Configuration Tools@ Development Tools@ Kernel Development@ X Software Development@ GNOME Software Development@ KDE Software Development@ Administration Tools@ System Tools【二】安装前网络环境设定:========================================================node1: 主机名:servers201 ( HA01 )eth0:  192.168.10.201       //对外IP地址eth1:  10.0.0.201           //HA心跳使用地址node2: 主机名:servers202 ( HA02 )eth0:  192.168.10.202       //对外IP地址eth1:  10.0.0.202           //HA心跳使用地址特别注意要检查以下几个文件:/etc/hosts/etc/host.conf/etc/resolv.conf/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1/etc/nsswitch.conf#vi /etc/hostsnode1的hosts内容如下:127.0.0.1        localhost.localdomain   localhost192.168.10.201   servers201              HA0110.0.0.201       HA0110.0.0.202       HA02192.168.10.202   server202node2的hosts内容如下:127.0.0.1       localhost.localdomain   localhost192.168.10.202  servers202              HA0210.0.0.202      HA0210.0.0.201      HA01192.168.10.201  server201#cat /etc/host.conforder hosts,bind#cat /etc/resolv.confnameserver 61.139.2.69    //DNS地址#cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=servers201           //主机名GATEWAY="192.168.10.1"    //网关GATEWAY="eth0"           //网关使用网卡ONBOOT=YES               //启动时加载FORWARD_IPV4="yes"       //只允许IPV4#cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.10.201NETMASK=255.255.255.0GATEWAY=192.168.10.1TYPE=EthernetIPV6INIT=no#cat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1ONBOOT=yesBOOTPROTO=noneIPADDR=10.0.0.201NETMASK=255.255.255.0TYPE=Ethernet[node1] 与 [node2] 在上面的配置中,除了/etc/hosts/etc/sysconfig/network/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1要各自修改外,其他一致。配置完成后,试试在各自主机上ping对方的主机名,应该可以ping通:/root#ping HA02PING HA02 (10.0.0.202) 56(84) bytes of data.64 bytes from HA02 (10.0.0.202): icmp_seq=0 ttl=64 time=0.198 ms64 bytes from HA02 (10.0.0.202): icmp_seq=1 ttl=64 time=0.266 ms64 bytes from HA02 (10.0.0.202): icmp_seq=2 ttl=64 time=0.148 ms--- HA02 ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2002msrtt min/avg/max/mdev = 0.148/0.204/0.266/0.048 ms, pipe 2【三】安装HA 与HA依赖包===========================================================rpm -Uvh libnet-1.1.2.1-1.rh.el.um.1.i386.rpm  //可以不装rpm -Uvh heartbeat-pils-2.0.4-1.el4.i386.rpmrpm -Uvh heartbeat-stonith-2.0.4-1.el4.i386.rpmrpm -Uvh heartbeat-2.0.4-1.el4.i386.rpmrpm -Uvh ipvsadm-1.24-5.i386.rpm【四】 配置 HA的各配置文件============================================================---------------------------配置心跳的加密方式:authkeys---------------------------#vi /etc/ha.d/authkeys如果使用双机对联线(双绞线),可以配置如下:#vi /etc/hc.d/authkeysauth 11 crc存盘退出,然后#chmod 600 authkeys---------------------------配置心跳的监控:haresources---------------------------#vi /etc/ha.d/haresources各主机这部分应完全相同。server201 IPaddr::192.168.10.200 ipvsadm httpd指定 server201调用ipvsadm启动http服务,系统附加一个虚拟IP 192.168.10.200 给eth0:0这里如果server201宕机后,server202可以自动启动http服务,并新分配IP 192.168.10.200给server202的eth0:0---------------------------配置心跳的配置文件:ha.cf---------------------------#vi /etc/ha.d/ha.cflogfile /var/log/ha_log/ha-log.log   ## ha的日志文件记录位置。如没有该目录,则需要手动添加bcast eth1     ##使用eht1做心跳监测keepalive 2    ##设定心跳(监测)时间时间为2秒warntime 10deadtime 30initdead 120hopfudge 1udpport 694    ##使用udp端口694 进行心跳监测auto_failback onnode server201  ##节点1,必须要与 uname -n 指令得到的结果一致。node server202  ##节点2ping 192.168.10.1   ##通过ping 网关来监测心跳是否正常。respawn hacluster /usr/lib64/heartbeat/ipfailapiauth ipfail gid=root uid=rootdebugfile /Datas/logs/ha_log/ha-debug.log---------------------------设置ipvsadm的巡回监测---------------------------ipvsadm -A -t 192.168.10.200:80 -s rripvsadm -a -t 192.168.10.200:80 -r 192.168.10.201:80 -mipvsadm -a -t 192.168.10.200:80 -r 192.168.10.202:80 -m执行后进行监测:#ipvsadm --list如果返回结果与下相同,则设置正确。IP Virtual Server version 1.2.0 (size=4096)Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port           Forward Weight ActiveConn InActConnTCP  192.168.10.200:http rr  -> server202:http               Local   1      0          0  -> server201:http               Masq    1      0          0【五】 HA服务的启动、关闭以及测试=================================================启动HA: service heartbeat start关闭HA; service heartbeat stop系统在启动时已经自动把heartbeat 加载了。使用http服务测试 heartbeat首先启动httpd服务#service httpd start编辑各自主机的测试用html文件,放到/var/www/html/目录下。启动node1的heartbeat,并执行这个指令进行监控: service heartbeat status【六】 防火墙设置====================================================heartbeat 默认使用udp 694端口进行心跳监测。 如果系统有使用iptables 做防火墙,应记住把这个端口打开。iptables -P INPUT DROP
       iptables -P OUTPUT ACCEPT
       iptables -I INPUT -p tcp --dport 80 -j ACCEPT
       iptables -I INPUT -p tcp --dport 22 -j ACCEPT
       iptables -I INPUT -p udp --dport 694 -j ACCEPTiptables -I INPUT -p udp --dport 32770 -j ACCEPT
       service iptables save#service iptables restart重新加载iptables。