Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96471
  • 博文数量: 16
  • 博客积分: 1510
  • 博客等级: 上尉
  • 技术积分: 150
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-09 10:23
文章分类

全部博文(16)

文章存档

2012年(3)

2010年(2)

2009年(11)

我的朋友

分类: LINUX

2009-07-09 08:26:53

Rhel4Heartbeat安装与配置

 

一、安装前环境设定

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

CPU:Xeon 2.833*2

MEM:2G

Eth0:对外服务器IP

Eth1:HA专用IP

OS平台:Redhat enterprise 4 update7 (2.6.9-78 EL)

---------------------------------------------------------------

二、网络环境设定:

1、设置node信息

node1

主机名:servers01 HA01

eth0:10.10.10.217(接入网络)

eth1:192.168.0.217

 

node2

主机名:servers02HA02

eth0:10.10.10.218(接入网络)

eth1:192.168.1.218

 

虚拟IP(公共IP,只在haresources中设置):

10.10.10.216

 

2、修改网络相关配置文件:

#vi /etc/hosts

node1hosts内容:

127.0.0.1 localhost.localdomain localhost

10.10.10.217 servers01 HA01

192.168.0.217 HA01

192.168.0.218 HA02

10.10.10.218 server02

 

node2hosts内容:

127.0.0.1 localhost.localdomain localhost

10.10.10.218 servers02 HA02

192.168.0.218 HA02

192.168.0.217 HA01

10.10.10.217 server01

 

#cat /etc/host.conf

order hosts,bind

 

#cat /etc/resolv.conf

nameserver 10.10.10.21 //DNS地址

 

#cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=servers01 //主机名

GATEWAY="10.10.10.250" //网关

ONBOOT=YES //启动时加载

FORWARD_IPV4="yes" //只允许IPV4

 

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

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

IPADDR=10.10.10.217

NETMASK=255.255.255.0

GATEWAY=10.10.10.250

TYPE=Ethernet

IPV6INIT=no

 

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

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

IPADDR=192.168.0.217

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

 

3.在两个节点上启用httpd并测试,首页文件index.html可显示当前节点地址信息,如节点1index.html内容:

This is HA01

节点2index.html内容:This is HA02

 

三、安装heartbeat

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

注:heartbeat软件包可以在下载

 

 

四、配置heartbeat

heartbeat的配置有以下三个文件,2个节点配置除ha.cf可能不一样外(如心跳接口名称),其他一样。

  ha.cf      主配置文件

  haresources   资源配置文件

  authkeys     认证信息配置文件

 

可以拷贝三个范例来进行配置

cp /usr/share/doc/heartbeat-1.2.3/ha.cf         /etc/ha.d/

cp /usr/share/doc/heartbeat-1.2.3/haresources   /etc/ha.d/

cp /usr/share/doc/heartbeat-1.2.3/authkeys      /etc/ha.d/

 

也可以直接配置

1)配置ha.cf

debugfile /var/log/ha_log/ha-debug                 //调试日志文件

logfile /var/log/ha_log/ha-log                     //系统运行日志文件

logfacility     local0                               //日志记录等级

keepalive 2            //心跳频率,2表示2秒;200ms则表示200毫秒

deadtime 10        //节点死亡时间,就是过了10秒后还没有收到心跳就认为主节点死亡

warntime 10          //告警时间

initdead 120          //初始化时间

udpport 694          //心跳信息传递的udp端口

bcast eth1            //采用udp广播播来通知心跳,建议在备用节点不只一台时使用

baud  19200

auto_failback on      //如果主节点重新恢复过来,主节点将主动将资源抢占过来,如果为off,则只当备用节点当掉后,主节点才取回资源

watchdog /dev/watchdog         //看门狗。如果本节点在超过1分钟后还没有发出心跳,那么本节点自动重启

ping 10.10.10.250              //通过ping网关来监测心跳是否正常

respawn root /usr/lib64/heartbeat/ipfail

respawn root /usr/sbin/httpd

apiauth  ipfail  gid=root uid=root

hopfudge  1

 

node servers01                  //主节点名称,与uname -n显示必须一致

node servers02                  //备用节点名称

 

 

2)配置haresources (定义虚拟IPhttpd服务等集群资源)

servers01   10.10.10.216   httpd   //servers01为主节点名称,10.10.10.216为虚拟IP地址,httpd为集群服务资源之一且为该资源的启动脚本名称或程序名称

#servers01   10.10.10.216 MyService.sh  //其他示例

#servers01   10.10.10.216 Filesystem::/dev/sdb2::/www::ext3::rw  //示例挂接一个文件系统,包括设备名,挂接点、类型及权限

 

3)配置authkeys

auth 1

1 crc                        //主节点与备用节点间数据校验采用crc算法

#2 sha1 HI!

#3 md5 Hello!

注:authkeys需要设置读写权限:chmod 600 ./authkeys

 

五、测试校验

 

启动:service heartbeat start

验证:

1haresources中配置的虚拟IP:10.10.10.216将在主节点自动启用,可用ifconfig查看到为eth0:0接口,并可用测试网页的打开.备份节点虚拟IP不启用是正常的,只在切换时启用。

 

2)将主节点的eth0eth1down掉,过一会应该可以看到备份节点接管了10.10.10.216地址。然后将主节点eth0eth1起用,由于设置了fallback on,主节点主动将虚拟IP抢占回来(要等一会儿,用ifconfig多刷几次看看),并接管了相应的服务(httpd)

 

校验截图:

刚开始,虚拟IP先由主节点接管

 

节点2没有虚拟IP

 

访问虚拟IP显示的是主节点

 

手动当掉主节点的2块网卡,模拟主节点发生故障,虚拟IP就由备用节点接管了

 

访问结果显示为备用节点

测试完成。

 

阅读(1796) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~