史上最易部署lvs集羣-tun模式

LVS TUN 模式工作原理: 封裝IP

virtual server via ip tunneling模式:採用NAT模式時,由於請求和響應的報文必須通過調度器地址重寫,當客戶請求越來越多時,調度器處理能力將成爲瓶頸。爲了解決這個問題,調度器把請求的報文通過IP隧道廣播轉發到真實的服務器。真實的服務器將響應處理後的數據直接返回給客戶端。這樣調度器就只處理請求入站報文,由於一般網絡服務應答數據比請求報文大很多,採用VS/TUN模式後,集羣系統的最大吞吐量可以提高10倍。
VS/TUN的工作流程圖如下所示,它和NAT模式不同的是,它在LB和RS之間的傳輸不用改寫IP地址。而是把客戶請求包封裝在一個IP tunnel裏面,然後發送給RS節點服務器,節點服務器接收到之後解開IP tunnel後,進行響應處理。並且直接把包通過自己的外網地址發送給客戶不用經過LB服務器。
Tunnel原理流程圖:

DR方式是通過MAC,規模是一個交換網絡。而TUN方式,是通過給數據包加上新的IP頭部來實現
在這裏插入圖片描述

部署環境

在這裏插入圖片描述
Redhat7.3版本下實驗,關閉防火牆及selinux

別名 ip
DS lvs調度器服務器 server1 eth0:192.168.0.1/24
tunl0:192.168.0.100(VIP)
RS後端真實主機服務器1 server2 192.168.0.2/24
RS後端真實主機服務器2 server3 192.168.0.3/24
CS客戶端服務器 client 192.168.0.10/24

1、添加隧道模塊
2、添加VIP
3、安裝lvs管理工具——ipvsadm服務
4、修改反向過濾規則,防止丟包
5、 RS服務器搭建apache資源
6、 CS客戶測試端測試

步驟

server1-DS lvs調度器服務器
#加入隧道模塊
modprobe ipip

#tunl0上添加VIP
ip addr add 192.168.0.100/24 dev tunl0
ip link set up tunl0

#下載ipvsadm
yum install ipvsadm -y

#添加策略
ipvsadm -A -t 192.168.0.100:80 -s rr
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.2:80 -i -w 1
ipvsadm -a -t 192.168.0.100:80 -r 192.168.0.3:80 -i -w 1

server2-RS後端真實主機服務器1
#加入隧道模塊
modprobe ipip
#tunl0上添加VIP
ip addr add 192.168.0.100/24 dev tunl0
ip link set up tunl0

#修改反向過濾規則,防止丟包
#查看過濾表將所有的過濾規則都關閉
sysctl -a | grep rp_filter
#臨時添加
sysctl -w net.ipv4.conf.tunl0.rp_filter=0
#設置生效
sysctl -p
#再次查看
sysctl -a | grep rp_filter

#禁用路由轉發功能
echo ‘0’>/proc/sys/net/ipv4/ip_forward
server3-RS後端真實主機服務器2
#加入隧道模塊
modprobe ipip
#tunl0上添加VIP
ip addr add 192.168.0.100/24 dev tunl0
ip link set up tunl0

#修改反向過濾規則,防止丟包
#查看過濾表將所有的過濾規則都關閉
sysctl -a | grep rp_filter
#臨時添加
sysctl -w net.ipv4.conf.tunl0.rp_filter=0
#設置生效
sysctl -p
#再次查看
sysctl -a | grep rp_filter

#禁用路由轉發功能
echo ‘0’>/proc/sys/net/ipv4/ip_forward

server2及server3設置apache

server2
#下載apache
yum install httpd -y

#啓動
systemctl start httpd
echo server2 > /var/www/html/index.html
systemctl restart httpd
server3
#下載apache
yum install httpd -y

#啓動
systemctl start httpd
echo server3 > /var/www/html/index.html
systemctl restart httpd

CS客戶測試端

curl 192.168.0.100
server2

curl 192.168.0.100
server3
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章