LVS-NAT模式簡單搭建

LVS-NAT模式簡單搭建

前言

LVS作為一款優秀的負載均衡軟件,一直受到很多企業的青睞,雖然性能比不上價格昂貴的負載均衡硬件,但對於大部分的業務場景,LVS還是能出色地勝任的。

LVS工作在網絡的第四層,內核的tcp/ip棧上,這也決定了它在所有負載均衡軟件中性能是最好的。

LVS主要由兩部分組成,一個是工作在用戶空間的ipvsadm,另一個是工作在內核上的ipvs。ipvsadm主要負載管理集群服務,包括添加、刪除、修改集群服務、對數據包進行監控等,真正起到負載均衡的是ipvs。ipvs主要監聽在INPUT鉤子函數中,一旦發現用戶請求的是集群服務,ipvs會將數據包forward到POSTROUTING的鉤子函數上,然後轉發給後端的realserver.

安裝

LVS的幾個重要角色和術語:

  • 前端調度器(Director):主要負責將用戶的請求轉發到後端的realserver。
  • 後端服務器(realserver):運行用戶服務器的服務器,如httpd,tomcat等。
  • VIP:可以理解為對外的ip,用戶就是根據這個ip訪問集群服務。
  • DIP:一般為Director的內網ip。
  • RIP:一般為realserver的內網ip。

LVS主要的工作模式有:NAT(地址轉換),DR(直接路由),TUN(ip隧道技術)。下面主要簡單搭建下基於NAT模式的LVS集群,暫時不包括高可用功能。

整個資源的分配主要為:

客戶端(windows) ip:192.168.1.104

VIP:192.168.1.108

DIP:192.168.10.10

RIP1:192.168.10.11,運行httpd服務

RIP2:192.168.10.12,運行httpd服務

1、配置好資源

對於Director來說,在vmware中添加多一塊網卡eth1,並在/etc/sysconfig/network-scripts/ifcfg-eth1,配置ip為192.168.10.10

對於realserver來說,同樣是將eth0的ip修改為上述對應的ip。

重啟網卡

 service network restart

2、安裝httpd服務。

為了簡便點,此處直接以rpm方式安裝

分別在192.168.10.11和192.168.10.12中執行httpd的安裝

 yum install -y httpd

設置開機自啟動

 chkconfig httpd on

httpd默認的頁面文件在/var/www/html下。

在192.168.10.11中添加首頁文件

 touch /var/www/html/index.html && echo "192.168.10.11" > /var/www/html/index.html

在192.168.10.12中添加首頁文件

 touch /var/www/html/index.html && echo "192.168.10.12" > /var/www/html/index.html

3、將realserver中的網關指向DIP

由於在nat模式下,進出數據包都要經過director,所以realserver的網關必須要指向director的DIP。

在192.168.10.11中執行:

添加默認的網關

 route add default gw 192.168.10.10

route -n結果如下:

LVS-NAT模式簡單搭建

在192.168.10.12中執行同樣的操作。

4、配置LVS集群服務

首先安裝ipvsadm

yum install -y ipvsadm

配置集群服務

ipvsadm -A -t 192.168.1.108:80 -s rr

此處暫時使用輪詢調度算法

添加realserver

 ipvsadm -a -t 192.168.1.108:80 -r 192.168.10.11 -m
ipvsadm -a -t 192.168.1.108:80 -r 192.168.10.12 -m

打開內核ip_forward功能

 echo "1" > /proc/sys/net/ipv4/ip_forward

至此,整個LVS-NAT集群就簡單搭建完成了。

查看realserver列表:

ipvsadm -L -n

LVS-NAT模式簡單搭建

測試

在瀏覽器上訪問VIP:http://192.168.1.108

LVS-NAT模式簡單搭建

再次刷新

LVS-NAT模式簡單搭建

多次做刷新操作,會看到每次請求都會在兩個realserver中交替訪問。至此,LVS-NAT的簡單搭建就此完成。

總結

LVS-NAT由於進出數據包都經過director,在一些高併發場景下,director容易成為整個集群系統的瓶頸,因此在生產環境中不建議使用此模式,一般都會使用DR模式。另外一個健壯的分佈式集群系統還需要提供高可用HA的能力,常見的ha軟件有keepalive、heartbeat、corosync等,後續有空再逐一討論,喜歡點個關注,謝謝。

LVS-NAT模式簡單搭建

LVS-NAT模式簡單搭建


分享到:


相關文章: