Linux集群服務(wù)LVS概述與安裝配置詳解
原創(chuàng)【51CTO獨(dú)家特稿】LVS項(xiàng)目從成立到現(xiàn)在為止,受到不少關(guān)注,LVS集群系統(tǒng)已被應(yīng)用于很多重負(fù)載的站點(diǎn)。到目前為止,該系統(tǒng)已在美、英、德、澳等國的幾十個(gè)站點(diǎn)上正式使用。目前,一些大型LVS應(yīng)用實(shí)例如下:
- 英國國家JANET Cache Service(wwwcache.ja.net)是為英國150所以上的大學(xué)提供Web Cache服務(wù)。他們用28個(gè)結(jié)點(diǎn)的LVS集群代替了原有現(xiàn)50多臺(tái)相互獨(dú)立的Cache服務(wù)器,用他們的話說現(xiàn)在速度就跟夏天一樣,因?yàn)橄奶焓欠偶倨陂g沒有很多人使用網(wǎng)絡(luò)。
- Linux的門戶站點(diǎn)(www.linux.com)用LVS將很多臺(tái)VA Linux SMP服務(wù)器組成高性能的WEB服務(wù),已使用將近一年。
- SourceForge(sourceforge.net)是在全球范圍內(nèi)為開發(fā)源碼項(xiàng)目提供WEB、FTP、Mailing List和CVS等服務(wù),他們也使用LVS將負(fù)載調(diào)度到十幾臺(tái)機(jī)器上。
- 世界上最大的PC制造商之一采用了兩個(gè)LVS集群系統(tǒng),一個(gè)在美洲,一個(gè)在歐洲,用于網(wǎng)上直銷系統(tǒng)。
- 以RealPlayer提供音頻視頻服務(wù)而聞名的Real公司(www.real.com)使用由20臺(tái)服務(wù)器組成的LVS集群,為其全球用戶提供音頻視頻服務(wù)。在2000年3月時(shí),整個(gè)集群系統(tǒng)已收到平均每秒20,000個(gè)連接的請(qǐng)求流。
- NetWalk(www.netwalk.com)用多臺(tái)服務(wù)器構(gòu)造LVS系統(tǒng),提供1024個(gè)虛擬服務(wù),其中本項(xiàng)目的一個(gè)美國鏡像站點(diǎn)(www.us.linuxvirtualserver.org)。
- RedHat(www.redhat.com)從其6.1發(fā)行版起已經(jīng)包含LVS代碼,他們開發(fā)了一個(gè)LVS集群管理工具叫Piranha,用于控制LVS集群,并提供了一個(gè)圖形化的配置界面。
- VA Linux(www.valinux.com)向客戶提供基于LVS的服務(wù)器集群系統(tǒng),并且提供相關(guān)的服務(wù)和支持。
安裝LVS
安裝LVS和配置LVS的工作比較繁雜,讀者在配置的過程中需要非常細(xì)心和耐心。在本節(jié)我們將對(duì)其進(jìn)行詳細(xì)地介紹。主要包括如下幾個(gè)核心步驟:
1.獲取支持LVS的內(nèi)核源代碼
如果讀者需要使用LVS,需要下載2.4.23以后版本的內(nèi)核源代碼。下載地址為http://www.kerner.org。目前主流的Linux內(nèi)核已經(jīng)支持LVS,只需要直接使用,不需要進(jìn)行內(nèi)核的下載和更新工作。
2.用戶配置工具ipvsadm
該軟件的下載地址為:http://www.linuxvirtualserver.org/software/ipvs.html。
3.調(diào)整內(nèi)核配置選項(xiàng)
讀者在內(nèi)核配置時(shí)應(yīng)該對(duì)下列必選項(xiàng)(用*號(hào)表示)進(jìn)行檢查,如果某些選項(xiàng)的設(shè)置不正確,將有可能影響LVS的正常工作和使用。在查看這些選項(xiàng)之前,用戶需要使用make menuconfig命令,進(jìn)入Networking options選項(xiàng)進(jìn)行查看:
Networking options ---> <*> Packet socket <*> Netlink device emulation [*] TCP/IP networking [*] IP: advanced router [*] Network packet filtering (replaces ipchains) IP: Netfilter Configuration ---> <*> Connection tracking (required for masq/NAT) <*> IP tables support (required for filtering/masq/NAT) <*> Full NAT <*> MASQUERADE target support IP: Virtual Server Configuration ---> <*> virtual server support (EXPERIMENTAL) <M> IPVS connection table size (the Nth power of 2)--- IPVS scheduler <M> round-robin scheduling <M> weighted round-robin scheduling <M> least-connection scheduling <M> weighted least-connection scheduling <M> locality-based least-connection scheduling <M> locality-based least-connection with replication scheduling <M> destination hashing scheduling <M> shortest expected delay scheduling <M> never queue scheduling
#p#
配置和使用LVS
在安裝好LVS之后,就可以配置和使用LVS了,在本節(jié)我們將以一個(gè)具體的例子來對(duì)其進(jìn)行講解。圖2為一個(gè)采用LVS系統(tǒng)的實(shí)際網(wǎng)絡(luò)拓?fù)鋱D。它基于NAT機(jī)制,具體的配置如下:
一臺(tái)對(duì)外服務(wù)的超級(jí)服務(wù)器:它部署了LVS,也稱為balancer或者director,主要功能為負(fù)載均衡和任務(wù)調(diào)度,其外部IP地址為:210.77.132.8,內(nèi)部IP地址為:172.168.10.8。外部用戶可以通過路由器(IP地址為:210.77.132.1)訪問它;
兩臺(tái)內(nèi)部的服務(wù)器:它們?yōu)閷?shí)際的工作機(jī)器,通過前述的服務(wù)器對(duì)其進(jìn)行調(diào)度。一臺(tái)為RS1,其內(nèi)部IP地址為:172.168.10.9;另一臺(tái)為RS2,其內(nèi)部IP地址為:172.168.10.10。
圖 采用LVS系統(tǒng)的實(shí)際網(wǎng)絡(luò)拓?fù)鋱D
根據(jù)上述的網(wǎng)路配置和拓?fù)?,?duì)LVS的配置如下:
1.配置LVS的超級(jí)服務(wù)器(稱為load balancer或者director)
運(yùn)行如下命令:
//配置重定向
#echo "1" >/proc/sys/net/ipv4/ip_forward
#echo "0" >/proc/sys/net/ipv4/conf/all/send_redirects #echo "0" >/proc/sys/net/ipv4/conf/default/send_redirects #echo "0" >/proc/sys/net/ipv4/conf/eth0/send_redirects #echo "0" >/proc/sys/net/ipv4/conf/eth1/send_redirects //清除ipvsadm表 #/sbin/ipvsadm -C //使用ipvsadm安裝LVS服務(wù) #add http to VIP with rr scheduling #/sbin/ipvsadm -A -t 210.77.132.8:80 -s rr //增加第一臺(tái)內(nèi)部服務(wù)器RS1 #forward http to realserver 172.168.10.9 using LVS-NAT (-m), with weight=1 /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.9:80 -m -w 1 增加第二臺(tái)內(nèi)部服務(wù)器RS2 #forward http to realserver 172.168.10.10 using LVS-NAT (-m), with weight=1 /sbin/ipvsadm -a -t 210.77.132.8:80 -r 172.168.10.10:80 -m -w 1
2.配置LVS中的內(nèi)部服務(wù)器
在172.168.10.9(RS1)和172.168.10.9(RS2)上分別將其網(wǎng)關(guān)設(shè)置為172.168.10.8,并分別啟動(dòng)apache服務(wù)。在客戶端使用瀏覽器多次訪問:http://210.77.132.8,然后再210.77.132.8上運(yùn)行ipvsadm命令,應(yīng)該有類似下面的輸出:
IP Virtual Server version 1.0.12 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 210.77.132.8:http rr -> 172.168.10.9:http Masq 1 0 33 -> 172.168.10.10:http Masq 1 0 33
從上面的結(jié)果可以看出,我們配置的LVS服務(wù)器已經(jīng)成功運(yùn)行。
【編輯推薦】