您的位置:首页 > 运维架构 > 网站架构

heartbeat

2015-08-26 21:06 381 查看
衡量在线时间:在线时间/在线时间+故障时间。
关于HA的第一个实验做得是heartbeat。

首先必须得把所有的软件找齐。会省掉大量的时间。我就是在这上边浪费了很多时间。
这里需要两个虚拟机每个虚拟机上要有两个网卡,一个是eth0是用来网络通讯的、另一个是eth1 是作为备用的心跳通讯的。
Real 1 eth0 192.168.64.130
Eth1 10.1.1.1
Real 2 eth0 192.168.64.132
Eth1 10.1.1.2
还有个虚拟IP来作为客户端访问的。192.168.64.100
一.对虚拟机配置
(1)IP
(2)节点名称和uname -n 必须一致。通过/etc/hosts解析。防止DNS当掉。
(3)ssh互信通信
(4)时间必须同步
ssh互信通信
ssh-keygen -t rsa -f ~/.ssh/id_rsa -P''(null password )
ssh-copy-id -i .ssh/id_rsa.pub root@通信的IP
检验双机互信
ssh 通信IP ‘ifconfig’
下面是配置前的一些准备
(1)
Hostname node1.boge.com /配置主机名
为了下次开机这个主机名还能用。我们需要修改配置文件/etc/sysconfig/network hostname
剩下的是配置两个IP
在/etc/hosts 为了防止DNS服务器宕机
192.168.64.132 node2.boge.com ha2
192.168.64.130 node1.boge.com ha1
10.1.1.1 ha1
10.1.1.2 ha2
能够实现都能ping 通。
两个虚拟机的配置基本相同。
二.安装软件包
这是需要的软件包
cluster-glue-1.0.5-6.el6.x86_64.rpm heartbeat-3.0.4-1.el6.x86_64.rpm heartbeat-libs-3.0.4-1.el6.x86_64.rpm PyXML-0.8.4-19.el6.x86_64.rpm
cluster-glue-libs-1.0.5-6.el6.x86_64.rpm perl-TimeDate-1.16-11.1.el6.noarch.rpm resource-agents-3.9.2-12.el6.x86_64.rpm
安装过程中有很多依赖关系
例如在安装heartbeat 时需要 rpm –ivh heartbeat-3.0.4-1.el6.x86_64.rpmheartbeat-libs-3.0.4-1.el6.x86_64.rpm 这两个相互依赖的

三.接下来我们需要对heartbeat进行配置
首先 cd /usr/share/doc/heartbeat -3/
有三个配置文件需要复制到/etc/ha.d下
配置文件
ha.cf 主配置文件 heartbeat的监测机制
haresources 资源文件 ip server
authkeys 认证文件
Cp ha.cf authey haresources /etc/ha.d
首先修改的是ha.cf(主服务器)
debugfile/var/log/ha-debug //调试日志文件
logfile /var/log/ha-log //系统运行日志文件
logfacility local0 //日志记录等级
keepalive2 //心跳频率,2表示2秒;200ms则表示200毫秒
deadtime10 //节点死亡时间,就是过了10秒后还没有收到心跳就认为主节点死亡
warntime10 //告警时间
initdead 120 //初始化时间
udpport694 //心跳信息传递的udp端口
bcasteth1 //采用udp广播播来通知心跳,建议在备用节点不只一台时使用
mcast eth1 225.0.0.1 694 10 //采用udp多播来通知心跳,建议在备用节点不只一台时使用
#ucast eth1 10.1.1.2
node node1.boge.com
node node2.boge.com
接下来时配置 authey
有两个认证方式
在这我们选择的是 第一种。直接把注释去掉就行了
修改authey的权限
Chmod 600 authey
最后我们配置的事haresources大概是在45行左右
#node-name resource1 resource2 ...resourceN
node1.boge.com 192.168.64.100 httpd(资源在哪个服务器上运行,哪个就是主服务器)接下来可以把这三个配置好的配置文件复制到辅助服务器上。
Scp ha.cf haresources authey root@192.168.64.132:/etc/ha.d/
此时还需要修改这的ha.cf
把那个ucast eth 10.1.1.1 (这是给服务器传递心跳信息)
四.最后我们分别在服务器上写个测试页面
/etc/init.d/heartbeat start来启动服务
Starting High-Availability services:INFO: Resource is stopped
Done.
出现这个是表示启动正常。
Ifconfig 你会发现多了个地址
eth0:0 Link encap:Ethernet HWaddr00:0C:29:B1:AF:AB
inet addr:192.168.64.100 Bcast:192.168.64.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
这就是我们需要访问的地址
此时辅助服务器也要启动。时刻看着主服务器的状态。
客户端访问时你会看见
aaaaaaaaaaaaa aaaaaaaaaaaa aaaaaaaaaaaaaathis is a test page
当主服务器宕机时。(在/usr/share/heartbeat/ 下有个文件hb_standby 是模拟服务器宕机的)再访问我们会发现真实环境我们看到的应该是同一个页面。但是我们是为了实验所以写成不同的页面此时辅助服务器的多了个IP
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:B1:AF:AB
inet addr:192.168.64.100 Bcast:192.168.64.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

bbbbbbbbbbbbb bbbbbbbbbbbbb this is a testpage

到此为止我们的高可用集群heartbeat配置完毕。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  hearbeat高可用