08_C74部署_LVS_Keepalived

环境:
两台Centos 7.4 最小化安装
软件:ipvsadm-1.27 keepalived-2.10.tar.gz
IP: lvs01 192.168.189.81 lvs02 192.168.189.82 VIP 192.168.189.181

先清除lvs01 上面的VIP
rm -rf /etc/sysconfig/network-scripts/ifcfg-ens33:1
systemctl restart network
++++++++++++++ nginx 01 nginx 02 +++++++++++++++++++++++

后端Nginx负载均衡服务器配置VIP 

ifconfig lo:0 192.168.189.181 netmask 255.255.255.255 up
chmod +x /etc/rc.d/rc.local
echo "ifconfig lo:0 192.168.189.181 netmask 255.255.255.255 up" >>/etc/rc.local
ARP抑制:
vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.lo.arp_announce=2
保存退出。
sysctl -p
+++++++++++++++++++++++++++++++++++++++++++++++++++++
一、安装ipvsadm

lvs01 lvs02 安装ipvsadm keepalived
yum install ipvsadm wget vim -y
安装依赖包:
yum install -y gcc gcc-c++ openssl openssl-devel libnl libnl-devel libnfnetlink-devel
cd /opt
wget http://www.keepalived.org/software/keepalived-2.0.10.tar.gz
tar zxvf keepalived-2.0.10.tar.gz
cd keepalived-2.0.10/
./configure --prefix=/usr/local/keepalived
make && make install
mkdir -p /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/



二、修改配置文件 (lvs01 上操作)

vim /etc/keepalived/keepalived.conf

vrrp_instance LVS_1 {
tate BACKUP
interface ens33
nopreempt
virtual_router_id 151
priority 100
advert_int 3
authentication {
auth_type PASS
auth_pass 654852
}
virtual_ipaddress {
192.168.189.181/24
}
}
virtual_server 192.168.189.181 80 {
delay_loop 3
lb_algo rr
lb_kind DR
protocol TCP
real_server 192.168.189.79 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 6
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.189.80 80 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 6
nb_get_retry 3
delay_before_retry 3
}
}
}

keepalived 安装完后,直接是支持systemctl 来启动的,只需要把配置文件拷贝到/etc/keepalived/
systemctl start keepalived
systemctl enable keepalived
++++++++++++++++++++++++++++++++++++++++++++++
lvs02 上面的keepalived.conf priority 98 其余都相同。
systemctl start keepalived
++++++++++++++++++++++++++++++
keepalived + lvs 配置说明:
delay_loop 3 # 3 秒检查一次
lb_algo rr # 使用的 轮循 算法
lb_kind DR # LVS的工作模式,
protocol TCP # LVS使用的协议
real_server #配置后端真实服务器

real_server 配置说明:
weight #配置后端真实服务器的权重
TCP_CHECK #对后端真实服务器进行健康检测

TCP_CHECK 配置说明
connect_port #检测端口
connect_timeout #超时时间
nb_get_retry #重试的次数
delay_before_retry #重试等待的时间
++++++++++++++++++++++++++++++++++++++++++++++++++
检测配置:

/usr/local/keepalived/sbin/keepalived -t -f /etc/keepalived/keepalived.conf



启动keepalived
/usr/local/keepalived/sbin/keepalived -f /etc/keepalived/keepalived.conf
前面配置成了systemctl管理,就不需要用这条命令启动。

+++++++++++++++++++++++++++++++++++++++++++

三、测试keepalived 自动添加、删除 后端真实服务器



模拟keepalived 自动删除后端服务器

在nginx01 上面,停掉 nginx
pkill nginx

在lvs01 192.168.189.81上面查看:查看日志





在nginx01 ,再启动nginx
systemctl start nginx

lvs01 上面查看日志:





测试VIP飘移:

kill 掉lvs01 上面的keepalived ,查看 VIP 以及 lvs 数据是否飘移

LVS01:



LVS02:



查看 lvs02 日志:







+++++++++++++++++++++++++++