KEEPALIVED实现高可用集群
1.安装openssl
下载地址
wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
安装
cd openssl-1.0.2h
./config shared zlib
make depend
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
echo “/usr/local/ssl/lib” >> /etc/ld.so.conf
ldconfig -v
检测安装是否成功
openssl version -a
2.下载安装keepalived
首先到官网下载需要的包:http://www.keepalived.org/download.html
[root@liuyazhuang local]# tar -zxvf /tmp/keepalived-1.3.5.tar.gz
[root@liuyazhuang local]# cd keepalived-1.3.5/
[root@liuyazhuang keepalived-1.3.5]# ./configure --prefix=/usr/local/keepalived
然后系统出现警告:
*** WARNING - this build will not support IPVS with IPv6. Please install libnl/libnl-3 dev libraries to support IPv6 with IPVS.
[root@liuyazhuang keepalived-1.3.5]# yum -y install libnl libnl-devel
安装完以后重新执行configure
[root@liuyazhuang keepalived-1.3.5]# ./configure --prefix=/usr/local/keepalived
这次出现错误:
configure: error: libnfnetlink headers missing
[root@liuyazhuang keepalived-1.3.5]# yum install -y libnfnetlink-devel
重新执行configure
[root@liuyazhuang keepalived-1.3.5]# ./configure --prefix=/usr/local/keepalived
现在进行编译:
[root@liuyazhuang keepalived-1.3.5]# make && make install
3.启动keepalived
keepalived启动之前要进行配置(每台机器都需要配置)
cat /etc/keepalived/keepalived.conf
主机配置:
! Configuration File for keepalived
global_defs {
router_id wg-zdglyyfwq-03 #本机名称
}
vrrp_instance V1 {
state MASTER #状态参数 master/backup 主备说明
virtual_router_id 51 #同一家族要一直,同一个集群id一致
interface eth1 #虚IP地址放置的网卡位置
mcast_src_ip 10.221.172.198 #本机IP
priority 150 #优先级,主高一点
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.221.172.212/26 # 设备之间使用的虚拟ip地址
}
vrrp_script check_local {
script “/etc/keepalived/check_gateway.sh” #防止脑裂脚本
interval 5
}
track_script {
check_local
}
}
备机配置:
! Configuration File for keepalived
global_defs {
router_id wg-zdglyyfwq-04
}
vrrp_instance V1 {
state BACKUP
virtual_router_id 51
interface eth1
mcast_src_ip 10.221.172.199
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.221.172.212/26
}
vrrp_script check_local {
script “/etc/keepalived/check_gateway.sh”
interval 5
}
vrrp_script check_local1 {
script “/etc/keepalived/check_brain_keepalived.sh”
interval 5
}
track_script {
check_local
}
track_script {
check_local1
}
}
Keepalived的主备配置文件的主要区别有:
(1)、router_id不一致
(2)、state描述信息不一致
(3)、priority优先级不一致
service keepalived start #启动服务
service keepalived stop #停止服务
service keepalived restart #重启服务
启动后测试
ip a 命令查看虚拟IP状态
虚拟IP在主机上
停止主机keepalived,这是虚拟IP浮动到备机上了,测试成功