馮桂蓮
摘 要:Linux操作系統(tǒng)不斷走向成熟,其健壯性不斷增強,同時提供了GUN軟件和標準化的PVM、MPI消息傳遞機制,由于在普通PC機上提供了對高性能網(wǎng)絡(luò)的支持,因此大大推動了基于Linux的集群系統(tǒng)的發(fā)展。為了提高服務(wù)器集群的處理性能和可靠性,通過編寫PHP腳本網(wǎng)頁文件,以VMware Workstation作為虛擬機、在Red Hat Enterprise服務(wù)器操作系統(tǒng)下、以Secure CRT作為遠程管理軟件,用橋接的虛擬機網(wǎng)卡模式,作者設(shè)計并測試了基于Linux的LAMP服務(wù)器集群系統(tǒng),提高了集群計算機的性價比。
關(guān)鍵詞:集群;高可用;Linux;LAMP
中圖分類號:TP393 文獻標識碼:A
Design and Reality of the LAMP Sever Cluster System in Linux
FENG Guilian
(Qinghai University for Nationalities Institute of Physics and Electronic Information Engineering,Xining 810007,China)
Abstract:Linux operating system continues to mature,its robustness continues to increase,and provides the GUN and mechanism for message transfer of the standard PVM and MPI,because of the support of the high performance network on the ordinary PC,promoted the development of cluster system based on Linux greatly.In order to improve the processing performance and reliability of the server cluster,by writing PHP script web files,using workstation VMware as a virtual machine,in the Red Hat Enterprise server operating system,using secure CRT as a remote management software,by the bridge mode of virtual machine network card,the author designed the LAMP sever cluster system based on Linux,realized the features of high availability and load balancing,improved the cost performance of the cluster computer.
Keywords:cluster;high availability;Linux;LAMP
1 引言(Introduction)
當今計算機已經(jīng)進入以網(wǎng)絡(luò)為中心的計算時代。在20世紀90年代中期,萬維網(wǎng)的出現(xiàn)以其簡單的操作方式將圖文并茂的網(wǎng)上信息帶給普通大眾,WEB也正在一種信息發(fā)送機制成為一種服務(wù)平臺,大量的服務(wù)和應(yīng)用(如電子商務(wù))都是圍繞著WEB進行的[1]?,F(xiàn)在的WEB服務(wù)越來越多地使用動態(tài)主頁等CPU密集型應(yīng)用,這對服務(wù)器的性能有較高的要求。未來的網(wǎng)絡(luò)服務(wù)會提供更豐富的內(nèi)容、更好的交互性、更高的安全性等,需要服務(wù)器具有更強的CPU和I/O處理能力[2]。九十年代末期,Linux操作系統(tǒng)不斷走向成熟,它的健壯性不斷增強,并且提供了GUN軟件和標準化的PVM、MPI消息傳遞機制,最重要的是Linux在普通PC機上提供了對高性能網(wǎng)絡(luò)的支持,這樣就大大推動了基于Linux的集群系統(tǒng)的發(fā)展。作者設(shè)計并實現(xiàn)了基于Linux的LAMP服務(wù)器集群系統(tǒng),實現(xiàn)了高可用和負載均衡的功能,提高了集群計算機的性價比。
2 集群(Cluster)
2.1 集群的定義
集群(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網(wǎng)絡(luò)資源。這些單個的計算機系統(tǒng)就是集群的節(jié)點(node)。一個理想的集群是用戶從來不會意識到集群系統(tǒng)底層的節(jié)點,在他們看來,集群是一個系統(tǒng),而非多個計算機系統(tǒng)。并且集群系統(tǒng)的管理員可以隨意增加和刪除該集群系統(tǒng)的節(jié)點[3]。
2.2 集群的分類
集群計算機按功能和結(jié)構(gòu)不同可分為以下幾類。
(1)高可用集群
高可用集群一般是指當集群中有某個節(jié)點失效的情況下,其上的任務(wù)會自動轉(zhuǎn)移到其他正常的節(jié)點上。
(2)負載均衡集群
負載均衡集群運行時一般通過一個或者多個前端負載均衡器將工作負載分發(fā)到后端的一組服務(wù)器上,從而達到整個系統(tǒng)的高性能和高可用性[4]。
(3)高性能計算集群
高性能計算集群采用將計算任務(wù)分配到集群的不同計算節(jié)點而提高計算能力,因而主要應(yīng)用在科學(xué)計算領(lǐng)域。
(4)網(wǎng)格計算或網(wǎng)絡(luò)集群
網(wǎng)格計算或網(wǎng)絡(luò)集群是一種與集群計算相關(guān)的技術(shù)。網(wǎng)格與傳統(tǒng)集群的主要差別在于網(wǎng)格是連接一組相關(guān)的計算機,它的運作更像一個計算公共設(shè)施而不是一個獨立的計算機[5]。
3 LAMP架構(gòu)(LAMP instructure)
LAMP由Linux操作系統(tǒng)、Apache Web服務(wù)器、MySQL數(shù)據(jù)庫和PHP腳本語言四種技術(shù)組成,是基于B/S的WEB系統(tǒng)三層體系,其特點是客戶端要求低、可維護性高、數(shù)據(jù)安全性高和實時交互性好,而B/S架構(gòu)的三層體系的分層式設(shè)計已成為互聯(lián)網(wǎng)行業(yè)的一盞明燈。LAMP常用來搭建動態(tài)網(wǎng)站或者服務(wù)器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應(yīng)用程序平臺[6]。
4 LAMP服務(wù)器集群的設(shè)計(Design of the LAMP
sever cluster system)
4.1 前期準備
LAMP集群的作用已經(jīng)不言而喻,本設(shè)計實現(xiàn)了LAMP架構(gòu)集群。通過編寫PHP腳本網(wǎng)頁文件,Windows XP客戶端通過http訪問VIP,獲得網(wǎng)頁可顯示出RealServer服務(wù)器(Apache和PHP)和MySQL服務(wù)器完成協(xié)同工作[7]。
(1)實現(xiàn)環(huán)境
虛擬機:VMware Workstation
服務(wù)器操作系統(tǒng):Red Hat Enterprise 5
客戶機(測試):Windows XP
遠程管理軟件:Secure CRT 5.1
虛擬機網(wǎng)卡模式為橋接,各主機的IP如下:
路由器的內(nèi)網(wǎng)接口IP:192.168.18.254
LVS1:192.168.18.28
LVS2:192.168.18.219
RealServer1:192.168.18.231
RealServer2:192.168.18.232
RealServer3:192.168.18.233
MySQL:192.168.18.218
VIP:192.168.18.250
(2)部署階段
根據(jù)系統(tǒng)需求,對LVS1服務(wù)器的配置如下(由于篇幅關(guān)系,只給出部分參數(shù)命令):
wenhl-LVS1#route add default gw 192.168.18.254
wenhl-LVS1#vim/etc/sysctl.conf
net.ipv4.ip_forward=1
wenhl-LVS1#sysctl–p
wenhl-LVS1#mount/dev/cdrom/mnt/
wenhl-LVS1#vim/etc/yum.conf
[Server]
name=rhel_yum
baseurl=file:///mnt/Server
…
wenhl-LVS1#/etc/init.d/keepalived start
對LVS2的配置類同,不再贅述。
對RealServer1\2\3的配置相同,如下所示:
wenhl-RS#mount/dev/cdrom/mnt/
wenhl-RS#yum -y install httpd
wenhl-RS#/etc/init.d/httpd start
wenhl-RS#chmod +x vip
wenhl-RS#/etc/init.d/vip start
wenhl-RS#cat vip #!/bin/bashVIP=192.168.18.250
ROUTE=192.168.18.254
start() {
…wenhl-RS#cat /var/www/html/index.html
This is wenhaolongs LVS test ! ip is 231.
This is wenhaolongs LVS test ! ip is 232.
This is wenhaolongs LVS test ! ip is 233.
4.2 測試階段
測試當前配置時,得到如圖1所示的結(jié)果。
wenhl-LVS1#ipvsadm-ln
IP Virtual Server version 1.2.1(size=4096)
Prot LocalAddress:Port Scheduler Flags
->RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.18.250:80 rr
->192.168.18.232:80 Route 1 0 0
->192.168.18.233:80 Route 1 0 0
->192.168.18.231:80 Route 1 0 0
通過相同的測試方法可以得到分發(fā)給真實機2和3的運行結(jié)果,同圖1。
繼續(xù)鍵入以下命令:
wenhl-RS#yum-y install php*
wenhl-RS2#vim/etc/httpd/conf/httpd.conf
LoadModule php5_module/usr/lib/httpd/modules/libphp5.so
AddType application/x-httpd-php.php
wenhl-RS1#vim/var/www/html/test.php
<?phpphpinfo()
?>
測試當前配置,得到如圖2所示的運行結(jié)果。
Fig.2 The cooperative work of apache and php
再進行MySQL的配置:
wenhl-mysql#yum-y install mysql-server
wenhl-mysql#/etc/init.d/mysqld start
wenhl-RS#vim/etc/php.ini
wenhl-mysql#/etc/init.d/mysqld restart
wenhl-RS#service httpd restart
wenhl-mysql#mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
…
mysql_close();
?>
測試當前配置結(jié)果,得到如圖3所示的運行結(jié)果。
Fig.3 The client access to VIP three times
自此,Windows XP客戶機通過http訪問虛擬IP地址得到真實的三臺服務(wù)器上的連接MySql數(shù)據(jù)庫的信息,說明LAMP架構(gòu)服務(wù)器集群系統(tǒng)搭建成功。
5 結(jié)論(Conclusion)
該基于Linux的LAMP服務(wù)器集群系統(tǒng)實現(xiàn)了高可用和負載均衡的功能,但是由于沒有真實的應(yīng)用場景,所以負載均衡算法比較簡單,如果實際應(yīng)用場景的計算機硬件配置差異過大、真實服務(wù)器的活躍連接數(shù)不一致時,集群的整體工作效果會受到極大的影響。計算機集群系統(tǒng)以及基于Linux操作系統(tǒng)的計算機集群,目前都是計算機應(yīng)用領(lǐng)域的研究熱點。當今非?;馃岬脑朴嬎慵夹g(shù),就是高可用、高可靠、均衡負載以及高性能計算的綜合[8],今后的集群技術(shù)一定會沿著這個方向發(fā)展。
參考文獻(References)
[1] 王國明.集群計算系統(tǒng)的分析與研究[J].電腦知識與技術(shù),2006(32):152-156.
[2] 胡曉軍.Linux服務(wù)器集群系統(tǒng)的研究和應(yīng)用[D].廣東工業(yè)大學(xué),2005.
[3] 許海成.服務(wù)器集群負載均衡的建模與仿真研究[J].計算機仿真,2012(3):180-183.
[4] 季剛.集群技術(shù)及負載均衡調(diào)度算法研究[J].計算機時代,2012(8):37-38.
[5] 涂俊英.一種改進的Linux集群系統(tǒng)負載均衡算法[J].微電子學(xué)與計算機,2012.(3):106-109.
[6] 崔榮波.一種虛擬化的服務(wù)器集群模型[J].計算機系統(tǒng)應(yīng)用,z2011(3):173-177.
[7] 董波.云計算集群服務(wù)器系統(tǒng)監(jiān)控方法的研究[J].計算機工程與科學(xué),2012(10):68-72.
[8] 朱莉.利用遺傳算法的網(wǎng)絡(luò)GIS集群服務(wù)器動態(tài)負載均衡算法[J].武漢大學(xué)學(xué)報信息科學(xué)版,2011(6):721-724.