tun方式的負(fù)載均衡集群設(shè)置舉例
前面我們學(xué)習(xí)了nat的負(fù)載均衡集群的配置過程,接下來就是另一種配置方式了——lvs/tun的設(shè)置過程。同樣,我們通過對TUN的理解和架構(gòu)的介紹,來完成腳本的設(shè)置。還望大家可以做一個對比學(xué)習(xí),之后還有一種設(shè)置方式,敬請期待。
設(shè)定LVS/TUN方式的負(fù)載均衡集群
TUN是指IP Tunneling,它的轉(zhuǎn)發(fā)流程是:Director機器收到外界請求,按相應(yīng)的調(diào)度算法將其通過IP隧道發(fā)送到相應(yīng)Real Server,Real Server處理完該請求后,將結(jié)果數(shù)據(jù)包直接返回給客戶。至此完成一次負(fù)載調(diào)度。
最簡單的LVS/TUN方式的負(fù)載均衡集群架構(gòu)下圖所示。
LVS/TUN使用IP Tunneling技術(shù),在Director機器和Real Server機器之間架設(shè)一個IP Tunnel,通過IP Tunnel將負(fù)載分配到Real Server機器上。Director和Real Server之間的關(guān)系比較松散,可以是在同一個網(wǎng)絡(luò)中,也可以是在不同的網(wǎng)絡(luò)中,只要兩者能夠通過IP Tunnel相連就行。收到負(fù)載分配的Real Server機器處理完后會直接將反饋數(shù)據(jù)送回給客戶,而不必通過Director機器。實際應(yīng)用中,服務(wù)器必須擁有正式的IP地址用于與客戶機直接通信,并且所有服務(wù)器必須支持IP隧道協(xié)議。
LVS/TUN方式的集群簡圖
這里將所有LVS的配置命令寫到一個可執(zhí)行腳本,腳本內(nèi)容如下:
- #!/bin/bash
- # Close IP Forwarding
- echo 0 > /proc/sys/net/ipv4/ip_forward
- ifconfig eth0 down
- ifconfig eth0 192.168.0.253 netmask 255.255.255.0 broadcast 192.168.0.255 up
- ifconfig eth0:0 192.168.0.254 netmask 255.255.255.255 broadcast 192.168.0.254 up
- ipvsadm -C
- ipvsadm -A -t 192.168.0.254:80 -s wlc
- ipvsadm -a -t 192.168.0.254:80 -r 192.168.0.1 -i -w 3
- ipvsadm -a -t 192.168.0.254:80 -r 192.168.1.201 -i -w 1
- ipvsadm
#p#將上面的腳本保存為/root/lvs_tun.sh。然后加上可執(zhí)行屬性,執(zhí)行它:
- # chmod a+x /root/lvs_tun.sh
- # /root/lvs_tun.sh
運行此腳本之后應(yīng)該出現(xiàn)如下信息:
- # ./lvs-tun.sh
- IP Virtual Server version 1.0.9 (size=4096)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 192.168.0.254:http wlc
- -> 192.168.1.201:http Tunnel 1 0 0
- -> 192.168.0.1:http Tunnel 1 0 0
另外在每臺Real Server上還要執(zhí)行如下的命令:
- ifconfig tunl0 192.168.0.254 netmask 255.255.255.255 broadcast 192.168.0.254 up
- route add -host 192.168.0.254 dev tunl0
- echo 1 > /proc/sys/net/ipv4/conf/all/hidden
- echo 1 > /proc/sys/net/ipv4/conf/tunl0/hidden
注意Real Server的內(nèi)核必須打上修正ARP問題的內(nèi)核補丁,如Linux2.4.20的內(nèi)核是hidden-2.4.20pre10-1.diff,編譯內(nèi)核的方法參見Director機器。
通過本例來簡單評價一下LVS/TUN負(fù)載均衡集群方式。該方式中Director將客戶請求分配到不同的Real Server,Real Server處理請求后直接回應(yīng)給用戶,這樣Director就只處理客戶機與服務(wù)器的一半連接,極大地提高了Director的調(diào)度處理能力,使集群系統(tǒng)能容納更多的節(jié)點數(shù)。另外TUN方式中的Real Server可以在任何LAN或WAN上運行,這樣可以構(gòu)筑跨地域的集群,其應(yīng)對災(zāi)難的能力也更強,但是服務(wù)器需要為IP封裝付出一定的資源開銷,而且后端的Real Server必須是支持IP Tunneling的操作系統(tǒng)。