LVS/NAT實現

 一、LVS簡單介紹

LVSLinux Virtual Server)其實就是針對高可伸縮、高可用網絡服務的需求,給出了基於IP層和基於內容請求分發的負載平衡調度解決方法,並在Linux內核中實現了這些方法,將一組服務器構成一個實現可伸縮的、高可用網絡服務的虛擬服務器。所以,lvs需要內核有ipvs支持,linux-2.4.23以後ipvs都編譯到內核裏,如果你是之前版本確保你的內核支持ipvs後,只需安裝ipvsadm就可以把一臺服務器配置成負載調度器(Load Balancer)。對外提供服務的IP,也就是我們訪問的IP稱做VIP。調度器LB的任務主要是分發請求,真正處理的是真實服務器(Real Server)

二、LVS三種模式介紹
網絡地址傳輸模式 、直接路由模式、ip遂道模式   
 

網絡地址傳輸模式::LB收到用戶請求包後,LB將請求包中虛擬服務器的IP地址轉換爲某個選定RSIP地址,轉發給RSRS將應答包發給LBLB將應答包中RSIP轉爲虛擬服務器的IP地址,回送給用戶。

lvs-nat模型特徵

1、所有realserverdirector在同一個子網中
2rip真實服務器ip地址爲私有地址,僅用於集羣節點之間使
3、客戶端的請求,響應都要經過director
4ripserver 網關指向dip
5、可以實現端口映射 80
6realserver可以是任何操作系統
7dirctor可能成爲系統瓶頸
 
 

DR(Direct Routing)直接路由模式。LB收到請求包後,將請求包中目標MAC地址轉換爲某個選定RSMAC地址後將包轉發出去,RS收到請求包後 ,可直接將應答內容傳給用戶。此時要求LB和所有RS都必須在一個物理段內,LBRS羣共享一個虛擬IP

lvs-dr模型特徵 (常用)

 
1、集羣節點必須在一個物理網絡上(mac)
2rip可以使用公網地址
3director處理入站請求,
4realserver網關不指向director
5、不支持端口映射
6、大多數操作系統支持realservers
7dr dirctor nat director性能優越
 

IP隧道 (IP Tunneling)模式。LB收到用戶請求包後,根據IP隧道協議封裝該包,然後傳給某個選定的RSRS解出請求信息,直接將應答內容傳給用戶。此時要求RSLB都要支持IP隧道協議。

 
 

lvs-tun模型特徵

集羣節點可跨互聯網
 
1directorrealserver不需要在一個網絡中
2rip一定不是私有地址
3director 僅處理入站請求
4realserver網關不能指向director ip
5、不支持端口映射
6、僅有支持ip遂道功能操作系統才能用在realserver
 

三、lvs scheduling methods調度算法有10

靜態調度4個輪叫RR

加權輪叫WRR
目標地址hash  DH
源地地址hash  SH

動態調度6

