LVS的工作原理認識
一、LVS 簡介及工作模式
1. LVS:Linux Virtaul Server,該軟件的功能是實現LB(load balance)
2. 三種工作模式的使用范圍
1)NAT模式(NAT)
LVS 服務器同時充當一臺NAT 網關,擁有公有IP ,同時負責將針對此公共IP 的請求依據算法將請求轉發給LAN 中的某臺真實服務器(node) ,node 處理完成請求后將結果返回至LVS Server, 在由LVS Server 將結果返回給用戶。可以將內部網絡隱藏
2)IP隧道模式(TUN)
可以實現讓集群中的節點處于不同網絡段
3)直連路由模式(DR)
當參與集群的計算機和作為控制管理的計算機在同一個網段時可以使用此種方法。控制管理的計算機接收到請求包時直接送到參與集群的node上。當node 處理完請求后將直接把結果返還至用戶而不通過LVS Server 返還。DR的優勢在于速度快、開銷少。
NAT 方式適用于在同一個LAN中實現小型LB
TUN 方式適用于node部分在Internet上
DR 方式使用與在同一個LAN中實現較為大型LB
二、LVS 的調度算法
1.算法:將客戶端的請求按照不同的算法轉發給web服務器
2.算法的種類
1)rr:輪詢 rr 算法就是將外部請求順序輪流分配到集群中的node 上,但不考慮每臺node 的負載情況。
2)wrr:加權輪詢 wrr 算法在rr 算法的基礎上會考察每臺node的負載情況,并嘗試讓負較輕的node 承擔更多請求。
3)lc:最少連接 算法可以讓LVS 嘗試把新的請求交給當前連接數最少的node ,直到此node 連接數不再屬于最少標準
4)wlc:加權最少連接 wlc 算法也由權重的干預。LVS 會根據每臺node的權重并綜合連接數控制轉發行為
5)lblc:局部最少連接 算法會加上針對源請求IP地址的路由估算,并嘗試把請求發送到與源請求IP路由最近的node 上。此種方法一般用于遠程或者是大規模的集群組
6)lblcr:帶有復制的局部最少連接算法 lblcr 算法是在lblc 算法的基礎上增加了一個node 列表,先依據lblc 算法計算出與源請求IP地址最近的一組node ,然后在決定把請求發送到最近一組中的最近的一臺node 。若此node沒有超載則將請求轉發給這臺node, 如果超載則依據”最少連接”原則找到最少連接的node 并將此node 加入集群組中。并將請求轉給此node
7)dh:目標地址散列算法 相當于隨機
8)sh:原地址散列算法 相當于隨機
三、ipvsadm語法規則、
ipvsadm -C:清空kernel中的lvs列表(清空虛擬主機及轉發記錄)
ipvsadm -A -t 虛擬主機IP:80 -s 算法 :聲明一個虛擬主機
ipvsadm -a -t 虛擬主機IP:80 -r 接受連接的真實服務器IP:80 lvs的模式 -w 權重值2.三種模式
-i TUN模式 -g DR模式 -m NAT模式
浙公網安備 33010602011771號