LVS-Nat模式+Keepalived
四台机器(网络模式都设置为NAT模式)
两台做lvs-nat模式的keepalived集群:分别添加一块桥接网卡
两台做RS(Nginx提供静态页面即可)
两台lvs操作
都添加一块桥接的网卡
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
| lvs的master节点配置文件 [root@lvs-master ~]# yum -y install ipvsadm keepalived [root@lvs-master ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id lvs-keepalived-master }
vrrp_instance VI_1 { state MASTER interface ens37 #桥接网卡名称 virtual_router_id 80 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.31.250/24 #注意自己的网段 } }
virtual_server 192.168.31.250 80 { delay_loop 3 lb_algo rr lb_kind NAT nat_mask 255.255.255.0 protocol TCP real_server 192.168.62.168 80 { weight 1 inhibit_on_failure TCP_CHECK { connect_port 80 connect_timeout 3 } } real_server 192.168.62.166 80 { weight 1 inhibit_on_failure TCP_CHECK { connect_timeout 3 connect_port 80 } } } vrrp_instance VI_2 { state MASTER interface ens33 #NAT模式网卡名称 virtual_router_id 100 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.62.112/24 } }
[root@lvs-slave ~]# yum -y install ipvsadm keepalived [root@lvs-slave ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id lvs-keepalived-slave }
vrrp_instance VI_1 { state BACKUP interface ens37 nopreempt virtual_router_id 80 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.31.250/24 } }
virtual_server 192.168.31.250 80 { delay_loop 3 lb_algo rr lb_kind NAT nat_mask 255.255.255.0 protocol TCP real_server 192.168.62.168 80 { weight 1 inhibit_on_failure TCP_CHECK { connect_port 80 connect_timeout 3 } } real_server 192.168.62.166 80 { weight 1 inhibit_on_failure TCP_CHECK { connect_timeout 3 connect_port 80 } } } vrrp_instance VI_2 { state BACKUP interface ens33 nopreempt virtual_router_id 100 priority 50 advert_int 1 authentication { auth_type PASS auth_pass 2222 } virtual_ipaddress { 192.168.62.112/24 } } 注意开启路由转发 [root@lvs-master ~]# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 [root@lvs-master ~]# sysctl -p
[root@lvs-slave ~]# vim /etc/sysctl.conf net.ipv4.ip_forward = 1 [root@lvs-slave ~]# sysctl -p ==================================================================================== 启动Keepalived服务 [root@lvs-master ~]# systemctl start keepalived [root@lvs-slave ~]# systemctl start keepalived
|
两台RS(Nginx服务器)操作
1 2 3 4 5
| 安装nginx服务器,配置不同的静态页面过程:略
[root@test-nginx1 ~]# route add default gw 192.168.62.112 dev ens33 [root@test-nginx2 ~]# route add default gw 192.168.62.112 dev ens33 提示:由于临时添加的方式,网关有可能会消失,消失就添加即可。
|
访问测试
当两个vip在master节点上时,访问浏览器
1
| [root@lvs-master ~]# ip a
|



把master节点的keepalived服务停止,两个vip会漂移到backup节点,再次用浏览器访问
1
| [root@lvs-slave ~]# ip a
|



总结:如果ip漂移之后,访问不到,
1.查看backup节点是否开启了路由转发
2.查看RS上面的网关有没有消失