發布時間:2016-05-11所屬分類:計算機職稱論文瀏覽:1次
摘 要: 這篇計算機系統論文發表了架設基于Linux(2.6內核)的服務器集群,集群通信系統具有的可用信道可為系統的全體用戶共用,具有自動選擇信道功能,它是共享資源、分擔費用、共用信道設備及服務的多用途、高效能的無線調度通信系統。
這篇計算機系統論文發表了架設基于Linux(2.6內核)的服務器集群,集群通信系統具有的可用信道可為系統的全體用戶共用,具有自動選擇信道功能,它是共享資源、分擔費用、共用信道設備及服務的多用途、高效能的無線調度通信系統。
關鍵詞:計算機系統論文,集群通信
什么是集群?
集群,是一組獨立的計算機系統構成一個松耦合的多處理器系統,它們之間通過網絡實現進程間的通信。應用程序可以通過網絡共享內存進行消息傳送,實現分布式計算機。集群的工作方式類似于人們之間的協同工作。
Vs-nat集群是一種最簡單的集群。他的結構類似于linux透明代理服務器。
這是從網絡上下載的一幅圖,這是一種典型的nat結構?梢杂么朔N結構作簡單測試。上圖的LVS標識是一臺linux主機,它負責均衡流量。通常稱它為linux虛擬服務器。RS1標識和RS2標識是實際的服務器。虛擬服務器不處理服務請求,所有的請求都由實際服務器處理。 上圖的nat結構非常簡單,可以根據實際情況修改網絡結構。
LVS上的配置過程
負載均衡是內核級別的一個功能模塊,發行版上一般不會提供負載均衡的功能。因此我們需要重新編譯內核,使其支持負載均衡功能。我們選擇的是最新版的內核2.6.14版本。
以下是編譯并使新內核正確工作的過程。
首先從www.kernel.org上下載源代碼包module-init-tools-3.1.tar.bz2
從名字上就可以看出這是和模塊相關的一些工具。我們將負載均衡作為模塊加載到內核里。
用tar ?Cjzvf 解壓縮,接著按照README中的步驟安裝即可。
./configure ?Cprefix=/
make moveold
make
make install
此時module-init-tools安裝完畢。
下面安裝2.6.14內核的過程
從www.kernel.org上下載源代碼包linux-2.6.14.2.tar.bz2到/usr/src/目錄
用tar ?Cjxvf 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 ?CA ?Ct 192.168.88.23:80 ?Cs rr
./ipvsadm ?Ca ?Ct 192.168.88.23:80 -r 10.0.0.2:80 - m
./ipvsadm ?Ca ?Ct 192.168.88.23:80 -r 10.0.0.3:80 - m
./ipvsadm ?Ca ?Ct 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 ?Ct nat ?CA POSTROUTING ?Cs 10.0.0.0/24 ?Cd 0.0.0.0/0 -j SNAT ?Cto 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個實際服務器都能正常工作,集群就可以工作了。
問題
如果負責流量分配的機器癱瘓了怎么辦或者實際服務器出了問題該怎么解決?
第一個問題采用的方法是熱備份。這也是大多數集群采用的方法。需要heatbeat軟件
第二個問題采用的方法是在負載均衡機器上配置keepalive軟件。
推薦期刊:《現代計算機》雜志于1985年創刊,由中山大學主管主辦,是一本面向計算機全行業的綜合性學術刊物,一直以來致力于營造一個融洽的學術交流平臺,幫助讀者對象在學業、事業上更上一層樓。
SCISSCIAHCI