拓撲圖
安裝keepalived
[root@node1 ~]# yum install -y keepalived
修改keepalived MASTER 配置文件
[root@node1 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { [email protected] [email protected] [email protected] } notification_email_from [email protected] router_id LVS_DEVEL } vrrp_instance VI_1 { state MASTER ##定義主節點 interface eth0 virtual_router_id 51 ##識別虛擬路由的id,相同的id則會被識別爲1組 priority 100 ##優先級,優先級高的會選舉爲主節點 advert_int 1 authentication { auth_type PASS ##認證方式爲PASS 還有AH auth_pass 1111 } virtual_ipaddress { 172.16.30.100 ##vip即虛擬IP } } virtual_server 172.16.30.100 80 { delay_loop 6 lb_algo rr ##調度模式rr,輪詢 lb_kind DR ##負載均衡模型爲DR 另外還有NAT persistence_timeout 0 ##超時時長,在每個節點停留的時間,此處設爲0,默認爲50s,則會在單一節點停留50秒在去另一節點 protocol TCP real_server 172.16.30.10 80 { ##後端rs主機 weight 1 TCP_CHECK { connect_port 80 ##連接端口 connect_timeout 3 ##連接超時時間 nb_get_retry 3 ##重試次數 delay_before_retry 3 ##每次重試之間的間隔時間 } real_server 172.16.30.11 80 { weight 1 TCP_CHECK { connect_port 80 connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
將配置文件複製到另一節點
[root@node1 ~]# scp /etc/keepalived/keepalived.conf 172.16.30.2:/etc/keepalived/keepalived.conf
修改 state priority 如下圖
啓動keepalived測試vip
MASTER ip,停掉MASTER keepalived服務
BACKUP ip
VIP成功轉移
配置web服務器
安裝httpd
[root@node10 ~]# yum install -y httpd
提供網頁文件
[root@node10 ~]# vim /var/www/html/index.html <h1>page from node10</h1>
node11同樣的操作
配置rs模型
[root@node10 ~]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore ##關閉arp轉發 [root@node10 ~]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore [root@node10 ~]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@node10 ~]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce [root@node10 ~]# ifconfig lo:0 172.16.30.100 netmask 255.255.255.255 broadcast 172.16.30.100 up ##在lo:0口設置VIP 並只對自己廣播 [root@node10 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:02:A7:9A inet addr:172.16.30.10 Bcast:172.16.255.255 Mask:255.255.0.0 inet6 addr: fe80::a00:27ff:fe02:a79a/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5319 errors:0 dropped:0 overruns:0 frame:0 TX packets:685 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:485435 (474.0 KiB) TX bytes:55938 (54.6 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) lo:0 Link encap:Local Loopback inet addr:172.16.30.100 Mask:255.255.255.255 UP LOOPBACK RUNNING MTU:65536 Metric:1
node11同樣操作
分別啓動httpd服務
訪問測試
現在將node1上的keepalived服務停掉
再次訪問還是同樣的結果,我們再來看一下node2上的ip,vip已經轉移過來了
這樣便實現了lvs+keepalived的高可用負載均衡,lvs負責web服務器的負載均衡,而keepalived可以保證lvs不會發生單點故障。