免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8109 | 回复: 12
打印 上一主题 下一主题

linux上的 heartbeat 双机热备服务架设 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-17 20:30 |只看该作者 |倒序浏览
linux上的 heartbeat 双机热备服务架设\r\n\r\n\r\nhttp://Camor.cublog.cn\r\n\r\n\r\n【一】 安装前环境设定\r\n==========================================================\r\n两台主机硬件环境(不必完全一致):\r\nCPU: Xeon 3G *2 (EM64T)\r\nMEM: 2G\r\nNIC:  Intel 1G *2\r\neth0: 对外IP\r\neth1: 对内IP(HA专用)\r\n两台主机的eth1使用双机对联线直接连接。\r\n分区方式:\r\nFilesystem   容量  挂载点\r\n/dev/sda2    9.7G  /\r\n/dev/sda6     45G  /Datas\r\n/dev/sda1     99M  /boot\r\nnone2.0G  /dev/shm\r\n/dev/sda3    9.7G  /opt\r\n另外每台主机应预留500M的raw空间或者更多来作为共用空间被HA使用。\r\n操作系统:\r\nRedHat Enterprise 4 Update2 (2.6.9-22 EL)\r\n预安装软件:\r\n@ X Window System\r\n@ GNOME Desktop Environment\r\n@ KDE Desktop Environment\r\n@ Editors\r\n@ Engineering and Scientific\r\n@ Graphical Internet\r\n@ Text-based Internet\r\n@ Authoring and Publishing\r\n@ Server Configuration Tools\r\n@ Development Tools\r\n@ Kernel Development\r\n@ X Software Development\r\n@ GNOME Software Development\r\n@ KDE Software Development\r\n@ Administration Tools\r\n@ System Tools\r\n\r\n\r\n【二】安装前网络环境设定:================================================================\r\nnode1: 主机名:servers201 ( HA01 )\r\neth0:  192.168.10.201       //对外IP地址\r\neth1:  10.0.0.201           //HA心跳使用地址\r\nnode2: 主机名:servers202 ( HA02 )\r\neth0:  192.168.10.202       //对外IP地址\r\neth1:  10.0.0.202           //HA心跳使用地址\r\n特别注意要检查以下几个文件:\r\n/etc/hosts\r\n/etc/host.conf\r\n/etc/resolv.conf\r\n/etc/sysconfig/network\r\n/etc/sysconfig/network-scripts/ifcfg-eth0\r\n/etc/sysconfig/network-scripts/ifcfg-eth1\r\n/etc/nsswitch.conf\r\n#vi /etc/hosts\r\nnode1的hosts内容如下:\r\n127.0.0.1        localhost.localdomain   localhost\r\n192.168.10.201   servers201              HA01\r\n10.0.0.201       HA01\r\n10.0.0.202       HA02\r\n192.168.10.202   server202\r\nnode2的hosts内容如下:\r\n127.0.0.1       localhost.localdomain   localhost\r\n192.168.10.202  servers202              HA02\r\n10.0.0.202      HA02\r\n10.0.0.201      HA01\r\n192.168.10.201  server201\r\n#cat /etc/host.conf\r\norder hosts,bind\r\n#cat /etc/resolv.conf\r\nnameserver 61.139.2.69    //DNS地址\r\n#cat /etc/sysconfig/network\r\nNETWORKING=yes\r\nHOSTNAME=servers201           //主机名\r\nGATEWAY=\"192.168.10.1\"    //网关\r\nGATEWAY=\"eth0\"           //网关使用网卡\r\nONBOOT=YES               //启动时加载\r\nFORWARD_IPV4=\"yes\"       //只允许IPV4\r\n#cat /etc/sysconfig/network-scripts/ifcfg-eth0\r\nDEVICE=eth0\r\nONBOOT=yes\r\nBOOTPROTO=static\r\nIPADDR=192.168.10.201\r\nNETMASK=255.255.255.0\r\nGATEWAY=192.168.10.1\r\nTYPE=Ethernet\r\nIPV6INIT=no\r\n#cat /etc/sysconfig/network-scripts/ifcfg-eth1\r\nDEVICE=eth1\r\nONBOOT=yes\r\nBOOTPROTO=none\r\nIPADDR=10.0.0.201\r\nNETMASK=255.255.255.0\r\nTYPE=Ethernet\r\n[node1] 与 [node2] 在上面的配置中,除了\r\n/etc/hosts\r\n/etc/sysconfig/network\r\n/etc/sysconfig/network-scripts/ifcfg-eth0\r\n/etc/sysconfig/network-scripts/ifcfg-eth1\r\n要各自修改外,其他一致。\r\n配置完成后,试试在各自主机上ping对方的主机名,应该可以ping通:\r\n/root#ping HA02\r\nPING HA02 (10.0.0.202) 56(84) bytes of data.\r\n64 bytes from HA02 (10.0.0.202): icmp_seq=0 ttl=64 time=0.198 ms\r\n64 bytes from HA02 (10.0.0.202): icmp_seq=1 ttl=64 time=0.266 ms\r\n64 bytes from HA02 (10.0.0.202): icmp_seq=2 ttl=64 time=0.148 ms\r\n--- HA02 ping statistics ---\r\n3 packets transmitted, 3 received, 0% packet loss, time 2002ms\r\nrtt min/avg/max/mdev = 0.148/0.204/0.266/0.048 ms, pipe 2\r\n\r\n\r\n【三】安装HA 与HA依赖包\r\n================================================================\r\nrpm -Uvh libnet-1.1.2.1-1.rh.el.um.1.i386.rpm  //可以不装\r\nrpm -Uvh heartbeat-pils-2.0.4-1.el4.i386.rpm\r\nrpm -Uvh heartbeat-stonith-2.0.4-1.el4.i386.rpm\r\nrpm -Uvh heartbeat-2.0.4-1.el4.i386.rpm\r\nrpm -Uvh ipvsadm-1.24-5.i386.rpm\r\n\r\n\r\n【四】 配置 HA的各配置文件\r\n================================================================\r\n---------------------------\r\n配置心跳的加密方式:authkeys\r\n---------------------------\r\n#vi /etc/ha.d/authkeys\r\n如果使用双机对联线(双绞线),可以配置如下:\r\n#vi /etc/hc.d/authkeys\r\nauth 1\r\n1 crc\r\n存盘退出,然后\r\n#chmod 600 authkeys\r\n---------------------------\r\n配置心跳的监控:haresources\r\n---------------------------\r\n#vi /etc/ha.d/haresources\r\n各主机这部分应完全相同。\r\nserver201 IPaddr::192.168.10.200 ipvsadm httpd\r\n指定 server201调用ipvsadm启动http服务,系统附加一个虚拟IP 192.168.10.200 给eth0:0\r\n这里如果server201宕机后,server202可以自动启动http服务,并新分配IP 192.168.10.200给server202的eth0:0\r\n---------------------------\r\n配置心跳的配置文件:ha.cf\r\n---------------------------\r\n#vi /etc/ha.d/ha.cf\r\nlogfile /var/log/ha_log/ha-log.log   ## ha的日志文件记录位置。如没有该目录,则需要手动添加\r\nbcast eth1     ##使用eth1做心跳监测\r\nkeepalive 2    ##设定心跳(监测)时间时间为2秒\r\nwarntime 10\r\ndeadtime 30\r\ninitdead 120\r\nhopfudge 1\r\nudpport 694    ##使用udp端口694 进行心跳监测\r\nauto_failback on\r\nnode server201  ##节点1,必须要与 uname -n 指令得到的结果一致。\r\nnode server202  ##节点2\r\nping 192.168.10.1   ##通过ping 网关来监测心跳是否正常。\r\nrespawn hacluster /usr/lib64/heartbeat/ipfail\r\napiauth ipfail gid=root uid=root\r\ndebugfile /Datas/logs/ha_log/ha-debug.log\r\n---------------------------\r\n设置ipvsadm的巡回监测\r\n---------------------------\r\nipvsadm -A -t 192.168.10.200:80 -s rr\r\nipvsadm -a -t 192.168.10.200:80 -r 192.168.10.201:80 -m\r\nipvsadm -a -t 192.168.10.200:80 -r 192.168.10.202:80 -m\r\n执行后进行监测:\r\n#ipvsadm --list\r\n如果返回结果与下相同,则设置正确。\r\nIP Virtual Server version 1.2.0 (size=4096)\r\nProt LocalAddress:Port Scheduler Flags\r\n  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn\r\nTCP  192.168.10.200:http rr\r\n  -> server202:http               Local   1      0          0\r\n  -> server201:http               Masq    1      0          0\r\n\r\n\r\n【五】 HA服务的启动、关闭以及测试================================================================\r\n启动HA: service heartbeat start\r\n关闭HA; service heartbeat stop\r\n系统在启动时已经自动把heartbeat 加载了。\r\n使用http服务测试 heartbeat\r\n首先启动httpd服务\r\n#service httpd start\r\n编辑各自主机的测试用html文件,放到/var/www/html/目录下。\r\n启动node1的heartbeat,并执行这个指令进行监控: heartbeat status\r\n\r\n\r\n【六】 防火墙设置\r\n================================================================\r\nheartbeat 默认使用udp 694端口进行心跳监测。 如果系统有使用iptables 做防火墙,应记住把这个端口打开。\r\n#vi /etc/sysconfig/iptables\r\n加入以下内容\r\n-A RH-Firewall-1-INPUT -p udp -m udp --dport 694 -d 10.0.0.201 -j ACCEPT\r\n意思是udp 694端口对 对方的心跳网卡地址 10.0.0.201 开放。\r\n#service iptables restart\r\n重新加载iptables。\r\n\r\n\r\n说明:本文于2006-10月间大体完成。期间在2台Server和2个虚拟机上均测试通过。但在写下这个文档的时候,因粗心而忘记了第五步骤里的[监控指令]了! 并且2台服务器也分别另作他用;系统重装又失去了虚拟机,所以无从再次验证。文中所说\"并执行这个指令进行监控: heartbeat status\"有可能有出入。具体修正,得等什么时候对服务器进行实际操作或者重装2个虚拟机,或找网络上其他文档。

论坛徽章:
0
2 [报告]
发表于 2007-06-17 20:44 |只看该作者

~~

不错,不错,收藏了~~~~

论坛徽章:
0
3 [报告]
发表于 2007-06-17 20:52 |只看该作者
楼主好文章,不知是否原创,能否留个联系方式

论坛徽章:
0
4 [报告]
发表于 2007-11-12 10:07 |只看该作者
不错!!感谢楼主分享!收藏了!

论坛徽章:
0
5 [报告]
发表于 2008-07-11 10:15 |只看该作者
:hei2: 有没有windows 2003 server的/

论坛徽章:
0
6 [报告]
发表于 2008-07-25 21:59 |只看该作者
支持,谢谢分享!!!!

论坛徽章:
0
7 [报告]
发表于 2008-10-07 13:08 |只看该作者

回复 1 楼 duuwang的帖子

高人  楼主   太详细了

论坛徽章:
0
8 [报告]
发表于 2008-11-12 14:43 |只看该作者
好东东,有没有照这个安装过的?

论坛徽章:
0
9 [报告]
发表于 2008-11-12 15:13 |只看该作者
好啊,有机会一定试试

论坛徽章:
0
10 [报告]
发表于 2009-03-11 10:28 |只看该作者
good doc .it is important
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP