<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=%E6%90%AD%E5%BB%BAlvs%2Bkeepalivedy%E5%8F%8C%E4%B8%BB%E9%AB%98%E5%8F%AF%E7%94%A8%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%B3%BB%E7%BB%9F</id>
	<title>搭建lvs+keepalivedy双主高可用负载均衡系统 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=%E6%90%AD%E5%BB%BAlvs%2Bkeepalivedy%E5%8F%8C%E4%B8%BB%E9%AB%98%E5%8F%AF%E7%94%A8%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%B3%BB%E7%BB%9F"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=%E6%90%AD%E5%BB%BAlvs%2Bkeepalivedy%E5%8F%8C%E4%B8%BB%E9%AB%98%E5%8F%AF%E7%94%A8%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%B3%BB%E7%BB%9F&amp;action=history"/>
	<updated>2026-04-17T01:08:30Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=%E6%90%AD%E5%BB%BAlvs%2Bkeepalivedy%E5%8F%8C%E4%B8%BB%E9%AB%98%E5%8F%AF%E7%94%A8%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%B3%BB%E7%BB%9F&amp;diff=1524&amp;oldid=prev</id>
		<title>Evan：​/* see also */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=%E6%90%AD%E5%BB%BAlvs%2Bkeepalivedy%E5%8F%8C%E4%B8%BB%E9%AB%98%E5%8F%AF%E7%94%A8%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%B3%BB%E7%BB%9F&amp;diff=1524&amp;oldid=prev"/>
		<updated>2025-06-24T02:31:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;see also&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2025年6月24日 (二) 02:31的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l739&quot;&gt;第739行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第739行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=see also=&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=see also=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://blog.linuxchina.net/?p=2942 apache+Keepalived实现站点高可用]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://blog.linuxchina.net/?p=2942 apache+Keepalived实现站点高可用]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l761&quot;&gt;第761行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第759行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[https://www.jianshu.com/p/88589646aae8 LVS+Keepalived+Nginx实现HA]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[https://www.jianshu.com/p/88589646aae8 LVS+Keepalived+Nginx实现HA]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ops&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[category:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;devops&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff:1.41:old-1306:rev-1524:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=%E6%90%AD%E5%BB%BAlvs%2Bkeepalivedy%E5%8F%8C%E4%B8%BB%E9%AB%98%E5%8F%AF%E7%94%A8%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%B3%BB%E7%BB%9F&amp;diff=1306&amp;oldid=prev</id>
		<title>Evan：​/* 关闭nginx */</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=%E6%90%AD%E5%BB%BAlvs%2Bkeepalivedy%E5%8F%8C%E4%B8%BB%E9%AB%98%E5%8F%AF%E7%94%A8%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1%E7%B3%BB%E7%BB%9F&amp;diff=1306&amp;oldid=prev"/>
		<updated>2019-10-15T07:34:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;关闭nginx&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Preface 前言and info=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Mon Aug 19 17:13:45 CST 2019&lt;br /&gt;
