LVS--DR工做模式原理及加權輪詢使用

1、LVS--DR工做模式原理

(流程圖後續補上……)html

一、 Client向目標 VIP 發出請求,Director (負載均衡器)接收。
2 、Director 根據負載均衡算法選擇 RealServer_1 ,不修改也不封裝 IP 報文,而是將數據幀 的 MAC 地址改成 RealServer_1 的 的 MAC 地址,而後在局域網上發送。
三、 RealServer_1 收到這個幀,解封裝後發現目標 IP 與本機匹配(RealServer 事先綁定了 VIP ,必須的!)因而處理這個報文,隨後從新封裝報文,發送到局域網。
4 、Client 將收到回覆報文。Client 認爲獲得正常的服務,而不會知道是哪臺服務器處理的
(注意,若是跨網段,那麼報文經過路由器經由 Internet 返回給用戶)linux

2、DR工做模式採用加權輪詢方式部署

1.環境準備算法

名稱 IP地址 VIP地址
負載均衡器          (LB) 192.168.1.128 192.168.2.128
Web Server 1    (WS1) 192.168.1.130  
Web Server 2    (WS2) 192.168.1.131   

2.安裝LVSvim

下載地址:http://www.linuxvirtualserver.org/software/ipvs.html#kernel-2.6服務器

或直接wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz負載均衡

3.編譯安裝tcp

tar -zxf ipvsadm-1.26.tar.gz
cd ipvsadm-1.26 && make && make install
lsmod |grep ip_vs
ipvsadm #此時系統可能未加載ipvs模塊,須要手動執行ipvsadm命令加載進去或者modprobe ip_vs。

4.配置LVS測試

4.1 負載均衡器配置VIP地址spa

ifconfig eth0:1 192.168.2.128 netmask 255.255.255.0
route add -host 192.168.2.128 dev eth0

4.2 ipvsadm添加LVS服務code

參數 參數說明
-A

-A --add-service 添加一個帶選項的虛擬服務。

-t 指定虛擬服務器的IP地址和端口
-s -s,--scheduler scheduling-method 調度算法
-p 會話保持按秒計算
-a

-a在對應的VIP下添加RS節點

-g 指定此LVS的工做模式爲-g   -g爲DR模式
-l

指定LVS的工做模式爲-l  -l爲tunnel模式

-m 指定LVS的工做模式爲NAT模式
-w 指定RS節點的權重
-D

刪除虛擬服務

格式:ipvsadm-D -t|u|f service-address

-C

-C, --clear  Clear the virtual server table清空lvs原有的配置。

-set 設置tcp  tcpfn udp  的鏈接超時時間
ipvsadm  -C                                                  #請用LVS原有的配置
ipvsadm -A -t 192.168.2.128:80 -s rr -p 30   #添加虛擬服務指定VIP
ipvsadm -a -t 192.168.2.128:80 -r 192.168.1.130:80 -g -w 20  #針對虛擬服務添加RS節點
ipvsadm -a -t 192.168.2.128:80 -r 192.168.1.131:80 -g -w 20
ipvsadm -L -n                                                #查看VIP和RS是否已經配置成功。

4.3 LB上刪除虛擬服務

ipvsadm -D -t 192.168.2.128:80  

5.配置RS(WS1-2)節點服務器

5.1 添加lo端口的VIP&路由

ifconfig lo 192.168.2.128 netmask 255.255.255.255  #RS的VIP不是用來通信,而且這裏必定要設置24位掩碼
route add -host 192.168.2.128  dev lo

5.2 ARP抑制

echo "1">/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2">/proc/sys/net/ipv4/conf/lo/arp_announce 
echo "1">/proc/sys/net/ipv4/conf/all/arp_announce
echo "2">/proc/sys/net/ipv4/conf/all/arp_announce

6.測試LVS是否生效

在LB上面輸入命令ipvsadm -L -n就可以查看LB上面的會話分配。在前面加上watch能夠動態的查看ipvsadm的會話分配。watch ipvsadm -L -n.

6.1 測試RS節點是否正常訪問

6.2 測試從LB可否正常訪問RS

6.3 測試客戶端可否正常訪問VIP

 

NAT模式:

客戶端一樣須要配置VIP,進行ARP抑制,而且要服務器端開啓內核轉發功能,配置LB的DIP(內網IP地址)做爲默認網關。

開啓內核轉發功能:

vim /etc/sysctl 在文件最後差入: net.ipv4.ip_forword = 1
route add default gw 192.168.2.128

Tunnel模式:

客戶端須要先開啓Tunnel協議支持。

/sbin/modprobe ipip
/sbin/route add –host 192.168.2.128 devtun1
echo」1」>/proc/sys/net/ipv4/conf/tun1/arp-ignore
echo」2」>/proc/sys/net/ipv4/conf/tun1/arp_announce
echo」0」 >/proc/sys/net/ipv4/conf/tun1/rp_filter
echo」1」 >/proc/sys/net/ipv4/conf/tun1/forwarding
echo」1」 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo」2」 >/proc/sys/net/ipv4/conf/all/ arp_announce
相關文章
相關標籤/搜索