成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓
當前位置:工程項目OA系統(tǒng) > 泛普各地 > 重慶OA系統(tǒng) > 重慶OA信息化
網絡實戰(zhàn):LVS軟件實現(xiàn)Linux集群
本文介紹了Linux下的cluster軟件LVS,并舉例介紹一個Linux下的cluster(集群)的安裝和實現(xiàn)的詳細過程。
在各種網絡服務普遍應用的今天,隨網絡速度的提高以及用戶的增加,在一些繁忙的場合,單憑一臺機器已經無法就能應付所有的網絡請求了。為了解決這個問題,許多用戶就采用一組cluster(集群)來代替單一的機器。cluster可以將多臺計算機連接起來協(xié)同運作以對外提供各種服務,比如Apache、FTP、 Mail等。
用LVS來架設一組cluster
在Linux上最常見的、也可能是運用最廣泛的cluster方案就是LVS(Linux VirtualServer),很高興LVS也是一個中國人創(chuàng)建和開發(fā)的開放源碼項目。LVS自1998年開始,發(fā)展到現(xiàn)在已經是一個比較成熟的技術項目了。有許多比較著名網站和組織都在使用LVS架設的cluster,比如:www.linux.com、sourceforge.net、www.real.com等。

下面就開始介紹一下,筆者是如何利用LVS來架設一組cluster來對外提供Apache和FTP服務的。
安裝操作系統(tǒng)
筆者選用的是Red Hat 9.0作為些cluster的director機器和所有real server機器的操作系統(tǒng)。RH的安裝過程從略,筆者根據實際需要,只安裝了少數(shù)的包。對于成批安裝Linux,建議試試Kickstart來進入批理安裝。
編譯支持LVS的內核
LVS對Linux的kernel進行了修改和增加,所以要重新編譯 linux kernel。我們先從http://www.linuxvirtualserver.org下載到LVS的內核補丁,對原有內核源代碼進行更新,然后重新編譯Linux的kernel。
下載LVS的內核補丁時要注意補丁版本要和kernel版本相一致,對于RH9.0,它的Linux核心版本是2.4.20,所以對應內核補丁應該是http://www.linuxvirtualserver.org/software/kernel-2.4/linux-2.4.20-ipvs-1.0.9.patch.gz
另外還有一個補丁是用來解決某些情況下ARP協(xié)議不能正常工作問題的,從http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff下載。
把上面下載的兩個補丁復制到/usr/src目錄下,然后執(zhí)行以下命令:
cd /usr/src
gzip -cd linux-2.4.20-ipvs-1.0.9.patch.gz
cd /usr/src/linux
patch -p1 < ../linux-2.4.20-ipvs-1.0.9.patch
patch -p1 < ../hidden-2.4.20pre10-1.diff
make mrproper
make menuconfig
執(zhí)行make menuconfig時,我們將進入一個圖形化的界面,在其中可以對Linux Kernel進行詳細設置。與LVS相關的kernel選項都在“Networking options”中,進入“Networking options”,可以查看到“IP: Virtual Server Configuration”選項,將其它所有的子選項都選上:
<M> virtual server support (EXPERIMENTAL)
IP virtual server debugging
(12) IPVS connection table size (the Nth power of 2)
--- IPVS scheduler
<M> round-robin scheduling
<M> weighted round-robin scheduling
<M> least-connection scheduling 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> source hashing scheduling
<M> shortest expected delay scheduling
<M> never queue scheduling
--- IPVS application helper
<M> FTP protocol helper
另外,“Networking options”中的“IP: Netfilter Configuration"中的選項的所有子項,除了以下兩項不要選之外,其它全可以選:
< > ipchains (2.2-style) support
< > ipfwadm (2.0-style) support
還有,“Networking options”中還有一些關于網絡的選項,要注意按自己的需要去選擇:
<*> Packet socket
[ ] Packet socket: mmapped IO
<*> Netlink device emulation
Network packet filtering (replaces ipchains)
Network packet filtering debugging
Socket Filtering
<*> Unix domain sockets
TCP/IP networking
IP: multicasting
IP: advanced router
IP: policy routing
[ ] IP: use netfilter MARK value as routing key
[ ] IP: fast network address translation
<M> IP: tunneling
本站推薦
- 1某企業(yè)移動通信系統(tǒng)網絡建設落地后,成本到底節(jié)省了多少?
- 2客戶用信息網絡系統(tǒng)監(jiān)理工程師做項目,選它值不值?
- 3數(shù)據通信工程師在客戶網絡搭建場景里是軟件嗎?能替代人工操作不?
- 4手機版網絡通信工程軟件,在偏遠山區(qū)施工用它,復雜場景能 hold 住嗎?
- 5客戶真實應用:朋友學通信工程進大廠搞網絡優(yōu)化,鄰居學軟件工程做游戲開發(fā)賺大錢。報通信工程還是軟件工程,哪個就業(yè)前景更廣闊?
- 6客戶搭建網絡時,通信工程算硬件還是軟件,選它能替代人工嗎?
- 7客戶搭建網絡時,通信工程是硬件還是軟件,咋判斷合適不?
- 8客戶搞網絡升級,通信工程涉及系統(tǒng)集成嗎?實測它能hold住復雜場景嗎?
- 9客戶建通信網絡遇難題,通信工程分為系統(tǒng)和什么咋判斷合適?

