安装KeepAlived
两台服务:192.168.10.101 (主)
192.168.10.102 (备)
1、配置yum源
在两台服务器上分别配置yum源(本地yum或者网络云yum源配置方法可查看我的其他yum原配置相关博客)
2、安装依赖包
在192.168.10.101 192.168.10.102 上执行:
yum install popt-devel -y
yum install -y openssl-devel
yum install -y gcc
3、关闭防火墙
在192.168.10.101 192.168.10.102上:
/etc/init.d/iptables stop
iptables -F
chkconfig iptables off
chkconfig iptables --list
4、安装keepalived
在192.168.10.101 192.168.10.102 上执行:
yum install -y keepalived
5、编辑主节点192.168.10.101上keepalivedd的配置文件
在192.168.10.101 上执行:
vi /etc/keepalived/keepalived.conf 修改器内容如下:
global_defs {
}
vrrp_script chk_tomcat {
script "/etc/keepalived/tomcat_check.sh" ###tomcat中部署的应用检查脚本
interval 2
fall 3
}
vrrp_instance lnmp {
state MASTER ###192.168.10.101 192.168.10.102均为MASTER
interface eth0 ###自己配置此项时查看清楚两台服务器IP配置在哪个网卡上的
virtual_router_id 51 ###主备节点次数数值必须一致
priority 100 ###优先级备份节点此处数值需要比主节点小
advert_int 5
track_interface {
eth0 ###自己配置此项时查看清楚两台服务器IP配置在哪个网卡上的
}
authentication {
auth_type PASS ###随便填但主备机必须一致
auth_pass 123456 ###随便填但主备机必须一致
}
virtual_ipaddress {
192.168.10.109
}
track_script {
chk_tomcat
}
}
virtual_server 192.168.10.109 3306 {
###此项为mysql数据库的状态检查
###192.168.10.109为虚拟IP部署完后用此IP登录各个应用
delay_loop 15
persistence_timeout 30
protocol TCP
real_server 192.168.10.101 3306{
weight 3
notify_down /etc/keepalived/keepalived_shoudown.sh ###主节点数据库宕机后会执行此脚本192.168.10.101会切换到192.168.10.102上
TCP_CHECK {
connect_timeout 20 ###连接超时时间
nb_get_retry 3
delay_before_retry 3
}
}
}
6、vi /etc/keepalived/tomcat_check.sh ###tomcat中部署的应用检查脚本
#!/bin/bash
counter=$(ps -C java --no-heading|wc -l)
if [ "${counter}" -lt "2" ]; then ###在主节点192.168.10.101上执行ps -C java --no-heading|wc -l 查看当前tomcat有几个,将查处的数字填写到此处
sleep 2
counter=$(ps -C java --no-heading|wc -l)
if [ "${counter}" -lt "2" ]; then
/etc/init.d/keepalived stop
fi
fi
7、vi /etc/keepalived/keepalived_shoudown.sh ###keepalived停止脚本用于数据库宕机之后停用主节点上的服务兵器换到备份服务器上
#!/bin/sh
pkill keepalived
8、编辑备份节点192.168.10.102上keepalivedd的配置文件
vi /etc/keepalived/keepalived.conf 修改器内容如下:
vrrp_instance lnmp {
state MASTER
interface eth0
virtual_router_id 51
priority 90
advert_int 5
track_interface {
eth0
}
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.10.109
}
}
9、 修改参数
在192.168.10.101 192.168.10.102上:
vi /etc/sysctl.conf 添加如下配置:
net.ipv4.ip_nonlocal_bind = 1
/sbin/sysctl -p
10、启动KeepAlived
在192.168.10.101 192.168.10.102上:
service keepalived start
11、查看KeepAlived是否安装成功
在192.168.10.101上执行: ip addr 若红框标示处显示2个IP :192.168.10.101 和192.168.10.109,说明KeepAlived安装成功