LVS:
類型:
LVS-NAT: 地址轉換
LVS-DR: 直接路由
LVS-TUN:隧道
NAT:
集羣節點跟director必須在同一個IP網絡中;
RIP通常是私有地址,僅用於各集羣節點間的通信;
director位於client 和 real server之間,並負責處理進出的所有通信;
realserver必須將網關指向dip;
支持端口映射;
realserver可以使用任意OS;
較大規模應用場景中,director易成爲系統瓶頸;
DR:
集羣節點跟director必須在同一個物理網絡中;
RIP可以使用公網地址,實現便捷的遠程管理和監控;
director僅負責入站請求,響應報文則有realserver直接發給客戶端
realserver不能將網站指向DIP;
不支持端口映射;
realserver可以使用大多數的OS;
TUN:
集羣節點可以跨越Internet;
RIP地址必須是公網地址;
director僅負責入站請求,響應報文則有realserver直接發給客戶端
realserver不能將網站指向DIP;
不支持端口映射;
只有支持隧道功能的OS才能用於realserverz
知識回顧:
LB: 負載均衡集羣
HA: 高可用集羣
HP: 高性能集羣
LB:
Hardware:
F5 BIG-IP
Citrix NetScaler
A10
SoftWare:
四層:
LVS
七層:
NGINX
HAPROXY
LVS: Linux Virtual Server
Type:
NAT:
類似DNAT
DR: 直接路由
TUN: 隧道 (異地熱備)
固定調度:
rr: 輪叫,輪詢
wrr: weight,加權
sh: source hash, 源地址hash
dh:destination hash 目標地址hash
動態調度
LC: 最少連接
active*256+inactive
誰小挑誰;
WLC: 加權最少連接
(active*256+inactive)/weight
誰小挑誰;
sed:最短期望延遲
(active+1)*256/6
nq: never queue 永不排隊
LBLC:基於本地的最少連接
dh:
LBLCR:基於本地帶複製功能的最少連接
默認方法: wlc
ipvsadm
管理集羣服務
添加:-A -t|u|f service-address [-s scheduler]
-t: TCP協議的集羣
-u:UDP協議的集羣
service-address: IP:PORT
-f:FirewallMark/FWM;防火牆標記
service-address: Mark Number
修改:-E
刪除:-D -t|u|f service-address
例如 #ipvsadm -A -t 192.168.2.55:80 -s rr
管理集羣服務中的RS
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
-t|u|f service-address: 事先定義好的某集羣服務
-r service-address: 某realserver地址; 在Nat模型中,可使用ip:port實現端口映射;
[-g|i|m] :LVS類型
-g:DR;
-i:TUN;
-m:NAT;
[-w weight] 定義服務器權重;
修改:-e
刪除:-d -t|u|f service-address -r server-address
#ipvsadm -a -t 192.168.2.55:80 -r 192.168.10.8 -m
#ipvsadm -a -t 192.168.2.55:80 -r 192.168.10.9 -m
查看
-L|l
-n: 數字格式顯示IP地址和端口
--stats 統計數據
--rate 速率
--timeout 顯示tcp,tcpfin,和udp的會話超時時間;
-c 顯示當前IPVS連接狀況的
刪除所有集羣服務
-C:清空IPVS規則;
保持規則:
-S
# ipvsadm -S > /path/to/somefile
載入此前的規則
-R
#ipvsadm -R < /path/to/somefile
cat /proc/sys/net/ipv4/ip_forward
出於安全考慮,Linux系統默認是禁止數據包轉發的。所謂轉發即當主機擁有多於一塊的網卡時,其中一塊收到數據包,根據數據包的目的ip地址將包發往本機另一網卡,該網卡根據路由表繼續發送數據包。這通常就是路由器所要實現的功能。
配置Linux系統的ip轉發功能,首先保證硬件連通,然後打開系統的轉發功能
less /proc/sys/net/ipv4/ip_forward,該文件內容爲0,表示禁止數據包轉發,1表示允許,將其修改爲1。可使用命令echo "1" > /proc/sys/net/ipv4/ip_forward 修改文件內容,重啓網絡服務或主機後效果不再。若要其自動執行,可將命令echo "1" > /proc/sys/net/ipv4/ip_forward 寫入腳本/etc/rc.d/rc.local 或者 在/etc/sysconfig/network腳本中添加 FORWARD_IPV4="YES"