1. 程式人生 > >lvs集群

lvs集群

lvs lvs-nat lvs-dr

本文章主要內容是: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裏面的內容生效,並開機自啟動





























lvs集群