lvs簡介
lvs(linux virtual server),即linux上虛擬的伺服器集群系統。其實lvs就是乙個前端的負載排程器,它在軟體層次上實現了負載均衡,將接收到的請求均衡地轉移至多個不同的伺服器上執行,用較低的成本實現了將一組伺服器構建成高效能、高可用的伺服器集群。
lvs由兩部分組成ipvsadm和ipvs,ipvsadm工作於使用者空間,用於編寫集群服務。ipvs工作於核心空間。ipvsadm定義的集群服務交由ipvs來具體實現。到達director的資料報首先會經過prerouting,而後經過路由發現其目標位址為本地某介面的位址,因此,接著就會將資料報發往input(local_in hook)。此時,正在執行核心中的ipvs(始終監控著local_in hook)程序會發現目標位址是vip的資料報請求的是乙個集群服務,於是,此資料報的本來到達本機(director)目標行程被改變為經由postrouting hook發往realserver。
nat模式全稱是 network address translation,通過網路位址轉換,排程器重寫請求報文的目標位址,根據預設的排程演算法,將請求分派給後端的真實伺服器;真實伺服器的響應報文通過排程器時,報文的源位址被重寫,再返回給客戶,完成整個負載排程過程。
本文演示乙個簡單的示例:lvs的nat模式的配置和測試,該模式下lvs伺服器很可能成為系統效能瓶頸(請求和返回都要經過lvs伺服器),實驗前做好如下準備:
配置環境:
director server:
eth0:10.33.1.129(對外提供服務的ip)
eth1:192.168.126.130
real server:
real server1: eth0: 192.168.126.9
real server2: eth0: 192.168.126.7
網路topology圖如下:
real server1和real server2的閘道器要指向director server的eth1:192.168.126.130,需要注意的是伺服器都要關閉防火牆
director需要做nat和負載排程:
客服端訪問10.33.1.129,director需要做dnat(將目的位址改為real server的ip),將請求分發到real server,
real server處理完成後,請求返回到director,director需要先做snat(將源的位址改為10.33.1.129),然後返回給客戶端。
檢視核心中與ipvs相關功能
需要安裝ipvsadm命令列工具
將director server,real server1,real server2的網路介面卡設定為僅主機模式
開啟real server1,real server2的web服務,並確保確保director server的eth1和real server1,real server2之間可以互相通訊
設定lvs策略
第1行是新增一條新的虛擬ip記錄,同時指定採用輪詢演算法。
第2,3行是在新加虛擬ip記錄中新增兩條新的real server記錄,並且指定lvs的工作模式為nat模式。
-g(gateway):直接路由dr模式
-i(internet):隧道,tun模式
-m(masq):偽裝,nat模式
在nat模式下確保啟用系統的包**功能,從而使系統充當路由器
物理機訪問director,重新整理網頁測試負載均衡效果,可以發現返回的內容由real server1和real server2輪流提供
檢視排程狀況
ipvsadm -l
-n以數字方式檢視集群的資訊
–rate顯示速率
–stats統計資料報近來出去的個數和位元組數
修改lvs演算法為weight round robin
[root@director ~]# ipvsadm -e -t 10.33.1.129:80 -s wrr
[root@director ~]# ipvsadm -e -t 10.33.1.129:80 -r 192.168.126.7 -m -w 3
[root@director ~]# ipvsadm -e -t 10.33.1.129:80 -r 192.168.126.9 -m -w 1
檢視加權輪詢排程演算法的效果,可以發現返回的內容由real server1和real server2輪詢提供比例大致為3:1 LVS配置NAT模式簡單示例
本文乙個簡單的示例演示lvs的nat模式的配置和測試。使用的配置環境如下 director server 192.168.8.4 對外提供服務的ip 192.168.9.4 real server1 192.18.9.5 real server2 192.168.9.6 網路topology圖如下 ...
LVS集群之NAT模式
lvs nat 通過直接路由轉換位址實現虛擬服務 優點是伺服器可以執行任何支援 tcp ip 的作業系統 它只需要乙個 ip 位址配置在排程器上,伺服器組可以用私有的 ip 位址 缺點是它的伸縮能力有限,當伺服器結點數目公升到 20 時,排程器本身有可能成為系統的新瓶頸,因為在 vs nat 中請求...
LVS集群之NAT模式實現
本篇主要講lvs的nat模式,即網路位址翻轉技術實現虛擬伺服器。vs nat 的優點是伺服器可以執行任何支援 tcp ip 的作業系統,它只需要乙個 ip 位址配置在排程器 上,伺服器組可以用私有的 ip 位址。缺點是它的伸縮能力有限,當伺服器結點數目公升到 20 時,排程 器本身有可能成為系統的新...