用Linux下的LVS軟體實現Linux叢集

來源:互聯網
上載者:User

本文介紹了Linux下的cluster軟體LVS,並舉例介紹一個Linux下的cluster(叢集)的安裝和實現的詳細過程。。
  在各種網路服務普遍應用的今天,隨網路速度的提高以及使用者的增加,在一些繁忙的場合,單憑一台機器已經無法就能應付所有的網路請求了。為瞭解決這個問題,許多使用者就采 用一組cluster(叢集)來代替單一的機器。cluster可以將多台電腦串連起來協同運作以對外提供各種服務,比如Apache、FTP、Mail等。

在Linux上最常見的、也可能是運用最廣泛的cluster方案就是LVS(Linux Virtual
Server),很高興LVS也是一個中國人建立和開發的開放源碼項目。LVS自1998年開始,發展到現在已經是一個比較成熟的技術項目了。有許多比較著名網站和組織都在使用LVS架設的cluster,比如:www.linux.com、sourceforge.net、www.real.com等。

下面就開始介紹一下,筆者是如何利用LVS來架設一組cluster來對外提供Apache和FTP服務的。

安裝作業系統

筆者選用的是Red Hat 9.0作為些cluster的director機器和所有real server機器的作業系統。RH的安裝過程從略,筆者根據實際需要,只安裝了少數的包。對於成批安裝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協議不能正常工作問題的,從http://www.ssi.bg/~ja/hidden-2.4.20pre10-1.diff下載。
  把上面下載的兩個補丁複製到/usr/src目錄下,然後執行以下命令:
  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

執行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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.