LVS
環境centos6.5
概念:
APR協定:通過IP位址獲得主機的實體位址(MAC位址) 32位IP位址轉換為48位實體位址。
叢集:一組互相獨立的計算機組成一計算機系統,每台獨立計算機都運作自己的程序。
開源群集軟體:lvs,haproxy,nginx,keepallived,heartbeat
硬體:F5,Netscaler,Radware,相當于haproxy的工作模式。
LVS實作排程的IPVS核心層,通過IPVSADM管理,也可以用keepalived管理。
VIP:虛拟IP位址。
RIP:叢集下面節點的真實IP位址。
DIP:負載均衡上面的IP。
CIP:用戶端的發起請求的ip位址。
LVS模式:
1、NAT模式-網絡位址轉換(收費站模式) 請求和傳回都要經過,壓力大。
2、TUN隧道模式
3、DR直接路由模式 #######網際網路公司最常用,響應之後不經過負載均衡,效率高。
4、FULLNAT完全NAT模式
DR直接路由模式原理:
改寫請求封包的目标MAC位址,将請求發給真實伺服器,而真實伺服器将響應後處理結果直接傳回給用戶端。RS和LB必須在同一區域網路。
由于隻進行了mac位址改寫,是以無法改變請求封包的目的端口。dr模式效率高,配置麻煩。通路量不是特别大的公司可以用haproxy和nginx代替。日pv2000W,并發1W一下可以不用。
web服務的RS盡量用外網位址,這樣資料包就直接發給機房網關。

NAT模式:
修改目的位址為RIP,MAC位址不變。RTP的網關必須是:LVS IP。
LB需要配置WAN公網位址。網站通路量大時,LB有較大瓶頸,可以修改端口。80可以轉成8080.
資料包來回都需要經過LB需要打開核心轉發net.ipv4.ip_forward=1
TUN隧道模式:(跟DR很像)
資料in:增加IP頭帶RS(IP可以是公網)。最好RS有一個外網位址。
LVS排程方法:
固定:
1、rr:輪詢,會将請求以此分給RS(解決會話保持問題)
2、wrr:權重輪詢。權重越大,請求越多。
3、wls:最小連接配接數權重
4、dd:根據目的位址排程 一般不用
5、sh:源位址排程 一般不用
搭建環境
lvs 192.168.56.21
web1 192.168.56.20
web2 192.168.56.100
搭建lvs(#改成星号,51cto不支援顯示星号)
yum install -y kernel-devel gcc openssl openssl-devel popt# libnl#
ln -s /usr/src/kernels/2.6.32-696.18.7.el6.x86_64/ /usr/src/linux
cd /usr/local/share
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.26.tar.gz
tar -zxvf ipvsadm-1.26.tar.gz
cd ipvsadm-1.26
make
make install
modprobe ip_vs
lsmod|grep ip_vs
手動配置vip
ifconfig eth0:0 192.168.56.10/24 up
添加一個虛拟主機 rr輪詢 p 20會話保持
ipvsadm -A -t 192.168.56.10:80 -s rr -p 20
添加節點-g DR模式 -i TUN隧道模式 -m nat模式
ipvsadm -a -t 192.168.56.10:80 -r 192.168.56.20:80 -g -w 1
ipvsadm -a -t 192.168.56.10:80 -r 192.168.56.100:80 -g -w 1
檢視
ipvsadm -L -n
删除服務
ipvsadm -D -t 192.168.56.10:80
ipvsadm -d -t 192.168.56.10:80 -r 192.168.56.20:80
ipvsadm -d -t 192.168.56.10:80 -r 192.168.56.100:80
其他節點綁定vip
ifconfig lo:0 192.168.56.10/32 up
抑制ARP
echo 1 >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/lo/arp_announce
echo 1 >/proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 >/proc/sys/net/ipv4/conf/all/arp_announce