&lt;br /&gt;
Note&lt;br /&gt;
&lt;br /&gt;
1.&lt;br /&gt;
注意脑裂问题 &lt;br /&gt;
&lt;br /&gt;
2. 要添加脚本 ？&lt;br /&gt;
vrrp_script jiancha {   #脚本名称&lt;br /&gt;
script &amp;quot;/server/scripts/jiancha.sh&amp;quot;  #定义检查的脚本&lt;br /&gt;
interval 2  #每隔2秒执行&lt;br /&gt;
weight 1    #权重分配数量&lt;br /&gt;
&lt;br /&gt;
track_script {  #执行脚本&lt;br /&gt;
jiancha     #脚本名称&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[https://www.jianshu.com/p/05103ae7fb07 -Keepalived高可用]&lt;br /&gt;
&lt;br /&gt;
=常用 负载均衡器=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
F5&lt;br /&gt;
LVS &lt;br /&gt;
nginx&lt;br /&gt;
haproxy &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lvs &lt;br /&gt;
目前有三种IP负载均衡技术（VS/NAT、VS/TUN和VS/DR），十种调度算法（rrr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq）&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=常用HA软件=&lt;br /&gt;
&amp;lt;pre&amp;gt;keepalived &lt;br /&gt;
heartbeat &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=info =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vip 11.240   10.3.10.146(intraip)&lt;br /&gt;
 &lt;br /&gt;
master  lvs01 148.66.11.27   10.3.10.144  172.23.11.144  lvs+keepalive&lt;br /&gt;
backup  lvs02 148.66.11.57   10.3.10.145  172.23.11.145 lvs+keepalive&lt;br /&gt;
&lt;br /&gt;
web1   java-01 172.23.11.141  10.3.10.141  jdk &lt;br /&gt;
web2  java-02  172.23.11.142 10.3.10.142  jdk  &lt;br /&gt;
web3  pjava-03 172.23.11.143  10.3.10.143 jdk &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=类似的=&lt;br /&gt;
[[搭建keepalived+haproxy双主高可用负载均衡系统]]&lt;br /&gt;
&lt;br /&gt;
[[Keepalived安装和配置]]&lt;br /&gt;
&lt;br /&gt;
=firewall=&lt;br /&gt;
&amp;lt;pre&amp;gt;#lvs master and slave&lt;br /&gt;
firewall-cmd --permanent --add-port=80/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=443/tcp&lt;br /&gt;
firewall-cmd --reload &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=开启路由转发功能=&lt;br /&gt;
&amp;lt;pre&amp;gt;分别在lvs master和lvs slave执行如下操作：&lt;br /&gt;
vim /etc/sysctl.conf&lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
net.ipv4.conf.all.send_redirects = 0&lt;br /&gt;
net.ipv4.conf.default.send_redirects = 0&lt;br /&gt;
net.ipv4.conf.eth0.send_redirects = 0&lt;br /&gt;
net.ipv4.ip_nonlocal_bind = 1 # &lt;br /&gt;
&lt;br /&gt;
sysctl -p&lt;br /&gt;
&lt;br /&gt;
#使用LVS的DR模式最好需设置两个arp相关的参数&lt;br /&gt;
#开启IP转发功能&lt;br /&gt;
sysctl -w net.ipv4.ip_forward=1&lt;br /&gt;
#开启允许绑定非本机的IP&lt;br /&gt;
sysctl -w net.ipv4.ip_nonlocal_bind = 1&lt;br /&gt;
&lt;br /&gt;
net.ipv4.ip_nonlocal_bind：此参数表示是否允许服务绑定一个本机不存在的IP地址；&lt;br /&gt;
使用场景：有些服务需要依赖一个vip才能启动，但是此vip不在本机上，当vip飘移到本机上时才存在；但是服务又需要提前启动，例如haproxy,nginx等代理需要绑定vip时；&lt;br /&gt;
0：默认值，表示不允许服务绑定一个本机不存的地址&lt;br /&gt;
1：表示允许服务绑定一个本机不存在的地址&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=开始=&lt;br /&gt;
[[Keepalived安装和配置]]&lt;br /&gt;
&lt;br /&gt;
=lvs=&lt;br /&gt;
&amp;lt;pre&amp;gt;ipvs安装&lt;br /&gt;
分别在lvs master和lvs slave执行如下操作：&lt;br /&gt;
yum -y install ipvsadm&lt;br /&gt;
ipvsadm&lt;br /&gt;
&lt;br /&gt;
lsmod | grep ip_vs&lt;br /&gt;
ip_vs_rr               12600  2 &lt;br /&gt;
ip_vs                 141432  4 ip_vs_rr&lt;br /&gt;
nf_conntrack          133053  1 ip_vs&lt;br /&gt;
libcrc32c              12644  3 xfs,ip_vs,nf_conntrack&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=keepalive=&lt;br /&gt;
==keepalived安装==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
分别在lvs master和lvs slave执行如下操作：&lt;br /&gt;
yum -y install keepalived&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==keepalived配置==&lt;br /&gt;
===lvs master的keepalived配置如下 ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 cat keepalived.conf&lt;br /&gt;
#master&lt;br /&gt;
#解说&lt;br /&gt;
# lb_algo rr  rr 调试算法为rr 轮询算法&lt;br /&gt;
# lb_kind DR  DR模式&lt;br /&gt;
&lt;br /&gt;
! Configuration File for keepalived&lt;br /&gt;
&lt;br /&gt;
global_defs {&lt;br /&gt;
  # notification_email {&lt;br /&gt;
  #   acassen@firewall.loc&lt;br /&gt;
  #   failover@firewall.loc&lt;br /&gt;
  #   sysadmin@firewall.loc&lt;br /&gt;
  # }&lt;br /&gt;
  # notification_email_from Alexandre.Cassen@firewall.loc&lt;br /&gt;
  # smtp_server 192.168.200.1&lt;br /&gt;
  # smtp_connect_timeout 30&lt;br /&gt;
   router_id LVS_01&lt;br /&gt;
   #vrrp_skip_check_adv_addr&lt;br /&gt;
   #vrrp_strict&lt;br /&gt;
   #vrrp_garp_interval 0&lt;br /&gt;
   #vrrp_gna_interval 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
vrrp_instance VI_1 {&lt;br /&gt;
    state MASTER&lt;br /&gt;
    interface eth0&lt;br /&gt;
    virtual_router_id 51&lt;br /&gt;
    priority 100&lt;br /&gt;
    advert_int 1&lt;br /&gt;
    authentication {&lt;br /&gt;
        auth_type PASS&lt;br /&gt;
        auth_pass 1111&lt;br /&gt;
    }&lt;br /&gt;
    virtual_ipaddress {&lt;br /&gt;
       #148.66.11.240/24 dev eth0 label eth0:1 &lt;br /&gt;
       10.3.10.146/24 dev eth0 label eth0:1 &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
#http&lt;br /&gt;
   virtual_server 10.3.10.146  80 {&lt;br /&gt;
    delay_loop 6&lt;br /&gt;
    lb_algo rr&lt;br /&gt;
    lb_kind DR&lt;br /&gt;
    persistence_timeout 50&lt;br /&gt;
    protocol TCP&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.141 80 {&lt;br /&gt;
         weight 1&lt;br /&gt;
      TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 80&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.142 80 {&lt;br /&gt;
        weight 1&lt;br /&gt;
      TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 80&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.143 80 {&lt;br /&gt;
       weight 1&lt;br /&gt;
     TCP_CHECK {&lt;br /&gt;
         connect_timeout 3&lt;br /&gt;
         nb_get_retry 3&lt;br /&gt;
         delay_before_retry 3&lt;br /&gt;
         connect_port 80&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#https&lt;br /&gt;
virtual_server 10.3.10.146 443 {&lt;br /&gt;
    delay_loop 6&lt;br /&gt;
    lb_algo rr&lt;br /&gt;
    lb_kind DR&lt;br /&gt;
    persistence_timeout 50&lt;br /&gt;
    protocol TCP&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.141 443 {&lt;br /&gt;
         weight 1&lt;br /&gt;
      TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 443&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
   real_server 10.3.10.142 443 {&lt;br /&gt;
        weight 1&lt;br /&gt;
      TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 443&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
   real_server 10.3.10.143 443 {&lt;br /&gt;
      weight 1&lt;br /&gt;
     TCP_CHECK {&lt;br /&gt;
         connect_timeout 3&lt;br /&gt;
         nb_get_retry 3&lt;br /&gt;
         delay_before_retry 3&lt;br /&gt;
         connect_port 443&lt;br /&gt;
         }&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#virtual_server 10.3.101.99 46656 {&lt;br /&gt;
#    delay_loop 6&lt;br /&gt;
#    lb_algo rr&lt;br /&gt;
#    lb_kind DR&lt;br /&gt;
#    persistence_timeout 50&lt;br /&gt;
#    protocol TCP&lt;br /&gt;
&lt;br /&gt;
#    real_server 10.3.101.101 46656 {&lt;br /&gt;
#         weight 1&lt;br /&gt;
#      TCP_CHECK {&lt;br /&gt;
#          connect_timeout 3&lt;br /&gt;
#          nb_get_retry 3&lt;br /&gt;
#          delay_before_retry 3&lt;br /&gt;
#          connect_port 46656&lt;br /&gt;
#         }&lt;br /&gt;
#    }&lt;br /&gt;
#}&lt;br /&gt;
#&lt;br /&gt;
#virtual_server 10.3.101.99 46657 {&lt;br /&gt;
#    delay_loop 6&lt;br /&gt;
#    lb_algo rr&lt;br /&gt;
#    lb_kind DR&lt;br /&gt;
#    persistence_timeout 50&lt;br /&gt;
#    protocol TCP&lt;br /&gt;
#&lt;br /&gt;
#    real_server 10.3.101.151 46657 {&lt;br /&gt;
#         weight 1&lt;br /&gt;
#      TCP_CHECK {&lt;br /&gt;
#          connect_timeout 3&lt;br /&gt;
#          nb_get_retry 3&lt;br /&gt;
#          delay_before_retry 3&lt;br /&gt;
#          connect_port 46657&lt;br /&gt;
#         }&lt;br /&gt;
#    }&lt;br /&gt;
#}&lt;br /&gt;
#&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== lvs salve keepalive配置如下：===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 cat keepalived.conf&lt;br /&gt;
&lt;br /&gt;
! Configuration File for keepalived&lt;br /&gt;
##salve&lt;br /&gt;
global_defs {&lt;br /&gt;
  # notification_email {&lt;br /&gt;
  #   acassen@firewall.loc&lt;br /&gt;
  #   failover@firewall.loc&lt;br /&gt;
  #   sysadmin@firewall.loc&lt;br /&gt;
  # }&lt;br /&gt;
  # notification_email_from Alexandre.Cassen@firewall.loc&lt;br /&gt;
  # smtp_server 192.168.200.1&lt;br /&gt;
  # smtp_connect_timeout 30&lt;br /&gt;
   router_id LVS_02&lt;br /&gt;
   #vrrp_skip_check_adv_addr&lt;br /&gt;
   #vrrp_strict&lt;br /&gt;
   #vrrp_garp_interval 0&lt;br /&gt;
   #vrrp_gna_interval 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
vrrp_instance VI_1 {&lt;br /&gt;
    state BACKUP&lt;br /&gt;
    interface eth0&lt;br /&gt;
    virtual_router_id 51&lt;br /&gt;
    priority 80&lt;br /&gt;
    advert_int 1&lt;br /&gt;
    authentication {&lt;br /&gt;
        auth_type PASS&lt;br /&gt;
        auth_pass 1111&lt;br /&gt;
    }&lt;br /&gt;
    virtual_ipaddress {&lt;br /&gt;
        #148.66.11.240/24 dev eth0 label eth0:1 &lt;br /&gt;
        10.3.10.146/24 dev eth0 label eth0:1 &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
virtual_server 10.3.10.146 80 {&lt;br /&gt;
    delay_loop 6&lt;br /&gt;
    lb_algo rr&lt;br /&gt;
    lb_kind DR&lt;br /&gt;
    persistence_timeout 50&lt;br /&gt;
    protocol TCP&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.141 80 {&lt;br /&gt;
         weight 1&lt;br /&gt;
      TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 80&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.142 80 {&lt;br /&gt;
        weight 1&lt;br /&gt;
     TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 80&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
   real_server 10.3.10.143 80 {&lt;br /&gt;
        weight 1&lt;br /&gt;
     TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 80&lt;br /&gt;
         }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#https&lt;br /&gt;
virtual_server 10.3.10.146  443 {&lt;br /&gt;
    delay_loop 6&lt;br /&gt;
    lb_algo rr&lt;br /&gt;
    lb_kind DR&lt;br /&gt;
    persistence_timeout 50&lt;br /&gt;
    protocol TCP&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.141 443 {&lt;br /&gt;
         weight 1&lt;br /&gt;
      TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 443&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
    real_server 10.3.10.142 443 {&lt;br /&gt;
        weight 1&lt;br /&gt;
     TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 443&lt;br /&gt;
         }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
   real_server 10.3.10.143 443 {&lt;br /&gt;
        weight 1&lt;br /&gt;
     TCP_CHECK {&lt;br /&gt;
          connect_timeout 3&lt;br /&gt;
          nb_get_retry 3&lt;br /&gt;
          delay_before_retry 3&lt;br /&gt;
          connect_port 443&lt;br /&gt;
         }&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#这些端口 干啥的 &lt;br /&gt;
#virtual_server 10.3.101.99 46656 {&lt;br /&gt;
#    delay_loop 6&lt;br /&gt;
#    lb_algo rr&lt;br /&gt;
#    lb_kind DR&lt;br /&gt;
#    persistence_timeout 50&lt;br /&gt;
#    protocol TCP&lt;br /&gt;
#&lt;br /&gt;
#    real_server 10.3.101.101 46656 {&lt;br /&gt;
#         weight 1&lt;br /&gt;
#      TCP_CHECK {&lt;br /&gt;
#          connect_timeout 3&lt;br /&gt;
#          nb_get_retry 3&lt;br /&gt;
#          delay_before_retry 3&lt;br /&gt;
#          connect_port 46656&lt;br /&gt;
#          }&lt;br /&gt;
#     }&lt;br /&gt;
#}&lt;br /&gt;
#&lt;br /&gt;
#virtual_server 10.3.101.99 46657 {&lt;br /&gt;
#    delay_loop 6&lt;br /&gt;
#    lb_algo rr&lt;br /&gt;
#    lb_kind DR&lt;br /&gt;
#    persistence_timeout 50&lt;br /&gt;
#    protocol TCP&lt;br /&gt;
#&lt;br /&gt;
#    real_server 10.3.101.151 46657 {&lt;br /&gt;
#         weight 1&lt;br /&gt;
#      TCP_CHECK {&lt;br /&gt;
#          connect_timeout 3&lt;br /&gt;
#          nb_get_retry 3&lt;br /&gt;
#          delay_before_retry 3&lt;br /&gt;
#          connect_port 46657&lt;br /&gt;
#         }&lt;br /&gt;
#    }&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==keepalived 配置参数 解说==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
global_defs {&lt;br /&gt;
    notification_email {&lt;br /&gt;
        acassen@firewall.loc        #设置报警邮件地址，可以设置多个，每行一个。&lt;br /&gt;
        failover@firewall.loc       #需开启本机的sendmail服务&lt;br /&gt;
        sysadmin@firewall.loc&lt;br /&gt;
    }&lt;br /&gt;
    notification_email_from Alexandre.Cassen@firewall.loc  #设置邮件的发送地址&lt;br /&gt;
    smtp_server 127.0.0.1           #设置smtp server地址&lt;br /&gt;
    smtp_connect_timeout 30         #设置连接smtp server的超时时间&lt;br /&gt;
    router_id LVS_DEVEL             #表示运行keepalived服务器的一个标识。发邮件时显示在邮件主题的信息&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
vrrp_instance VI_1 {&lt;br /&gt;
    state MASTER              #指定keepalived的角色，MASTER表示此主机是主服务器，BACKUP表示此主机是备用服务器&lt;br /&gt;
    interface eno16777736     #指定HA监测网络的接口&lt;br /&gt;
    virtual_router_id 51      #虚拟路由标识，这个标识是一个数字，同一个vrrp实例使用唯一的标识。即同一vrrp_instance下，MASTER和BACKUP必须是一致的&lt;br /&gt;
    priority 100              #定义优先级，数字越大，优先级越高，在同一个vrrp_instance下，MASTER的优先级必须大于BACKUP的优先级&lt;br /&gt;
    advert_int 1              #设定MASTER与BACKUP负载均衡器之间同步检查的时间间隔，单位是秒&lt;br /&gt;
    authentication {          #设置验证类型和密码&lt;br /&gt;
        auth_type PASS        #设置验证类型，主要有PASS和AH两种&lt;br /&gt;
        auth_pass 1111        #设置验证密码，在同一个vrrp_instance下，MASTER与BACKUP必须使用相同的密码才能正常通信&lt;br /&gt;
    }&lt;br /&gt;
    virtual_ipaddress {       #设置虚拟IP地址，可以设置多个虚拟IP地址，每行一个&lt;br /&gt;
        172.16.122.100&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
virtual_server 172.16.122.100 80 {     #设置虚拟服务器，需要指定虚拟IP地址和服务端口，IP与端口之间用空格隔开&lt;br /&gt;
    delay_loop 6                        #设置运行情况检查时间，单位是秒&lt;br /&gt;
    lb_algo rr                          #设置负载调度算法，这里设置为rr，即轮询算法&lt;br /&gt;
    lb_kind DR                          #设置LVS实现负载均衡的机制，有NAT、TUN、DR三个模式可选&lt;br /&gt;
    nat_mask 255.255.255.0&lt;br /&gt;
    persistence_timeout 0               #会话保持时间，单位是秒。这个选项对动态网页是非常有用的，为集群系统中的session共享提供了一个很好的解决方案。&lt;br /&gt;
                                        #有了这个会话保持功能，用户的请求会被一直分发到某个服务节点，直到超过这个会话的保持时间。&lt;br /&gt;
                                        #需要注意的是，这个会话保持时间是最大无响应超时时间，也就是说，用户在操作动态页面时，如果50秒内没有执行任何操作&lt;br /&gt;
                                        #那么接下来的操作会被分发到另外的节点，但是如果用户一直在操作动态页面，则不受50秒的时间限制&lt;br /&gt;
    protocol TCP                        #指定转发协议类型，有TCP和UDP两种&lt;br /&gt;
&lt;br /&gt;
    real_server 172.16.122.193 80 {     #配置服务节点1，需要指定real server的真实IP地址和端口，IP与端口之间用空格隔开&lt;br /&gt;
        weight 1                        #配置服务节点的权值，权值大小用数字表示，数字越大，权值越高，设置权值大小可以为不同性能的服务器&lt;br /&gt;
                                        #分配不同的负载，可以为性能高的服务器设置较高的权值，而为性能较低的服务器设置相对较低的权值，这样才能合理地利用和分配系统资源&lt;br /&gt;
        TCP_CHECK {                     #realserver的状态检测设置部分，单位是秒&lt;br /&gt;
            connect_timeout 3           #表示3秒无响应超时&lt;br /&gt;
            nb_get_retry 3              #表示重试次数&lt;br /&gt;
            delay_before_retry 3        #表示重试间隔&lt;br /&gt;
            connect_port 80&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=realserver的配置=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
三台web服务器都要执行下面脚本:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#不然就改成 255.255.255.0&lt;br /&gt;
#netmask 是多少   直接抄就行 root@IM-secret1-nginx-1 1.9 172.23.101.101&lt;br /&gt;
&lt;br /&gt;
cat /etc/rc.d/init.d/realserver.sh&lt;br /&gt;
&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
    SNS_VIP=148.66.11.240&lt;br /&gt;
    #/etc/rc.d/init.d/functions&lt;br /&gt;
    case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
        ifconfig lo:0 $SNS_VIP netmask 255.255.255.252 broadcast $SNS_VIP&lt;br /&gt;
        /sbin/route add -host $SNS_VIP dev lo:0&lt;br /&gt;
        echo &amp;quot;1&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/lo/arp_ignore&lt;br /&gt;
        echo &amp;quot;2&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/lo/arp_announce&lt;br /&gt;
        echo &amp;quot;1&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/all/arp_ignore&lt;br /&gt;
        echo &amp;quot;2&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/all/arp_announce&lt;br /&gt;
        sysctl -p &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        echo &amp;quot;RealServer Start OK&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
    stop)&lt;br /&gt;
        ifconfig lo:0 down&lt;br /&gt;
        route del $SNS_VIP &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
        echo &amp;quot;0&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/lo/arp_ignore&lt;br /&gt;
        echo &amp;quot;0&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/lo/arp_announce&lt;br /&gt;
        echo &amp;quot;0&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/all/arp_ignore&lt;br /&gt;
        echo &amp;quot;0&amp;quot; &amp;gt;/proc/sys/net/ipv4/conf/all/arp_announce&lt;br /&gt;
        echo &amp;quot;RealServer Stoped&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
    *)&lt;br /&gt;
        echo &amp;quot;Usage: $0 {start|stop}&amp;quot;&lt;br /&gt;
        exit 1&lt;br /&gt;
    esac&lt;br /&gt;
exit 0&lt;br /&gt;
&lt;br /&gt;
chmod u+x /etc/rc.d/init.d/realserver.sh&lt;br /&gt;
/etc/rc.d/init.d/realserver.sh start&lt;br /&gt;
&lt;br /&gt;
ifconfig #得到 &lt;br /&gt;
&lt;br /&gt;
lo:0: flags=73&amp;lt;UP,LOOPBACK,RUNNING&amp;gt;  mtu 65536&lt;br /&gt;
        inet 148.66.11.240  netmask 255.255.255.252&lt;br /&gt;
        loop  txqueuelen 1000  (Local Loopback)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# vi /etc/rc.local #有时会不生效么 &lt;br /&gt;
/etc/rc.d/init.d/realserver.sh start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=防火墙配置  允许vrrp的组播=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lvs两台服务器防火墙配置： in and out &lt;br /&gt;
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 \&lt;br /&gt;
  --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT&lt;br /&gt;
  &lt;br /&gt;
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 \&lt;br /&gt;
  --out-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=启动keepalived并进行测试=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
systemctl start firewalld&lt;br /&gt;
systemctl enable keepalived&lt;br /&gt;
systemctl start keepalived&lt;br /&gt;
systemctl stop firewalld&lt;br /&gt;
ps -ef |grep keepalived&lt;br /&gt;
&lt;br /&gt;
注：重启keepalived服务后，lvs master本地网卡添加了eth0:1的ip,即vip地址&lt;br /&gt;
配置心得：如果vip访问不了，先重启服务器，开启keepalived服务，然后才关闭防火墙 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
查看防火墙配置：&lt;br /&gt;
iptables -L OUTPUT_direct --line-numbers&lt;br /&gt;
iptables -L INPUT_direct --line-numbers&lt;br /&gt;
删除防火墙配置：&lt;br /&gt;
firewall-cmd --direct --permanent --remove-rule ipv4 filter INPUT 0 \&lt;br /&gt;
  --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT&lt;br /&gt;
  &lt;br /&gt;
firewall-cmd --direct --permanent --remove-rule ipv4 filter OUTPUT 0 \&lt;br /&gt;
  --out-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT&lt;br /&gt;
firewall-cmd --zone=public --remove-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
总结：&lt;br /&gt;
当 MASTER 服务器无法提供服务时，VIP 会在 MASTER 上自动移除，BACKUP 服务器会提升为 MASTER 状态，绑定 VIP 、接管服务。&lt;br /&gt;
当 MASTER 修复加入网络后，会自动抢回 VIP ，成为 MASTER 身份。&lt;br /&gt;
当后端提供服务nginx服务挂起时，会自动切换至其它nginx服务器。&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=检查=&lt;br /&gt;
&amp;lt;pre&amp;gt;检查主keepalived 启动后的配置情况&lt;br /&gt;
ip add |grep eth0&lt;br /&gt;
如果网卡下出现148.66.11（VIP）说明主已经启动成功&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
检查备keepalived 启动后的配置情况&lt;br /&gt;
ip add |grep eth0&lt;br /&gt;
备服务器的网卡下没有出现148.66.11（（VIP）的ip，说明备服务正常&lt;br /&gt;
注:如果这里也出现了VIP，那么说明裂脑了，需要检查防火墙是否配置正确；是否允许了vrrp的多播通讯&lt;br /&gt;
&lt;br /&gt;
#lvs master &lt;br /&gt;
tail -f /var/log/messages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-lvs01 keepalived]# ipvsadm -L -n&lt;br /&gt;
IP Virtual Server version 1.2.1 (size=4096)&lt;br /&gt;
Prot LocalAddress:Port Scheduler Flags&lt;br /&gt;
  -&amp;gt; RemoteAddress:Port           Forward Weight ActiveConn InActConn&lt;br /&gt;
TCP  148.66.11:80 rr persistent 50&lt;br /&gt;
TCP  148.66.11:443 rr persistent 50 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=测试负载均衡=&lt;br /&gt;
&lt;br /&gt;
 curl -H &amp;#039;Host:a.com&amp;#039; http://外网vip&lt;br /&gt;
nginx 3 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=故障模拟=&lt;br /&gt;
==关闭keepalived==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
lvs01 keepalived]# ipvsadm -L -n&lt;br /&gt;
IP Virtual Server version 1.2.1 (size=4096)&lt;br /&gt;
Prot LocalAddress:Port Scheduler Flags&lt;br /&gt;
  -&amp;gt; RemoteAddress:Port           Forward Weight ActiveConn InActConn&lt;br /&gt;
TCP  10.3.10.146:80 rr persistent 50&lt;br /&gt;
  -&amp;gt; 10.3.10.141:80               Route   1      0          0         &lt;br /&gt;
  -&amp;gt; 10.3.10.142:80               Route   1      0          1         &lt;br /&gt;
  -&amp;gt; 10.3.10.143:80               Route   1      0          2         &lt;br /&gt;
TCP  10.3.10.146:443 rr persistent 50&lt;br /&gt;
&lt;br /&gt;
lvs01 keepalived]# ip a | grep eth0&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc mq state UP group default qlen 1000&lt;br /&gt;
    inet 10.3.10.144/24 brd 10.3.10.255 scope global noprefixroute eth0&lt;br /&gt;
    inet 10.3.10.146/24 scope global secondary eth0:1 #vip&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systemctl stop keepalived&lt;br /&gt;
&lt;br /&gt;
ip a | grep eth0 #这个时候vip去了lvs slave &lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc mq state UP group default qlen 1000&lt;br /&gt;
    inet 10.3.10.144/24 brd 10.3.10.255 scope global noprefixroute eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lvs02 keepalived]# ip a | grep eth0&lt;br /&gt;
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc mq state UP group default qlen 1000&lt;br /&gt;
    inet 10.3.10.145/24 brd 10.3.10.255 scope global noprefixroute eth0&lt;br /&gt;
    inet 10.3.10.146/24 scope global secondary eth0:1&lt;br /&gt;
 &lt;br /&gt;
 master 启动起来 ，就会抢占 &lt;br /&gt;
 &amp;lt;/pre&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
==关闭nginx ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
evan@freebsd-512mb-sfo2-01:~ % curl -H &amp;#039;Host:a.com&amp;#039; http://148.66.11.240&lt;br /&gt;
nginx 3 &lt;br /&gt;
&lt;br /&gt;
故意关掉 nginx 3 然后再访问  nginx 关闭了 会有一会儿间断 &lt;br /&gt;
evan@freebsd-512mb-sfo2-01:~ % curl -H &amp;#039;Host:a.com&amp;#039; http://148.66.11.240&lt;br /&gt;
curl: (7) Failed to connect to 148.66.11.240 port 80: Connection refused&lt;br /&gt;
evan@freebsd-512mb-sfo2-01:~ % curl -H &amp;#039;Host:a.com&amp;#039; http://148.66.11.240&lt;br /&gt;
nginx 2 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=nginx安装=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
三台 real&lt;br /&gt;
https://nginx.org/en/linux_packages.html#RHEL-CentOS&lt;br /&gt;
添加官方源太新了 1.16 &lt;br /&gt;
&lt;br /&gt;
yum install nginx -y #这样有各部module &lt;br /&gt;
#nginx.x86_64 1:1.12.2-3.el7 他是源码1.14 &lt;br /&gt;
&lt;br /&gt;
防火墙设置：&lt;br /&gt;
firewall-cmd --permanent --add-port=80/tcp&lt;br /&gt;
firewall-cmd --permanent --add-port=443/tcp&lt;br /&gt;
&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
firewall-cmd --list-all-zones&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
systemctl start nginx&lt;br /&gt;
 systemctl enable  nginx&lt;br /&gt;
systemctl restart nginx&lt;br /&gt;
&lt;br /&gt;
cd /etc/nginx/&lt;br /&gt;
&lt;br /&gt;
cp nginx.conf nginx.conf20190819&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
server_name  a.com;&lt;br /&gt;
        #server_name  _;&lt;br /&gt;
        root         /usr/share/nginx/html; #这里的内容改一下以前区别&lt;br /&gt;
        &lt;br /&gt;
        &lt;br /&gt;
        然后  a.com  a 到vip 或者 绑host&lt;br /&gt;
&lt;br /&gt;
curl -H &amp;#039;Host:a.com&amp;#039; http://10.3.10.141&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=other=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
总结：前提vip地址已经映射到外网地址，依次停止某一台服务（master keepalived,backup keepalived,101 nginx,151 nginx），查看访问http://148.6.11.10/是否正常。&lt;br /&gt;
5.8、防火墙配置&lt;br /&gt;
Lvs两台服务器防火墙配置：&lt;br /&gt;
firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 0 \&lt;br /&gt;
  --in-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT&lt;br /&gt;
  &lt;br /&gt;
firewall-cmd --direct --permanent --add-rule ipv4 filter OUTPUT 0 \&lt;br /&gt;
  --out-interface eth0 --destination 224.0.0.18 --protocol vrrp -j ACCEPT&lt;br /&gt;
&lt;br /&gt;
firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
nginx两台服务器防火墙配置：&lt;br /&gt;
firewall-cmd --zone=public --add-port=80/tcp --permanent&lt;br /&gt;
firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
查看防火墙配置：&lt;br /&gt;
iptables -L OUTPUT_direct --line-numbers&lt;br /&gt;
iptables -L INPUT_direct --line-numbers&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=troubleshooting=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vip 老是访问不了 原来要用 那个内网的vip哦  最后打开文档才看到呢 &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/charthyf/article/details/81456872 keepalived配置学习，解决vip无法ping通，虚拟服务器端口无法访问的问题]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.51cto.com/zhaoyuqiang/1166840 虚拟路由器冗余协议【原理篇】VRRP详解]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/u010943765/article/details/59574764 centos7 keepalived 主备通信 防火墙vrrp 协议]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/u013220323/article/details/78415655 keepalived 防火墙配置]&lt;br /&gt;
&lt;br /&gt;
[http://blog.chinaunix.net/uid-20794884-id-5704461.html linux防火墙下允许keepalived组播]&lt;br /&gt;
&lt;br /&gt;
=see also=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[http://blog.linuxchina.net/?p=2942 apache+Keepalived实现站点高可用]&lt;br /&gt;
&lt;br /&gt;
https://www.keepalived.org/LVS-NAT-Keepalived-HOWTO.html&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/yizhixiaocaiji26/article/details/79472711 LVS+Keeplive 负载均衡]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/zyc88888/article/details/81226820 LVS+Keepalived+Nginx+Tomcat高可用负载均衡集群配置]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/lupengfei1009/article/details/86514445 LVS+KeepAlived+Nginx高可用实现方案]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/liqi_q/article/details/78480737 linux搭建LVS+keepalive+nginx实现集群高性能负载均衡配置详解]&lt;br /&gt;
&lt;br /&gt;
[https://blog.csdn.net/u012852986/article/details/52412174 CentOS7 搭建LVS+keepalived负载均衡（二）]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.linuxidc.com/Linux/2015-03/114981.htm Keepalived无法绑定VIP故障排查经历]&lt;br /&gt;
&lt;br /&gt;
[https://www.jianshu.com/p/88589646aae8 LVS+Keepalived+Nginx实现HA]&lt;br /&gt;
[[category:ops]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>