一、隱藏VIP方法:對外隱藏,對內可見
1、Kernel parameter
- 目標mac地址爲全F,交換機觸發廣播
- /proc/sys/net/ipv4/conf/*IF*/
- arp_ignore:定義接受到ARP請求時的響應級別
0(默認):只要本地配置的有相應地址,就給予響應
1:僅在請求的目標(mac)地址配置請求到達的接口上的時候,纔給予響應。
- arp_announce:定義將自己地址向外通告時的通告級別
0(默認):將本地任何接口上的任何地址向外通告
1:試圖僅向目標網絡通告與其網絡匹配的地址
2:僅向與本地接口上地址匹配的網絡進行通
2、名詞解析
LVS(Linux Virtual Server):Linux虛擬服務器,是一個虛擬的服務器集羣系統。
ipvs:嵌入到linux內核,是內核的一個模塊
ipvsadm:ipvs的管理應用程序
3、LVS類型
- NAT:地址轉換
- DR:直接路由
- TUN:隧道
4、LVS調度方法
四種靜態:
- rr(輪詢)
- wrr(加權)
- dh
- sh
七種動態:
- lc(最少連接)
- wlc(加權最少連接 - 默認):偷看數據包傳輸控制層的Flag標誌,來計算服務器的連接數。
- sed(最短期望延遲)
- nq(never queue)
- LBLC(基於本地的最少連接)
- DH
- LBLCR(基於本地的帶複製功能的最少連接)
二、監控多個端口號
1、安裝ipvs的管理應用程序:ipvsadm
yum install ipvsadm -y
2、LVS收到什麼包時觸發負載的設置
添加: -A -t|u|f service-address [-s scheduler]
- -A:追加監控包的規則
- -t:TCP協議的集羣
- -u:UDP協議的集羣
service-address IP:PORT
- -f:FWM - 防火牆標記
service-address:Mark Number
- -s:調度算法
修改:-E
刪除:-D -t|u|f service-address
同一個LVS可以對多個端口進行負載:
ipvsadm -A -t 192.168.217.100:80 -s rr
ipvsadm -A -t 192.168.9.15:8080 -s rr
3、觸發負載後,給那些負載的設置
添加:-a -t|u|f service-address -r server-address [-g|i|m] [-w weight]
- -t|u|f service-address:事先定義好的某集羣服務
- -r server-address:某RS的地址,在NAT模型中,可使用IP:PORT實現端口映射
- -g:DR(LVS類型)
- -i:TUN(LVS類型)
- -m:NAT(LVS類型)
- -w weight:定義服務器權重
修改:-e
刪除:-d -t|u|f service-address -r server-address
ipvsadm -a -t 192.168.217.100:80 -r 192.168.217.12 -g
ipvsadm -a -t 192.168.217.100:80 -r 192.168.217.13 -g
查看
- -L|l
- --n:數字格式顯示主機地址和端口
- --stats:統計數據
- --rate:速率
- --timeout:顯示tcp、tcpfin和udp的會話超時時長
- --c:顯示當前ipvs的連接狀況(LVS負載的記錄)
刪除所有集羣服務
- -C:清空ipvs規則
保存規則
- -S
ipvsadm -S > /path/to/somefile
載入此前的規則
- -R
ipvsadm -R < /path/form/somefile