环境: 两台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 日志:
![]()
![]()
+++++++++++++++++++++++++++