LVS負載均衡

LVS:Linux虛擬服務器是一個虛擬的服務器集羣系統,用於實現負載平衡。

工作模式
Virtual Server via Network Address Translation(VS/NAT)
通過網絡地址轉換,調度器重寫請求報文的目標地址,根據預設的調度算法,將請求分派給後端的真實服務器;真實服務器的響應報文通過調度器時,報文的源地址被重寫,再返回給客戶,完成整個負載調度過程。

Virtual Server via IP Tunneling(VS/TUN)
採用NAT技術時,由於請求和響應報文都必須經過調度器地址重寫,當客戶請求越來越多時,調度器的處理能力將成爲瓶頸。爲了解決這個問題,調度器把請求報 文通過IP隧道轉發至真實服務器,而真實服務器將響應直接返回給客戶,所以調度器只處理請求報文。由於一般網絡服務應答比請求報文大許多,採用 VS/TUN技術後,集羣系統的最大吞吐量可以提高10倍。

Virtual Server via Direct Routing(VS/DR)
VS/DR通過改寫請求報文的MAC地址,將請求發送到真實服務器,而真實服務器將響應直接返回給客戶。同VS/TUN技術一樣,VS/DR技術可極大地 提高集羣系統的伸縮性。這種方法沒有IP隧道的開銷,對集羣中的真實服務器也沒有必須支持IP隧道協議的要求,但是要求調度器與真實服務器都有一塊網卡連 在同一物理網段上。

調度算法
輪詢(Round Robin)

加權輪詢(Weighted Round Robin)

最少鏈接(Least Connections)

加權最少鏈接(Weighted Least Connections)

基於局部性的最少鏈接(Locality-Based Least Connections)

帶複製的基於局部性最少鏈接(Locality-Based Least Connections with Replication)

目標地址散列(Destination Hashing)

源地址散列(Source Hashing)

軟件安裝
LVS Director

yum install ipvsadm -y

RS1 RS2 server

yum -y install httpd

NAT模式配置

ipvsadm -A -t 10.126.76.10:80 -s rr
-A 添加
-t TCP服務 VIP:prot
-s調度算法:rr round-robin

ipvsadm -a -t 10.126.76.10:80 -r 10.126.76.12:80 -m
ipvsadm -a -t 10.126.76.10:80 -r 10.126.76.18:80 -m
-a 添加
-r指定read sever
-m masquerade  NAT方式

RS1,RS2配置

echo "10.126.76.12" > /var/www/html/index.html
echo "10.126.76.18" > /var/www/html/index.html
route  add -net  default gw 10.126.76.10
route  del -net 0.0.0.0

查看:

ipvsadm -Lnc
Ln 查看規則,顯示內核虛擬服務器表( 查看節點狀態)
Lnc查看規則,顯示客戶端連接分發器與read server情況
ipvsadm -Ln --stats  顯示分發情況
ipvsadm -Ln --rate 連接速率

DR模式配置

ifconfig ens192:0 10.126.76.253 netmask 255.255.255.255 broadcast 10.126.76.253 
ipvsadm -A -t 10.126.76.253:80 -s rr
ipvsadm -a -t 10.126.76.253:80 -r 10.126.76.12:80 -g
ipvsadm -a -t 10.126.76.253:80 -r 10.126.76.18:80 -g
選項“-a”表示添加真實服務器
“-t”用來指定VIP地址及TCP端口
“-r”用來指定RIP地址及TCP端口
“-m”表示使用NAT羣集模式(-g DR模式,-i TUN模式),
“-w”用來設置權重(權重爲0時表示暫停節點)

RS 關閉ARP轉發

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

RS1,RS2配置

ifconfig lo:0 10.120.123.253 netmask 255.255.255.255 broadcast 10.120.123.253 up
echo "10.126.76.12" > /var/www/html/index.html
echo "10.126.76.18" > /var/www/html/index.html
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章