最少鏈接(Least Connections
加權最少鏈接(Weighted Least ConnectionsWLC linux默認的調度
shortest expected delay   SED
never queue  NQ 

基於本地的最少鏈接(Locality-Based Least ConnectionsDHLBLC

帶複製的基於本地最少鏈接(Locality-Based Least Connections with ReplicationLBLCR

四、LVS/NAT實現過程
1、實驗拓樸圖

 

172.16.23.1LVS與互聯網的虛擬server ip地址,簡稱爲VIP

192.168.23.1LVS與內部真實服務器通信的ip地址,簡稱爲DIP

192.168.23.2192.168.23.3就是LVS通過一些調度算法,選擇服務器響應的真實服務器地址

LVS有兩塊網卡,一塊是橋接方式即172.16.23.1,通與互聯網通信。另一塊網卡僅主機方式,192.168.23.1web1,web2都是僅主機方式。且xp裏面的net1虛擬網卡設置ip192.168.23.9
 
2web1安裝httpd,並使它能提供服務

   yum -y install httpd

  echo “server1” > /var/www/html/index.html

  service httpd start

 設置ip地址爲192.168.23.2

 Elinks  http://192.168.23.2/index.html看能否正常訪問
 Web2的配置與上類似 ,這裏不多數
3LVS服務上設置

(1)sysctl -w net.ipv4.ip_forward=1  向內核傳遞參數開啓ip轉發功能,使立即生效

cat /proc/sys/net/ipv4/ip_forward 查看確保爲1

(2)、安裝ipvsadm
grep -i 'vs' /boot/config-2.6.18-164.el5
如果是CONFLIG_IP_VS_PROTO_TCP=y 則說明支持ipvs
(3)安裝ipvsadm,可從網上下載
這裏用本地yum源安裝,yum源指向爲Cluster
yum install ipvsadm
安裝後可用rpm –ql ipvsadm 看生成那些文件及工具

4)、用ipvsadm設置規則

ipvsadm -A -t 172.16.23.1:80 -s rr   //這裏定義一個集羣服務 –s指調度算法爲rr

ipvsadm -a -t 172.16.23.1:80 -r 192.16.23.2 –m   //向集羣服務添加RS  -mnat方式

ipvsadm -a -t 172.16.23.1:80 -r 192.16.23.3 –m   //向集羣服務添加RS  -mnat方式

可能這些命令你不太熟悉,下面將詳細介紹。
ipvsadm –L –n 查看你定義的規則是否符合你的要求

53.web1web2上設置默認網關指向DIP的地址

  route add default gw 192.168.23.1
         ping 172.16.23.1  確保能ping

6)、測試是否成功

ab -c 10  -n 1000 http://172.16.23.1/index.html ab命令做測試
watch -n1 'ipvsadm -L -n' 每秒刷新一次來查看變化

xp操作系統打開瀏覽器 http://172.16.23.1/index.html
刷新網頁將輪詢出現web1,web2頁面,說明成功!
 

7ipvsadm命令詳細介紹

     1.定義集羣服務
語法:
    ipvsadm -A|-E -t|-u VIPport -s scheduler   -s指調度算法

ipvsadm -D -t|-u VIP:port
      -A  在虛擬服務器表中添加新的虛擬服務器記錄
      -E  編輯內核虛擬服務器表中虛擬服務器記錄。
      -D  刪除虛擬服務器表中虛擬服務器記錄。
      -L 查看
      -t|-u 代表tcpudp服務

VIP指虛擬服務器ip地址,即LVSinternet通信的網卡地址
      2. 真實服務器的規則定義
           ipvsadm -a|e -t|u VIP:port -r REALSERVER -g|-i|-m [-w weight]
      ipvsadm -d -t|-u VIP:port -r REALSERVER
       -a 在虛擬服務器表的添加一條新的真實服務器
       -e 編輯虛擬服務器記錄中真實服務器記錄
       -d刪除虛擬服務器記錄的真實服務器記錄
       -r 提供服務響應的真實服務器
       -g LVS 的工作模式爲直接路由模式
       -i LVS 的工作模式爲隧道模式
       -m LVS 的工作模式爲NAT 模式
           -z 清空計數器
       -n 數字的方式來顯示地址
        --stats   狀態信息
        --rate    每秒速率

添加或修改集羣服務:ipvsadm -A|E -t|u|f VIP:port -s 調度算法
刪除一個集羣服務:  ipvsadm -D -t|u|f VIP:port

添加或者修改REALSERVER:ipvsadm -a|e -t|u|f VIP:port -r REALSERVER[:port] -g|-i|-m [-w 權重]

刪除一個REALSERVER:    ipvsadm -d -t|u|f VIP:port -r REALSERVER[:port]

 
 
五、課後知識補充 VMware三種網絡模式區別 bridged nat host-only
VMware虛擬機技術,虛擬機技術在最近的幾年中得到了廣泛的發展,一些大型網絡服務商都開始採用虛擬機技術,不僅節省了投資成本,更節約了能源的消耗。提到VMware大家就想起了虛擬機技術,虛擬機技術在最近的幾年中得到了廣泛的發展,一些大型網絡服務商都開始採用虛擬機技術,不僅節省了投資成本,更節約了能源的消耗。
網絡模式
我們首先說一下VMware的幾個虛擬設備
VMnet0:用於虛擬橋接網絡下的虛擬交換機
VMnet1:用於虛擬Host-Only網絡下的虛擬交換機
VMnet8:用於虛擬NAT網絡下的虛擬交換機

VMware Network Adepter VMnet1Host用於與Host-Only虛擬網絡進行通信的虛擬網卡

VMware Network Adepter VMnet8Host用於與NAT虛擬網絡進行通信的虛擬網卡

 
 

1橋接網絡(Bridged Networking

橋接網絡是指本地物理網卡和虛擬網卡通過VMnet0虛擬交換機進行橋接,物理網卡和虛擬網卡在拓撲圖上處於同等地位(虛擬網卡既不是Adepter VMnet1也不是Adepter VMnet8)。那麼物理網卡和虛擬網卡就相當於處於同一個網段,虛擬交換機就相當於一臺現實網絡中的交換機。所以兩個網卡的IP地址也要設置爲同一網段。

2NAT模式

NAT網絡中,會用到VMware Network Adepter VMnet8虛擬網卡,主機上的VMware Network Adepter VMnet8虛擬網卡被直接連接到VMnet8虛擬交換機上與虛擬網卡進行通信。

NAT網絡模式

VMware Network Adepter VMnet8虛擬網卡的作用僅限於和VMnet8網段進行通信,它不給VMnet8網段提供路由功能,所以虛擬機虛擬一個NAT服務器,使虛擬網卡可以連接到Internet。在這種情況下,我們就可以使用端口映射功能,讓訪問主機80端口的請求映射到虛擬機的80端口上。

VMware Network Adepter VMnet8虛擬網卡的IP地址是在安裝VMware時由系統指定生成的,我們不要修改這個數值,否則會使主機和虛擬機無法通信。

3Host-Only模式

Host-Only模式下,虛擬網絡是一個全封閉的網絡,它唯一能夠訪問的就是主機。其實Host-Only網絡和NAT網絡很相似,不同的地方就是Host-Only網絡沒有NAT服務,所以虛擬網絡不能連接到Internet。主機和虛擬機之間的通信是通過VMware Network Adepter VMnet1虛擬網卡來實現的。

 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章