heartbeat服务的配置
1.下载安装心跳软件
(必须得先配置好yum源)
heartbeat-3.0.4-2.el6.x86_64.rpm
heartbeat-devel-3.0.4-2.el6.x86_64.rpm
heartbeat-libs-3.0.4-2.el6.x86_64.rpm
yum install -y heartbeat-*
2.修改heartbeat配置文件(heartbeat没有健康检查)
cd /etc/ha.d/
目录下的三个文件作用为
ha.cf Main configuration file(主配置文件)
haresources Resource configuration file(资源定义文件)
authkeys Authentication information(认证文件)
复制主配置文件到/etc/ha.d/才能生效
cd /usr/share/doc/heartbeat-3.0.4/
cp ha.cf authkeys haresources /etc/ha.d/
修改主配置文件(在主节点修改)
cd /etc/ha.d/
vim ha.cf #调用ipfaill插件用于主备切换,实现高可用
文件修改如下
34 logfacility local0
48 keepalive 2 心跳检测的频率
56 deadtime 30 多久不响应认定死亡
61 warntime 10 多久警告一次
71 initdead 60 初始化时间
76 udpport 733 端口连接
91 bcast eth0 广播发送的硬件
157 auto_failback on 自动回切
211 node server1
212 node server4 节点的主机号
220 ping 172.25.40.250
253 respawn hacluster /usr/lib64/heartbeat/ipfail(64位)
259 apiauth ipfail gid=haclient uid=hacluster api认证,在装rpm包时候,用户已经被创建
修改认证文件
cd /etc/ha.d/
vim authkeys
文件修改如下
23 auth 1
24 1 crc
随后修改权限
chmod 600 authkeys #认证key需要600权限
修改资源定义文件
cd /etc/ha.d/
vim haresources
修改如下
151 server1 IPaddr::172.25.39.100/24/eth0 httpd #IPaddr:资源脚本名;后面传参(】eth0:vip生效的地方
3.发送相同的三个文件到server4
scp ha.cf authkeys haresources server4:/etc/ha.d/
4.两个节点上开启heartbeat服务
/etc/init.d/heartbeat start
5.测试:
vim /var/www/html/index.html #编写好测试页
(/etc/init.d/heartbeat stop
/etc/init.d/heartbeat start)
高可用与负载均衡的整合
lvs(linuxvirtualserver)虚拟主机
虚拟主机server1
真实主机server2 server3
搭建主要为DR模式
1.安装rpm包ldirectord-3.9.5-3.1.x86_64.rpm
yum install ldirectord-3.9.5-3.1.x86_64.rpm -y
- 在目录下复制文件
cd /usr/share/doc/ldirectord-3.9.5/
cp ldirectord.cf /etc/ha.d/ #只有在这个目录下才能生效
3.两个节点关闭心跳服务
/etc/init.d/heartbeat stop
4.安装ipvsadm
yum install -y ipvsadm
ipvsadm -L #查看策略
5.添加策略
ip addr add 172.25.39.100/24 dev eth0 #把100加到eth0上
包括两个提供httpd的真实主机上也需要进行以上操作
三台主机也要加
ipvsadm -A -t 172.25.39.100:80 -s rr #rr是负载均衡算法(轮询)
ipvsadm -a -t 172.25.39.100:80 -r 172.25.39.3:80 -g
ipvsadm -a -t 172.25.39.100:80 -r 172.25.39.2:80 -g #添加两个真实主机
/etc/init.d/ipvsadm save #保存策略
/etc/init.d/ipvsadm start #开启服务
6.在server2和server3两个真实主机上进行如下操作
/etc/init.d/httpd start #开启httpd服务
yum install -y arptables_jf #针对arp协议的火墙
arptables -L #查看策略
更改策略
arptables -A IN -d 172.25.39.100 -j DROP #丢弃到100的请求,防止IP冲突
arptables -A OUT -s 172.25.39.100 -j mangle --mangle-ip-s 172.25.40.2 #出去的时候使用真实主机的IP,3上写3
/etc/init.d/arptables_jf save #保存策略
arptables -nL #查看
7.测试:在物理机上查看100连接点
arp -an | grep 100 #结果需要为提供虚拟服务器的主机mac地址
curl 172.25.40.100
出现轮询
curl 172.25.39.100
<h1> server2 </h1>
curl 172.25.39.100
<h1> server3 </h1>
使用ldirectord完成高可用和负载均衡的整合
1.在主节点
安装ldirector组件后,关闭心跳服务,修改配置文件
/etc/init.d/heartbeat stop
cd /etc/ha.d/
vim ldirectord.cf
修改如下
25 virtual=172.25.39.100:80 #VIP
26 real=172.25.39.2:80 gate #两台真实服务器的IP
27 real=172.25.39.3:80 gate
28 fallback=127.0.0.1:80 gate #如果真实主机挂掉后,选择自己来提供服务
29 service=http
30 scheduler=rr
31 #persistent=600
32 #netmask=255.255.255.255
33 protocol=tcp
34 checktype=negotiate
35 checkport=80
36 request="index.html"
37 # receive="Test Page"
38 # virtualhost=www.x.y.z
/etc/init.d/ldirectord start #开启服务
2.分别在server2和server3上关掉http,在server1上打开httpd服务测试
curl 172.25.40.100
<h1>please wait </h1>
编写配置文件
cd /etc/ha.d/
vim haresources
将ldirectord服务放入高可用里面
编写如下
server1 IPaddr::172.25.39.100/24/eth0 httpd ldirectord #可以自动开启健康检查的服务
5.打开心跳
/etc/init.d/heartbeat start
6.测试
curl 172.25.39.100
arp -an | grep 100