使用双绞线利用heartbeat实现双机热备实战

1490阅读 0评论2015-04-01 yong_kang
分类:LINUX

1、  环境准备 使用yum安装heartbeat yum install heartbeat*

2、  Copy安装后的配置文件到

cp -arp ha.cf /etc/ha.d/ ha.cf是主配置文档
cp -arp authkeys /etc/ha.d/ authkeys
是心跳之家通讯加密用的
[ cp -arp haresources /etc/ha.d/ haresources
是高可用的资源

3、  确认所属组及用户id  id确认

a)       修改主机名

分别登录202.102.188.116115 进入etc目录修改hosts文件

分别命名为qiluwb1qiluwb2

虚拟IP202.102.188.11

b)       网络环境配置

Qiluwb1116:

Eth0: 202.102.188.116

Eth1: 10.0.1.76

Qiluwb2(115):

Eth0: 202.102.188.115

Eth1: 10.0.1.75

c)       Hosts文件配置(倒序?)

Qiluwb1:

127.0.0.1 localhost.localdomain localhost

202.102.188.116  qiluwb1 HA01

10.0.1.76  HA01

10.0.1.75  HA02

202.102.188.115  qiluwb2

Qiluwb2:

127.0.0.1 localhost.localdomain localhost

202.102.188.115  qiluwb2 HA02

10.0.1.76  HA01

10.0.1.75  HA02

202.102.188.116  qiluwb1

查看域名解析顺序

d)       #cat /etc/host.conf

e)       修改/etc/sysconfig/networkhostname qiluwb1qiluwb2

f)        /etc/sysconfig/network-scripts目录中确认eth0eth1网卡启动时的协议使用BOOTPROTO=static

g)       分别在qiluwb1qiluwb2上测试连通性

ping qiluwb1

ping qiluwb2

ping ha01

ping ha01

二、Hearbeat配置

Ø  配置心跳的加密方式:authkeys

#vi /etc/hc.d/authkeys

auth 1

1 crc

#chmod 600 authkeys

Ø  配置心跳的监控:haresources

Qiluwb1  202.102.188.11  mysql httpd ##这里配置共享的资源包括浮动ip

 

# qiluwb1 192.168.0.200 Filesystem::/dev/sdb::/ha::ext3 ipvsadm httpd

# node1 IPaddr::172.16.13.90 apache

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

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

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

logfacility local0

#bcast eth1 ##使用eht1做心跳监测,这个我没有设置

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

warntime 10 ##超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中,这个也没有设置

deadtime 30 ##超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡

initdead 120 ##在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。

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

ucast eth1 对方的ip ##采用网卡 eth1 udp 单播来通知心跳,eth1 IP

#baud 19200 ##设置串行通信的波特率

#serial /dev/ttyS0 ##使用串口

bcast eth1 # Linux 设置广播通信所使用的网络接口卡。

auto_failback off ##heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取

node qiluwb1 ##节点1,必须要与 uname -n 指令得到的结果一致且主在前。

node qiluwb2 ##节点2

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

respawn hacluster /usr/lib64/heartbeat/ipfail

三、 HA服务的启动、关闭以及测试

启动HA: service heartbeat start

关闭HA; service heartbeat stop

chkconfig -add heartbeat chkconfig --level 35 heartbeat on

Ø  启动ha使用ifconfig eth0:0查看是否有虚拟地址

Ø  arp –a查看mac

备注:


1).
资源组的第一列是我们在ha.cf配置文件中的node之一,而且应该是当前准备作为primary节点的那一个node
2).
每一行代表一个资源组,如果一行写不下可以用" "换行
3).
资源组启动顺序是从左往右,关闭的顺序是从右往左
4).
脚本的参数通过::来分隔和传递
5).
一个资源组里面不同资源之间以空格分隔
6).
不同的资源组之间没有必然关系
7).
每个资源都是一个角本,可以是在/etc/init.d目录下面的,也可以是/usr/local/etc/ha.d/resource.d目录下面的角本。这些角本必须要支持xxx startxxx stop;模式。
8).
关于service IP的资源设置格式详见haresources文件。
9).
如果mysql是编译安装的话, 则需要修改/etc/init.d/mysql文件中的basedirdatadir两个参数。

手工切换
[ rc.d]# /usr/local/share/heartbeat/hb_standby
[ rc.d]# service heartbeat status
heartbeat OK [pid 13763 et al] is running on alsme_probe3 [qiluwb1]...
手工接管
[ rc.d]# /usr/local/share/heartbeat/hb_takeover
查看heartbeat状态
[ rc.d]# service heartbeat status
heartbeat OK [pid 13763 et al] is running on alsme_probe3 [qiluwb2]...

 

上一篇:Apache安全配置基线指导
下一篇:Nginx实现七层负载均衡配置指导