HA集群配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HA集群配置相关的知识,希望对你有一定的参考价值。
HA 即 (high available)高可用,又被叫做双机热备,用于关键性业务。 简单理解就是,有两台机器A和B,正常是A提供服务,B待命闲置,当A宕机或服务宕掉,会切换至B机器继续提供服务。常用实现高可用的开源软件有heartbeat和keepalived,其中keepalived有负载均衡的功能。
下面我们使用heartbeat来做HA集群,并且把nginx服务作为HA对应的服务。
(以eth0网卡为心跳线)slave5和slave6为我的主机和从机hostname
试验准备:
两台机器, 都是centos6.7,
slave5 网卡eth0 ip如下:
slave5 192.168.112.176
slave6网卡eth0 ip如下:
slave6 192.168.112.177
下面操作1-5都是在两个机器上操作
1. hostname 设置好,分别为slave5 和 slave6
2. 关闭防火墙 iptables -F
service iptables save
关闭selinux: setenforce 0
sed -i ‘s/SELINUX=enforcing/SELINUX=disables/‘ /etc/selinux/congif
设置好后重启生效(最好设置好系统就设置)
3. 两台机都 vi /etc/hosts // 增加内容如下:
192.168.112.176 slave5
192.168.112.177 slave6
4. 安装epel扩展源:
yum install -y epel-release
5. 两个机器都安装heartbeat / libnet
yum install -y heartbeat* libnet nginx
6. 主上(aming)配置
cd /usr/share/doc/heartbeat-3.0.4/
cp authkeys ha.cf haresources /etc/ha.d/
cd /etc/ha.d
vi authkeys //加入或更改为auth 3
3 md5 Hello!
chmod 600 authkeys
设置vip
vi haresources //加入
slave5 192.168.112.110/24/eth0:0 nginx #salve5 为主的主机名
## 192.168.112.110/24 这是vip eth0:0 nginx 要启动的vip网卡 与要配置的服务 (也可以是其他服务)
vi ha.cf //改为如下内容:
debugfile /var/log/ha-debug
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
warntime 10
initdead 60
udpport 694
ucast eth0 192.168.112.177
auto_failback on
node slave5
node slave6
ping 192.168.112.1
respawn hacluster /usr/lib/heartbeat/ipfail
7. 把主上的三个配置拷贝到从上:
cd /etc/ha.d/
scp authkeys ha.cf haresources slave5:/etc/ha.d/
8. 到从上(slave6) 编辑ha.cf
vi /etc/ha.d/ha.cf //只需要更改一个地方
ucast eth0 192.168.112.177 改为 ucast eth0 192.168.21.176 (对方的ip)
9. 启动heartbeat :
先主,后从
service heartbeat start
10. 检查测试
ifconfig 看是否有 eth0:0
ps aux |grep nginx 看是否有nginx进程
11. 测试1
主上故意禁ping
iptables -A INPUT -p icmp -j DROP ##(禁掉ping)
iptables -A INPUT -p icmp -j DROP ## (开启ping)
12. 测试2
主上停止heartbeat服务
service heartbeat stop
补充
#ip add 可以查看虚拟ip
测试办法
nginx的默认页面 是 /usr/share/nginx/htlm/index.htlm
可以主添加 echo "slave5" > /usr/share/nginx/htlm/index.htlm 在 浏览器上输入192.168.112.110查看是否有slave5
在从上添加 echo "slave6" > /usr/share/nginx/htlm/index.htlm 在 浏览器上输入192.168.112.110查看是否有slave6
禁ping或者主上停止heartbeat服务 来查看HA是否生效正常切换
用ifconfig 查看是否有eth0:0网卡生成
小知识
给eth0添加一个虚拟网卡
cd /etc/sysconfig/network-script/
cp ifcfg-eth0 ifcfg-eth0\:1
vim ifcfg-eth0\:1
修改DEVICE=eth0:1
IPADDR设置为一个可用的ip 不同于网卡ip即可
service network restart 即可 查看是否生效
本文出自 “11068542” 博客,请务必保留此出处http://11078542.blog.51cto.com/11068542/1759442
以上是关于HA集群配置的主要内容,如果未能解决你的问题,请参考以下文章