当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > Linux上的heartbeat双机热备服务架设

Linux服务器
在Linux环境中如何配置WU-FTP服务器
Linux系统上架设VSFTP服务器实例解析
Linux中使用有状态防火墙实现FTP功能
教你如何搭建简易的Linux局网服务器
使用 Nginx 提升网站访问速度
Linux 服务器日志文件查找技巧精粹
如何在 Ubuntu 8.04 上安装KDE 4.1
基于Linux系统的Nagios网络管理模块的实现
如何使Sendmail邮件服务器的邮件用户与系统用户分离
Apache重负荷服务器应如何优化
两台linux服务器之间用RSA键对的方法SSH/SCP不需密码
在局域网中设置Linux时间服务器
构建简单易用的FAX服务器
架设Squid代理服务器
Linux服务器的一些基本应用
建立Linux下的RADIUS服务器
RedHat8.0服务器配置方案(DNS)
如何编写Linux下的客户机/服务器软件
全球信息网服务器(WebServer)
匿名(垃圾)邮件的根源—网络上几乎所有服务器都不可避免的“漏洞”

Linux服务器 中的 Linux上的heartbeat双机热备服务架设


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 69 ::
收藏到网摘: n/a

【一】安装前环境设定

两台主机硬件环境(不必完全一致):

CPU:Xeon3G*2(EM64T)

MEM:2G

NIC:Intel1G*2

eth0:对外IP

eth1:对内IP(HA专用)

两台主机的eth1使用双机对联线直接连接。

分区方式:

Filesystem容量挂载点

/dev/sda29.7G/

/dev/sda645G/Datas

/dev/sda199M/boot

none2.0G/dev/shm

/dev/sda39.7G/opt

另外每台主机应预留500M的raw空间或者更多来作为共用空间被HA使用。

操作系统:

RedHatEnterprise4Update2(2.6.9-22EL)

预安装软件:

@XWindowSystem

@GNOMEDesktopEnvironment

@KDEDesktopEnvironment

@Editors

@EngineeringandScientific

@GraphicalInternet

@Text-basedInternet

@AuthoringandPublishing

@ServerConfigurationTools

@DevelopmentTools

@KernelDevelopment

@XSoftwareDevelopment

@GNOMESoftwareDevelopment

@KDESoftwareDevelopment

@AdministrationTools

@SystemTools

【二】安装前网络环境设定:

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/hosts

node1的hosts内容如下:

127.0.0.1localhost.localdomainlocalhost

192.168.10.201servers201HA01

10.0.0.201HA01

10.0.0.202HA02

192.168.10.202server202

node2的hosts内容如下:

127.0.0.1localhost.localdomainlocalhost

192.168.10.202servers202HA02

10.0.0.202HA02

10.0.0.201HA01

192.168.10.201server201

#cat/etc/host.conf

orderhosts,bind

#cat/etc/resolv.conf

nameserver61.139.2.69//DNS地址

#cat/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=servers201//主机名

GATEWAY="192.168.10.1"//网关

GATEWAY="eth0"//网关使用网卡

ONBOOT=YES//启动时加载

FORWARD_IPV4="yes"//只允许IPV4

#cat/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.10.201

NETMASK=255.255.255.0

GATEWAY=192.168.10.1

TYPE=Ethernet

IPV6INIT=no

#cat/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

IPADDR=10.0.0.201

NETMASK=255.255.255.0

TYPE=Ethernet

[node1]与[node2]在上面的配置中,除了

/etc/hosts

/etc/sysconfig/network

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/network-scripts/ifcfg-eth1

要各自修改外,其他一致。

配置完成后,试试在各自主机上ping对方的主机名,应该可以ping通:

/root#pingHA02

PINGHA02(10.0.0.202)56(84)bytesofdata.

64bytesfromHA02(10.0.0.202):icmp_seq=0ttl=64time=0.198ms

64bytesfromHA02(10.0.0.202):icmp_seq=1ttl=64time=0.266ms

64bytesfromHA02(10.0.0.202):icmp_seq=2ttl=64time=0.148ms

---HA02pingstatistics---

3packetstransmitted,3received,0%packetloss,time2002ms

rttmin/avg/max/mdev=0.148/0.204/0.266/0.048ms,pipe2

【三】安装HA与HA依赖包

rpm-Uvhlibnet-1.1.2.1-1.rh.el.um.1.i386.rpm//可以不装

rpm-Uvhheartbeat-pils-2.0.4-1.el4.i386.rpm

rpm-Uvhheartbeat-stonith-2.0.4-1.el4.i386.rpm

rpm-Uvhheartbeat-2.0.4-1.el4.i386.rpm

rpm-Uvhipvsadm-1.24-5.i386.rpm

【四】配置HA的各配置文件

配置心跳的加密方式:authkeys

#vi/etc/ha.d/authkeys

如果使用双机对联线(双绞线),可以配置如下:

#vi/etc/hc.d/authkeys

auth1

1crc

存盘退出,然后

#chmod600authkeys

配置心跳的监控:haresources

#vi/etc/ha.d/haresources

各主机这部分应完全相同。

server201IPaddr::192.168.10.200ipvsadmhttpd

指定server201调用ipvsadm启动http服务,系统附加一个虚拟IP192.168.10.200给eth0:0

这里如果server201宕机后,server202可以自动启动http服务,并新分配IP192.168.10.200给server202的eth0:0

配置心跳的配置文件:ha.cf

#vi/etc/ha.d/ha.cf

logfile/var/log/ha_log/ha-log.log##ha的日志文件记录位置。如没有该目录,则需要手动添加

bcasteth1##使用eth1做心跳监测

keepalive2##设定心跳(监测)时间时间为2秒

warntime10

deadtime30

initdead120

hopfudge1

udpport694##使用udp端口694进行心跳监测

auto_failbackon

nodeserver201##节点1,必须要与uname-n指令得到的结果一致。

nodeserver202##节点2

ping192.168.10.1##通过ping网关来监测心跳是否正常。

respawnhacluster/usr/lib64/heartbeat/ipfail

apiauthipfailgid=rootuid=root

debugfile/Datas/logs/ha_log/ha-debug.log

设置ipvsadm的巡回监测

ipvsadm-A-t192.168.10.200:80-srr

ipvsadm-a-t192.168.10.200:80-r192.168.10.201:80-m

ipvsadm-a-t192.168.10.200:80-r192.168.10.202:80-m

执行后进行监测:

#ipvsadm--list

如果返回结果与下相同,则设置正确。

IPVirtualServerversion1.2.0(size=4096)

ProtLocalAddress:PortSchedulerFlags

->RemoteAddress:PortForwardWeightActiveConnInActConn

TCP192.168.10.200:httprr

->server202:httpLocal100

->server201:httpMasq100

【五】HA服务的启动、关闭以及测试

启动HA:serviceheartbeatstart

关闭HA;serviceheartbeatstop

系统在启动时已经自动把heartbeat加载了。

使用http服务测试heartbeat

首先启动httpd服务

#servicehttpdstart

编辑各自主机的测试用html文件,放到/var/www/html/目录下。

启动node1的heartbeat,并执行这个指令进行监控:heartbeatstatus

【六】防火墙设置

heartbeat默认使用udp694端口进行心跳监测。如果系统有使用iptables做防火墙,应记住把这个端口打开。

#vi/etc/sysconfig/iptables

加入以下内容

-ARH-Firewall-1-INPUT-pudp-mudp--dport694-d10.0.0.201-jACCEPT

意思是udp694端口对对方的心跳网卡地址10.0.0.201开放。

#serviceiptablesrestart

重新加载iptables。