一、 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
我這裏沒能出現四個yes,即IPVS use libnl爲no,查了資料以及後面的安裝,發現無影響。如果有知道原因的朋友,麻煩告之一下不出現yes的原因。我所有軟件都已安裝,呵呵。
[root@lvs01 keepalived-1.2.7]# make && make install
安裝完成,執行如下操作:
[root@lvs01 ~]# keepalived --help
並進行下圖相關操作:
如有類似上圖中的輸出,表明系統內核默認支持IPVS模塊。接下來就可以安裝IPVS管理軟件了。
[root@lvs01 ~]# tar zxvf ipvsadm-1.24.tar.gz
[root@lvs01 ~]# cd ipvsadm-1.24
[root@lvs01 ipvsadm-1.24]# make
/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查看軟件安裝的位置
至此,軟件全部安裝完成!
下面要做的工作就是進行配置了...