lvs架構的DR模式

 

DR模式簡單的說就是客戶端請求數據進來結果ld,而出去的時候不通過ld了,直接去找路由器了,這樣就能夠減小分發器的壓力了,這樣使得能夠調度更多的訪問。算法

特色:server pool中的主機ip爲公有ipbash

          ld,real server 都要綁定一個虛ip服務器

          real server綁定的虛擬ip,只須要主機知道就好,路由器不須要知道。網絡

配置過程以下:負載均衡

1.client配置ide

#ifconfig eth0 192.168.18.106性能

#route add default gw 192.168.18.254測試

2.router 配置優化

#ifconfig eth0 192.168.18.254url

#ifconfig eth0:0 192.168.19.100

打開轉發:

echo 1 > /proc/sys/net/ipv4/ip_forward

3.分發器的配置:

安裝lvs到分發器上面

配置好yum源,保證可以讀取到介質中的Cluster目錄!

cat /etc/yum.repos.d/aa.repo

[aa]

name=aa

baseurl=file:///media/Server

enabled=1

gpgcheck=0

[Cluster]

name=cluster

baseurl=file:///media/Cluster

enabled=1

gpgcheck=0

#yum -y install ipvsadm

#ifconfig eth0 192.168.19.200

綁定vip

#ifconfig eth0:0 192.168.19.250 netmask 255.255.255.255 broadcast 192.168.19.250 up

設定正確的路由

route add -host 192.168.19.250 dev eth0:0

設定分發規則

19.200#ipvsadm -A -t 192.168.19.250:80 -s rr

19.200#ipvsadm -a -t 192.168.19.250:80 -r 192.168.19.101 -g

19.200#ipvsadm -a -t 192.168.19.250:80 -r 192.168.19.102 -g

19.200#ipvsadm -a -t 192.168.19.250:80 -r 192.168.19.103 -g

-A 添加服務  -t 服務所使用的虛擬ip地址:端口 (虛擬地址工業環境應該是公網ip -s 算法    (rr 算法就是你一個,我一個)

注意是 -g 【(-a  添加real server  -r real serverip -g (DR模式)

算法介紹:

1.rr輪叫調度(Round Robin)

調度器經過「輪叫」調度算法將外部的請求按順序輪流分配至集羣中的真是服務器中,均等的對待每一臺服務器,而無論服務器上面的實際鏈接數和系統負載。

2.wrr加權輪叫(Weighted Round Robin)

調度器經過「加權輪叫」調度算法根據真是服務器的不一樣處理能力來調度訪問請求。這樣能夠保證處理能力強的服務器處理更多的訪問請求。調度器能夠自動詢問真是服務器的負載狀況,並動態地調整其權值。

3.lc最少鏈接(Least Connections)

調度器經過」最少鏈接「調度算法動態的將網絡請求調度到已創建的鏈接數最少的服務器上。若是集羣系統的真實服務器具備相近的系統性能,採用」最少鏈接「調度算法能夠較好的均衡負載狀況。

4.wlc加權最少鏈接(Weighted Least Connections)

在集羣系統中的服務器性能差別較大的狀況下,調度器採用」加權最少鏈接:調度算法優化負載均衡性能,具備較高的權值的服務器將承受較大比例的活動鏈接負載。調度器能夠自動詢問真是服務器的負載狀況,並動態的調度其權值。

5.lblc基於局部性的最少鏈接

6.LBLCR帶複製的基於局部性的最少鏈接

7.DH目標地址散列

8.SH源地址散列

我這裏就不在清楚的介紹其餘的算法了,如今一共支持12中算法,但願大家去了解吧。

real server的配置:

綁定vip

#ifconfig lo:0 192.168.19.250 netmask 255.255.255.255 broadcast 192.168.19.250 up

設置到主機的路由

#route add -host 192.168.19.250 dev lo:0

設置默認路由

#route add default gw 192.168.19.100

保證arp協議在鏈接過程當中,路由器上,只知道網絡中192.168.19.250對應的是分發器

19.101#echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore

19.101#echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

19.101#echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

19.101#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

其餘的real server配置同上

綁定VTP:還能夠利用腳原本實現:

#!/bin/bash
VIP=192.168.19.250
ROUTE=192.168.19.100
start() {
ifconfig lo:0 $VIP/32 broadcast $VIP up
route add -host $VIP dev lo:0
route add default gw $ROUTE
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
echo start;
}

stop() {
route del default gw $ROUTE
route del -host $VIP dev lo:0
ifconfig lo:0 down
echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
echo stop;
}

case $1 in

start)
    start
    ;;
stop)
    stop
    ;;
restart)
    stop
    start
    ;;
*)
    echo 'start | stop'
esac

重啓服務

/etc/init.d/httpd restart

開始測試:

18.106#elinks http://192.168.19.250 --dump

   102

18.106#elinks http://192.168.19.250 --dump

   101

相關文章
相關標籤/搜索