lvs+keepalive構建負載均衡及服務器集羣之一羣集軟件的說明與安裝

一、 LVS集羣的組成

利用LVS架設的服務器集羣系統由3個部分組成:最前端的是負載均衡層這裏用(HA Load Balance表示),中間是服務器羣組層(用Server Array表示),底端是數據共享存儲層(用Shared Storage表示)。

二、LVS集羣的特點

LVS的IP負載均衡技術是通過VIP模塊來實現的。IPVS是LVS集羣系統的核心軟件,它主要作用是:安裝在Director Server上,同時在Director Server上虛擬出一個IP地址,用戶必須通過這個虛擬IP地址訪問服務器。這個虛擬IP一般稱爲LVS的VIP,即Virtual IP。訪問的請求首先經過VIP到達負載調度器,然後由負載調度器從Real Server列表中選取一個服務節點響應用戶的請求。

IPVS實現負載均衡的方法有三種:

VS/NAT:即Virtual Server via Network Address Translation,也就是網絡地址翻譯技術實現虛擬服務器。

VS/TUN:即Virtual Server via IP Tunneling,也就是通過IP隧道技術實現虛擬服務器。

VS/DR:即Virtual Server via Direct Routing,也就是且直接路由技術實現虛擬服務器。 

DR是這3種負載調度方式中性能最好的,但是要求Director Server與Real Server必須由一塊網卡連在同一物理網段上。

負載高度算法

下面列舉最常用的4種調度算法:

輪叫調度(Round Robin)、加權輪叫調度(Weighted Round Robin)、最少連接高度(Least Connection)、加權最少連接調度(Weighted Least Coonection)。

三、適用環境

目前LVS僅支持Linux和FreeBSD系統作爲前端Director Server,但是支持大多數的TCP和UDP協議。支持TCP協議的應用有:HTTP、HTTPS、FTP、SMTP、POP3、IMAP4、PROXY、LDAP和SSMTP等;支持UDP協議應用有:DNS、NTP、ICP、視頻和音頻流播放協議等。

LVS對Real Server的操作系統沒有任何限制,Real Server可運行在任何支持TCP/IP的操作系統上,包括Linux,各種UNIX,Mac OS和Windows等。

雖然Director Server僅完成用戶請求的分發處理,負載並不是很大,但是對於一個健壯的系統來說,單點故障是絕對不允許的。要避免這種單點故障,最實用、最簡單的辦法就是對Director Server進行高可用集羣,常見的方法就是爲Director Server做一個雙機熱備:正常狀態下主Director Server工作,備用Director Server監控主Director Server的狀態,當主Director Server出現異常或故障時,備用Director Server馬上接過主Director Server的工作,負責對用戶請求進行分發處理。這樣就避免了一臺Director Server單點故障問題,保障了負載均衡端持續地提供服務。如本文開頭的圖所示,此圖即爲高可用的LVS負載均衡集羣的完美體現。

說明:上圖中的共享磁盤,使用的是上一篇博文模擬出來的共享磁盤!

MASTER Director Server:172.30.8.81

BACKUP Director Server:172.30.8.82

Virtual IP:172.30.8.83

Real Server:172.30.8.84、172.30.8.85

Private IP:10.10.10.1、10.10.10.2

操作系統CentOS 5.8 x32

Private IP需要Director Server再各加一塊網卡,配置上私有IP地址,然後再在/etc/hosts裏面說明一下即可,這裏不再贅述。

環境已經準備就緒,下面開始實際安裝與配置。

先下載keepalived-1.2.7.tar.gz和ipvsadm-1.24.tar.gz

先安裝keepalived

在安裝前需要安裝kernel-devel 、libnl-devel、popt-devel

[root@lvs01 ~]# tar zxvf keepalived-1.2.7.tar.gz

[root@lvs01 ~]#cd keepalived-1.2.7

[root@lvs01 keepalived-1.2.7]# ./configure 
配置時保證出現下面畫面,如下圖所示:

我這裏沒能出現四個yes,即IPVS use libnl爲no,查了資料以及後面的安裝,發現無影響。如果有知道原因的朋友,麻煩告之一下不出現yes的原因。我所有軟件都已安裝,呵呵。

[root@lvs01 keepalived-1.2.7]# make && make install

安裝完成,執行如下操作:

[root@lvs01 ~]# keepalived --help

這個命令會列出keepalived的各種使用方法,同時也表明keepalived已安裝成功。
通過 find / -name keepalived查看keepalived的位置

並進行下圖相關操作:

安裝LVS軟件
配置與檢查安裝環境
CentOS 5.8,該版本內核默認支持LVS功能。爲了方便編譯安裝IPVS管理軟件,在安裝操作系統時,建議選擇安裝如下這些安裝包:
桌面環境:xwindows system 、 GNOME desktop environment
開發工具:development tools、x software development、gnome software、development、kde software development
系統安裝完畢後,可以通過如下圖中的命令檢查kernel是否已經支持LVS的IPVS模塊。

如有類似上圖中的輸出,表明系統內核默認支持IPVS模塊。接下來就可以安裝IPVS管理軟件了。

[root@lvs01 ~]# tar zxvf ipvsadm-1.24.tar.gz 

[root@lvs01 ~]# cd ipvsadm-1.24

[root@lvs01 ipvsadm-1.24]# make

在執行make時可能會出下圖中所示的錯誤:

這是由於編譯程序找不到對應的內核造成的。因此在安裝ipvsadm軟件之前應該做一下內核比對

/usr/src/kernels/下面的內核版本要和linux所使用的內核版本一樣,然後做個鏈接

#ln -s /usr/src/kernels/2.6.18-308.el5-i686 /usr/src/linux

接着

[root@lvs01 ipvsadm-1.24]# make

[root@lvs01 ipvsadm-1.24]# make install

有的linux版本可能不需要做鏈接,這個自己要注意!

當然爲了省事,你可以用yum方式在線安裝

#yum install ipvsadm

然後執行#ipvsadm --help

如果看到幫助提示,表明IPVS已安裝成功。

當然可以使用#find / -name ipvsadm查看軟件安裝的位置

至此,軟件全部安裝完成!

下面要做的工作就是進行配置了...

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