Keepalived教程

环境

环境准备

# 安装必要依赖包
yum -y install libnl libnl-devel libnfnetlink-devel
# 下载keepalived包(1.3.4)
wget https://www.keepalived.org/software/keepalived-1.3.4.tar.gz

安装

安装配置

# 解压
tar -zxvf keepalived-1.3.4.tar.gz
# 进入文件夹
cd keepalived-1.3.4
# 执行
./configure --prefix=/usr/local/keepalived --sysconf=/etc
# 编译安装
make
make install

配置Keepalived.conf文件

文件配置

vrrp_instance VI_1 {
    state MASTER
    interface eth0	//配置本机IP地址名称,需变更本机ip网卡名称
    virtual_router_id 51	//路由组id,一般不变
    priority 200	//权重值,越大比重越高
    advert_int 1
    authentication {	//安全认证,不变
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {	//虚拟地址,一般一个IP即可
        192.168.101201
        # 192.168.200.17
        # 192.168.200.18
    }
}

启动

启动查看效果

keepalived启动之后,会出现已经配置的ip
keepalived虚拟地址
浏览器访问,可以成功
在这里插入图片描述

防软件故障问题处理

keepalived 监控服务软件

创建监控脚本

#!/bin/bash
#统计 nginx 进程是否存在
A=`ps -C nginx --no-header |wc -l` 
#为 0, 表明 nginx 停止了
if [ $A -eq 0 ];then 
#尝试重启 nginx
/usr/local/nginx/sbin/nginx 
#nginx 重启失败, 则 keepalived 自杀, 进行 VIP 转移
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then 
#杀掉, vip 就漫游到另一台机器
killall keepalived 
fi
fi

配置脚本

# 心跳检测脚本
	vrrp_script chk_keepalived_sh {
		# 心跳检测脚本地址
		script "/etc/keepalived/monitor_keepalived.sh"
		# 检测脚本的执行时间
		interval 2
		weight 2
	}
	
	# 检测调用脚本
	track_script {
		chk_keepalived_sh
	}

重启keepalived查看效果
可以看出来,nginx自动启动了
在这里插入图片描述

Keepalived一组多从配置

131机器

131机器配置为nginx-a.html页面
keepalived.conf中权重配置为200 :priority 200
在这里插入图片描述
访问页面情况
在这里插入图片描述

132机器

132机器配置为nginx-b.html页面
keepalived.conf中权重配置为100 :priority 100在这里插入图片描述
访问页面情况
在这里插入图片描述

VIP成功漂移

如上图所示,131权重比132机器权重值大,那么131机器就为master,
而132为backup,若先启动从机,再启动主机,那么vip就会漂移到主机去

在这里插入图片描述

Keepalived权重失效

问题描述

机器131权重值比重大,理论为master,
机器132权重值比重小,理论为backup,
机器131132先后顺序开启keepalived,那么两台机器都会出现VIP,
并且权重值失效,浏览器访问的Nginx为后启动机器。

抓包验证

# 抓包命令
tcpdump -i eth0 vrrp -n

问题解决

firewall

# 开启vrrp 协议,主备都运行下面的命令
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT
# 重启防火墙
firewall-cmd --reload

iptables

# master
-A INPUT -i em1 -p vrrp -s 192.168.101.131  -j ACCEPT  #(192.168.101.131 主机IP)
# backup
-A INPUT -i em1 -p vrrp -s 192.168.101.132 	-j ACCEPT  #(192.168.101.132 从机IP)
# 重启防火墙
service iptables restart
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值