詳解如何正確的搭建Linux的伺服器叢集

來源:互聯網
上載者:User

標籤:

什麼是叢集?

    叢集,是一組獨立的電腦系統構成一個松耦合的多處理器系統,它們之間通過網路實現進程間的通訊。應用程式可以通過網際網路共用記憶體進行訊息傳送,實現分散式運算機。叢集的工作方式類似於人們之間的協同工作。

       Vs-nat叢集是一種最簡單的叢集。他的結構類似於linux透明Proxy 伺服器。

                    

 

    這是從網路上下載的一幅圖,這是一種典型的nat結構。可以用此種結構作簡單測試。的LVS標識是一台linux主機,它負責均衡流量。通常稱它為linux虛擬伺服器。RS1標識和RS2標識是實際的伺服器。虛擬伺服器不處理服務要求,所有的請求都由實際伺服器處理。的nat結構非常簡單,可以根據實際情況修改網路結構。

        LVS上的配置過程

 

 

    負載平衡是核心層級的一個功能模組,發行版上一般不會提供負載平衡的功能。因此我們需要重新編譯核心,使其支援負載平衡功能。我們選擇的是最新版的核心2.6.14版本。以下是編譯並使新核心正確工作的過程。

    首先從www.kernel.org上下載原始碼包module-init-tools-3.1.tar.bz2

    從名字上就可以看出這是和模組相關的一些工具。我們將負載平衡作為模組載入到核心裡。

    用tar –jzvf 解壓縮,接著按照README中的步驟安裝即可。

./configure –prefix=/

make moveold

make

make install

此時module-init-tools安裝完畢。

下面安裝2.6.14核心的過程

從www.kernel.org上下載原始碼包linux-2.6.14.2.tar.bz2到/usr/src/目錄

用tar –jxvf linux-2.6.14.2.tar.bz2命令解壓縮

解壓縮之後產生linux-2.6.14 目錄

將此目錄更名 mv linux-2.6.14 linux

然後執行 cd /usr/src/linux

 

 

make menuconfig 這是一個圖形化的核心組態工具。可以用這個工具來選擇新核心的功能。在此就不詳細說明了,只需要選擇exit即可。

make 這是編譯核心的命令 這個命令執行的時間比較長 需要耐心等待了 :-)

make modules 這是編譯核心模組的命令 時間不會太長 看你的cpu速度了

make modules_install 當然是安裝模組了

至此一個嶄新的屬於你自己的核心就編譯完成了,接下來還需要做一些工作使新核心順利工作

當核心編譯完成的時候,新的核心的位置是在/usr/src/linux/arch/i386/boot下,其中的bzImage 就是你的新核心 

cp bzImage /boot 將新核心拷貝到系統的開機磁碟分割

接下來修改grub(如果你裝的是lilo也沒關係,方法大致上是一樣的)

vi /etc/grub.conf

追加以下內容

title linux virtue server

root (hd0,0)

kernel /boot/bzImage root=/dev/hda1

然後儲存退出。

Reboot 重起就會發現在選擇時多了一項linux virtue server

選擇該項就可以用你的新核心了.

接下來介紹ipvsadm

ipvsadm是配置核心流量分配策略的工具。它可以讓我們選擇採用什麼策略來轉寄資料包。

最簡單的策略就是輪循了。就象玩牌時發牌一樣。外部的請求輪流發給實際伺服器。

它的安裝太簡單了,在README中有說明 : )

安裝完畢執行以下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

./ipvsadm -C

./ipvsadm –A –t 192.168.88.23:80 –s rr

./ipvsadm –a –t 192.168.88.23:80 -r 10.0.0.2:80 - m

./ipvsadm –a –t 192.168.88.23:80 -r 10.0.0.3:80 - m

./ipvsadm –a –t 192.168.88.23:80 -r 10.0.0.4:80 - m

//第一句的意思是使linux主機支援資料包轉寄

//第二句的意思是清空核心虛擬列表

//第三句的意思是加入一項虛擬服務,提供服務的是192.168.88.23的80連接埠

//-s 參數 指定調度方式 rr 為輪循

//第四句的意思是為上面的虛擬服務加入一個實際伺服器,ip為10.0.0.2,連接埠為80

//-m參數指定nat 方式

//接下來的不用我說了吧 : -)

 

 

 

   上面是我測試時用的代碼。簡單說明一下它的結構:用一台機器做負載平衡,它有兩塊網卡,1塊的ip為192.168.88.23,這個ip是整個叢集對外的ip.另一塊的ip 為10.0.0.1.這個ip

   的作用當然就是串連實際的伺服器了J 我測試時用三台機器做實際伺服器,ip為10.0.0.2

     10.0.0.3和10.0.0.3,他們的網關都設為10.0.0.1,系統都為redhat9.0,都由apache做服務。

   如果大家有公有ip 的話就把原來ip為 192.168.88.23的網卡設為你的公有ip就行了。

關於iptables

我下了新版本的iptables-1.3.4。解壓縮之後按照INSTALL中的說明安裝完畢之後執行

./iptables –t nat –A POSTROUTING –s 10.0.0.0/24 –d 0.0.0.0/0 -j SNAT –to 192.168.88.23

測試

在10.0.0.2,10.0.0.3.10.0.0.4上分別布置不同的index.html. redhat9上預設的首頁位置在

/var/www/html/.然後執行service httpd start就行了。在192.168.88.21上瀏覽192.168.88.23, 會出現其中的一個index.html.這裡需要注意一下瀏覽器的設定,需要刪除臨時檔案之後重新整理一下才能看到其他的index.html.這是瀏覽器的問題,不是配置出錯。能夠看到不同的首頁面說明3個實際伺服器都能正常工作,叢集就可以工作了。

詳解如何正確的搭建Linux的伺服器叢集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.