linux下的服务器做双机热备份

linux下的服务器双机热备份,如何做?

linux上的heartbeat双机热备服务架设
【一】 安装前环境设定

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

cpu: xeon 3g *2 (em64t)

mem: 2g

nic: intel 1g *2

eth0: 对外ip

eth1: 对内ip(ha专用)

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

分区方式:

filesystem 容量 挂载点

/dev/sda2 9.7g /

/dev/sda6 45g /datas

/dev/sda1 99m /boot

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

node1的hosts内容如下:

127.0.0.1 localhost.localdomain localhost

192.168.10.201 servers201 ha01

10.0.0.201 ha01

10.0.0.202 ha02

192.168.10.202 server202

node2的hosts内容如下:

127.0.0.1 localhost.localdomain localhost

192.168.10.202 servers202 ha02

10.0.0.202 ha02

10.0.0.201 ha01

192.168.10.201 server201

#cat /etc/host.conf

order hosts,bind

#cat /etc/resolv.conf

nameserver 61.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#ping ha02

ping 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 ms

64 bytes from ha02 (10.0.0.202): icmp_seq=1 ttl=64 time=0.266 ms

64 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 2002ms

rtt 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.rpm

rpm -uvh heartbeat-stonith-2.0.4-1.el4.i386.rpm

rpm -uvh heartbeat-2.0.4-1.el4.i386.rpm

rpm -uvh ipvsadm-1.24-5.i386.rpm

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

配置心跳的加密方式:authkeys

#vi /etc/ha.d/authkeys

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

#vi /etc/hc.d/authkeys

auth 1

1 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.cf

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

bcast eth1 ##使用eth1做心跳监测

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

warntime 10

deadtime 30

initdead 120

hopfudge 1

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

auto_failback _disibledevent=root uid=root

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

设置ipvsadm的巡回监测

ipvsadm -a -t 192.168.10.200:80 -s rr

ipvsadm -a -t 192.168.10.200:80 -r 192.168.10.201:80 -m

ipvsadm -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 inactconn

tcp 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,并执行这个指令进行监控: heartbeat status

【六】 防火墙设置

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

#vi /etc/sysconfig/iptables

加入以下内容

-a rh-firewall-1-input -p udp -m udp –dport 694 -d 10.0.0.201 -j accept

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

#service iptables restart

重新加载iptables。

 

 

linux下的服务器做双机热备份:等您发表观点!

发表评论


快捷键:Ctrl+Enter