lvs集羣

本文章主要內容是:LVS的負載均衡(LB)集羣

前言:

工作模式:NAT(網絡地址轉換),DR(直連路由模式),TUN(隧道)

LVS調度算法:輪詢(RR),加權輪詢(WRR),最少連接(LC)

加權最少連接(WLC),基於局部性的最少連接(LBLC),

帶複製的基於局部性最少鏈接(LBLCR),目標地址散列(Dh)

源地址散列(sh),最短的期望的延遲(SED),最少隊列調度(NQ)


一、LVS/NAT模式

NAT:地址轉換(類似於DNAT)

 集羣點跟director必須工作在同一個IP的網絡中

 RIP通常是私有地址,僅用於各集羣節點間的的通信

 director位於client和real server之間,並負責處理進出的所有通道。

 realserver必須將網關執行DIP

 director支持端口映射

 realserver可以使用任何類型的操作系統(os)

 較大規模應用場景中,director易成爲系統瓶頸


1、準備四臺服務器,我這裏用rhel7.2,IP地址規劃如下:

客戶端:192.168.2.44,分發器爲:2.45和4.45

網站服務器爲:4.46和4.47

2、配置分發器:192.168.4.45,vim /etc/sysctl.conf  //路由轉發

net.ipv4.ip_forward = 1

執行sysctl -p馬上生效

3、配置網關地址:在兩臺服務器上修改網關地址

  GATEWAY=192.168.4.45

4、客戶端配置網關(192.168.2.44):2.45

5、在兩臺網站服務器上安裝web服務,設置開機啓動

在分發器上配置:192.168.4.45

6、安裝軟件:yum -y install ipvsadm

7、配置LVS

ipvsadm -Ln //查看 n代表數字代表服務

ipvsadm -A -t 192.168.2.45:80 -s rr   //添加虛擬服務,

ipvsadm -a -t 192.168.2.45:80 -r 192.168.4.46:80 -m //添加真實IP,-m nat模式

ipvsadm -a -t 192.168.2.45:80 -r 192.168.4.47:80 -m

8、在客戶端測試:2.44:elinks --dump http://192.168.2.45

9、watch -n 1 ipvsadm -Ln --stats,在分發器上查看狀態

10、從虛擬服務裏刪除real server: ipvsadm -d -t 192.168.2.45:80 -r 192.168.4.46:80

11、修改調度算法:ipvsadm -E -t 192.168.2.45:80 -s wrr

12、修改權重:ipvsadm -e -t 192.168.2.45:80 -r 192.168.4.46:80 -w 3 -m

PS:由於在RHEL7裏面save命令用不了,所以用下面大方法代替:

ipvsadm -C

ipvsadm -A -t 192.168.2.45:80 -s rr

ipvsadm -a -t 192.168.2.45:80 -r 192.168.4.46:80 -m

ipvsadm -a -t 192.168.2.45:80 -r 192.168.4.47:80 -m

把上面的語句寫進  /etc/rc.local,然後執行下面的語句

echo /etc/rc.local >>~/.bash_profile &&  source /etc/profile  

//讓/etc/rc.local裏面的內容生效,並開機自啓動


LVS-DR介紹:直接路由(及用於作爲源地址)

 各集羣節點跟director必須在同一個物理網絡中;

 RIP可以使用公網地址,實現便攜的遠程管理和監控;

 director僅負責處理入站請求,形影報文則有realserver直接發往客戶端

 realserver不能將網關指向DIP,而是直接指向前端網關;

 director不支持端口映射

 大多數操作系統能夠用在realserver

 director能夠處理更多的realserver

一、網站服務器配置:4.46和4.47

1、修改網絡接口運行參數:cd /proc/sys/net/ipv4/conf/

 echo 1 > lo/arp_ignore  //忽略廣播包

   echo 2 > lo/arp_announce   //兄弟接口接收和發送arp包

   echo 1 > all/arp_ignore

   echo 2 > all/arp_announce    

2、綁定VIP地址:4.253 vim /etc/rc.local

 ifconfig lo:1 192.168.4.253/32

二、配置分發器4.48

1、綁定VIP地址:4.253 vim /etc/rc.local

ifconfig eth0:1 192.168.4.253/32

2、添加虛擬服務,和realserver

ipvsadm -A -t 192.168.4.253:80 -s rr

ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.46:80 -g

ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.47:80 -g

3、測試:watch -n 1 ipvsadm -Ln --stats,在分發器上查看狀態

 可以看到只有進來的數據,沒有出去的數據

PS:

1、想永久生效,可以寫到配置文件中

vim /etc/sysctl.conf

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

sysctl -p 讀一下,使其生效

2、分發器的配置設置:

ipvsadm -C

ipvsadm -A -t 192.168.4.253:80 -s rr

ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.46:80 -g

ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.47:80 -g

把上面的語句寫進  /etc/rc.local,然後執行下面的語句

echo /etc/rc.local >>~/.bash_profile &&  source /etc/profile  

//讓/etc/rc.local裏面的內容生效,並開機自啓動





























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