一、 安裝LVS軟件
1.安裝前准備工作
操作系統:統一采用Centos4.4版本。
地址規劃,如表1所示:
表1
更詳細的信息如圖2所示:
圖2 LVS DR模式安裝部署結構圖
圖2中的VIP指的是虛擬IP地址,還可以叫做LVS集群的服務IP,在DR、TUN模式中,數據包是直接返回給用戶的,所以,在Director Server上以及集群的每個節點上都需要設置這個地址。此IP在Real Server上一般綁定在回環地址上,例如lo:0,同樣,在Director Server上,虛擬IP綁定在真實的網絡接口設備上,例如eth0:0。
各個Real Server可以是在同一個網段內,也可以是相互獨立的網段,還可以是分布在internet上的多個服務器。
2.安裝操作系統
Centos4.4版本的Linux,內核默認支持LVS功能,為了方便編譯安裝IPVS管理軟件,在安裝操作系統時,建議選擇如下這些安裝包:
桌面環境:xwindows system、GNOME desktop environment。
開發工具:development tools、x software development、gnome software、development、kde software development。
系統安裝完畢,可以通過如下命令檢查kernel是否已經支持LVS的ipvs模塊:
[root@localhost ~]#modprobe -l |grep ipvs
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/ipvs/ip_vs_rr.ko
/lib/modules/2.6.9-42.ELsmp/kernel/net/ipv4/ipvs/ip_vs_sh.ko
如果有類似上面的輸出,表明系統內核已經默認支持了IPVS模塊。接著就可以安裝IPVS管理軟件了。
3.在Director Serve上安裝IPVS管理軟件
IPVS提供的軟件包有源碼方式的也有rpm方式的,這裡介紹下源碼方式安裝IPVS,首先從http://www.linuxvirtualserver.org/software/ipvs.html下載對應版本的ipvs源碼,由於我們這裡采用的操作系統為Centos4.4版本,因此,下載對應的ipvsadm-1.24版本,接著進行安裝:
[root@localhost ~]#tar zxvf ipvsadm-1.24.tar.gz
[root@localhost ~]#cd ipvsadm-1.24
[root@localhost ~]#make
[root@localhost ~]#make install
注意:在make時可能會出現錯誤編譯信息,這是由於編譯程序找不到對應內核的原因,按照如下操作就可以正常編譯:
[root@localhost ~]#ln -s /usr/src/kernels/2.6.9-42.EL-i686/ /usr/src/linux
也可以下載rpm安裝包,通過rpm方式進行安裝:
[root@localhost ~]#rpm –ivh ipvsadm-1.24-6.1.i386.rpm
然後執行:
[root@localhost ~]# ipvsadm --help
如果看到幫助提示,表明IPVS已經成功安裝。
4.ipvsadm的用法
(1)Ipvsadm常用的語法和格式如下:
ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p [timeout]] [-M netmask]
ipvsadm -D -t|u|f virtual-service-address
ipvsadm -C
ipvsadm -R
ipvsadm -S [-n]
ipvsadm -a|e -t|u|f virtual-service-address:port -r real-server-address:port
[-g|i|m] [-w weight]
ipvsadm -d -t|u|f virtual-service-address -r real-server-address
ipvsadm -L|l [options]
ipvsadm -Z [-t|u|f virtual-service-address]
ipvsadm --set tcp tcpfin udp
ipvsadm –h
其中:
virtual-service-address:是指虛擬服務器的IP地址,本文是192.168.60.200
real-service-address:是指Real Server的IP地址,本文是192.168.60.132/144
scheduler:指定調度算法
ipvsadm命令選項詳細含義如表2所示:
表2
命令選項
含義
-A (--add-service) 在內核的虛擬服務器列表中添加一條新的虛擬IP記錄。也就是增加一台新的虛擬服務器。虛擬IP也就是虛擬服務器的IP地址。
-E (--edit-service) 編輯內核虛擬服務器列表中的一條虛擬服務器記錄
-D (--delete-service) 刪除內核虛擬服務器列表中的一條虛擬服務器記錄
-C (--clear) 清除內核虛擬服務器列表中的所有記錄
-R (--restore) 恢復虛擬服務器規則
-S (--save) 保存虛擬服務器規則,輸出為-R 選項可讀的格式
-a (--add-server) 在內核虛擬服務器列表的一條記錄裡添加一條新的Real Server記錄。也就是在一個虛擬服務器中增加一台新的Real Server
-e (--edit-server) 編輯一條虛擬服務器記錄中的某條Real Server記錄
-d (--delete-server) 刪除一條虛擬服務器記錄中的某條Real Server記錄
-L|-l –list 顯示內核中虛擬服務器列表
-Z (--zero) 虛擬服務器列表計數器清零(清空當前的連接數量等)
--set tcp tcpfin udp 設置連接超時值
-t 說明虛擬服務器提供的是tcp服務,此選項後面跟如下格式:
[virtual-service-address:port] or [real-server-ip:port]
-u 說明虛擬服務器提供的是udp服務,此選項後面跟如下格式:
[virtual-service-address:port] or [real-server-ip:port]
-f fwmark 說明是經過iptables標記過的服務類型
-s 此選項後面跟LVS使用的調度算法
有這樣幾個選項: rr|wrr|lc|wlc|lblc|lblcr|dh|sh
默認的調度算法是: wlc
-p [timeout] 在某個Real Server上持續的服務時間。也就是說來自同一個用戶的多次請求,將被同一個Real Server處理。此參數一般用於有動態請求的操作中,timeout 的默認值為300 秒。例如:-p 600,表示持續服務時間為600秒。
-r 指定Real Server的IP地址,此選項後面跟如下格式:
[real-server-ip:port]
-g (--gatewaying) 指定LVS 的工作模式為直接路由模式(此模式是LVS 默認工作模式)
-i (-ipip) 指定LVS 的工作模式為隧道模式
-m (--masquerading) 指定LVS 的工作模式為NAT模式
-w (--weight) weight 指定Real Server的權值
-c (--connection) 顯示LVS目前的連接信息 如:ipvsadm -L -c
-L --timeout 顯示“tcp tcpfin udp”的timeout值,如:ipvsadm -L --timeout
-L --daemon 顯示同步守護進程狀態,例如:ipvsadm -L –daemon
-L --stats 顯示統計信息,例如:ipvsadm -L –stats
-L --rate 顯示速率信息,例如:ipvsadm -L --rate
-L --sort 對虛擬服務器和真實服務器排序輸出,例如:ipvsadm -L --sort
注釋:
在表2中,左邊括弧中的內容為ipvsadm每個選項的長格式表示形式,linux命令選項中,有長格式和短格式,短格式的選項用的比較多,實際應用中可以用括弧中的長格式替代短格式,例如,可以用“ipvsadm --clear”代替“ipvsadm -C”。
(2)舉例
[root@localhost ~]# ipvsadm -A -t 192.168.60.200:80 -s rr -p 600
以上表示在內核的虛擬服務器列表中添加一條192.168.60.200的虛擬服務器記錄,並且指定此虛擬服務器的服務端口為80,然後指定此虛擬服務器的調度策略為輪詢調度,並且在每個real server上的持續服務時間為600秒,即10分鐘。
[root@localhost ~]# ipvsadm -A -t 192.168.60.188:21 -s wlc
以上表示在內核的虛擬服務器列表中又添加了一條192.168.60.188的虛擬服務器,此虛擬服務器的服務端口為21,即FTP服務。使用的調度策略為wlc,即加權最少鏈接算法。
[root@localhost ~]# ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.132:80 –g
[root@localhost ~]# ipvsadm -a -t 192.168.60.200:80 -r 192.168.60.144:80 –g
以上兩條設置表示在虛擬服務器192.168.60.200中添加兩條新的Real Server記錄,兩個Real Server的IP分別為192.168.60.132和192.168.60.144,參數“-g”指定了虛擬服務器的工作模式為直接路由模式,即DR模式。
這樣設置完畢後,當用戶訪問192.168.60.200的80服務時,LVS會根據設置的調度策略和路由模式將請求分配到192.168.60.132以及192.168.60.144的80端口。
本文出自 “技術成就夢想” 博客,請務必保留此出處http://ixdba.blog.51cto.com/2895551/554029