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

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 50 ::
收藏到网摘: 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。