環境:
在vm裡開三個虛擬機器
負載排程器:10.0.3.102
真實伺服器1:10.0.3.103
真實伺服器2:10.0.3.104
虛擬ip: 10.0.3.99 (用來飄移)
負載排程器上
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.0 #增加虛擬ip
route add -host 10.0.3.99 dev eth0:0 #新增路由?這個不是很清楚
yum install ipvsadm* -y #安裝ipvsamd*
ipvsadm -c #清空虛擬伺服器列表 ,執行過一次後,後面這三條命令都要重新執行
ipvsadm -at 10.0.3.99:80 -s rr #增加一台虛擬伺服器,排程演算法為rr輪詢
ipvsadm -at 10.0.3.99:80 -r 10.0.3.103:80 -g #在虛擬伺服器裡增加一台真實伺服器
ipvsadm -at 10.0.3.99:80 -r 10.0.3.104:80 -g
ipvsadm -l #檢視
service iptables stop #關閉防火牆
vi /etc/selinux/config #關閉selinux
真實伺服器a
ifconfig eth0:0 10.0.3.99 netmask 255.255.255.255
route add -host 10.0.3.99 dev eth0:0
echo 「1」 > /proc/sys/net/ipv4/conf/eth0/arp_ignore #後面有解釋
真實伺服器b
效果 [root@localhost ~]# curl 10.0.3.99
this is 103
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 104
[root@localhost ~]# curl 10.0.3.99
this is 103
注意,這個用瀏覽器訪問時,可能需要多重新整理幾次,或另開乙個視窗,亦或另開乙個瀏覽器,才會出現ip飄移到另一台伺服器ip的情況,顯示另乙個伺服器對應的web頁面
arp_ignore:定義對目標位址為本地ip的arp詢問不同的應答模式0
0 - (預設值): 回應任何網路介面上對任何本地ip位址的arp查詢請求
1 - 只回答目標ip位址是來訪網路介面本地位址的arp查詢請求
2 -只回答目標ip位址是來訪網路介面本地位址的arp查詢請求,且來訪ip必須在該網路介面的子網段內
arp_announce:對網路介面上,本地ip位址的發出的,arp回應,作出相應級別的限制: 確定不同程度的限制,宣布對來自本地源ip位址發出arp請求的介面
0 - (預設) 在任意網路介面(eth0,eth1,lo)上的任何本地位址
1 -盡量避免不在該網路界面子網段的本地位址做出arp回應.
當發起arp請求的源ip位址是被設定應該經由路由達到此網路介面的時候很有用.此時會檢查來訪ip是否為所有介面上的子網段內ip之一.如果改來訪ip不屬於各個網路介面上的子網段內,那麼將採用級別2的方式來進行處理.
2 -
對查詢目標使用最適當的本地位址.在此模式下將忽略這個ip資料報的源位址並嘗試選擇與能與該位址通訊的本地位址.首要是選擇所有的網路介面的子網中外出訪問子網中包含該目標ip位址的本地位址.
如果沒有合適的位址被發現,將選擇當前的傳送網路介面或其他的有可能接受到該arp回應的網路介面來進行傳送.
負載均衡 lvs
常用的負載均衡開源軟體有nginx lvs haproxy,商業的硬體負載均衡裝置f5 netscale。負載均衡的架構和原理很簡單,就是當使用者的請求過來時,會直接分發到director server上,然後它把使用者的請求根據設定好的排程演算法,智慧型均衡地分發到後端真正伺服器上。為了避免不同機...
LVS負載均衡
一 lvs簡介 lvs linux virtual server 即linux虛擬伺服器,是由章文嵩博士主導的開源負載均衡專案,目前lvs已經被整合到linux核心模組中。該專案在linux核心中實現了基於ip的資料請求負載均衡排程方案,其體系結構如圖1所示,終端網際網路使用者從外部訪問公司的外部負...
LVS負載均衡
應用層7 nginx 軟體 表示層6 會話層5 傳輸層4 lvs 核心 網路層3 鏈路層2 物理層1 整個網際網路建立在下一跳的模式下 端點間tcp傳輸過程中 解析資料報需要成本 學習機制 路由器 三層,只關心ip和路由表 lvs伺服器 四層,只關心port,狀態 nginx 七層,關心socket...