馮桂蓮
摘 要:Linux操作系統(tǒng)不斷走向成熟,其健壯性不斷增強,同時提供了GUN軟件和標準化的PVM、MPI消息傳遞機制,由于在普通PC機上提供了對高性能網(wǎng)絡的支持,因此大大推動了基于Linux的集群系統(tǒng)的發(fā)展。為了提高服務器集群的處理性能和可靠性,通過編寫PHP腳本網(wǎng)頁文件,以VMware Workstation作為虛擬機、在Red Hat Enterprise服務器操作系統(tǒng)下、以Secure CRT作為遠程管理軟件,用橋接的虛擬機網(wǎng)卡模式,作者設計并測試了基于Linux的LAMP服務器集群系統(tǒng),提高了集群計算機的性價比。
關鍵詞:集群;高可用;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)絡為中心的計算時代。在20世紀90年代中期,萬維網(wǎng)的出現(xiàn)以其簡單的操作方式將圖文并茂的網(wǎng)上信息帶給普通大眾,WEB也正在一種信息發(fā)送機制成為一種服務平臺,大量的服務和應用(如電子商務)都是圍繞著WEB進行的[1]。現(xiàn)在的WEB服務越來越多地使用動態(tài)主頁等CPU密集型應用,這對服務器的性能有較高的要求。未來的網(wǎng)絡服務會提供更豐富的內容、更好的交互性、更高的安全性等,需要服務器具有更強的CPU和I/O處理能力[2]。九十年代末期,Linux操作系統(tǒng)不斷走向成熟,它的健壯性不斷增強,并且提供了GUN軟件和標準化的PVM、MPI消息傳遞機制,最重要的是Linux在普通PC機上提供了對高性能網(wǎng)絡的支持,這樣就大大推動了基于Linux的集群系統(tǒng)的發(fā)展。作者設計并實現(xiàn)了基于Linux的LAMP服務器集群系統(tǒng),實現(xiàn)了高可用和負載均衡的功能,提高了集群計算機的性價比。
2 集群(Cluster)
2.1 集群的定義
集群(cluster)就是一組計算機,它們作為一個整體向用戶提供一組網(wǎng)絡資源。這些單個的計算機系統(tǒng)就是集群的節(jié)點(node)。一個理想的集群是用戶從來不會意識到集群系統(tǒng)底層的節(jié)點,在他們看來,集群是一個系統(tǒng),而非多個計算機系統(tǒng)。并且集群系統(tǒng)的管理員可以隨意增加和刪除該集群系統(tǒng)的節(jié)點[3]。
2.2 集群的分類
集群計算機按功能和結構不同可分為以下幾類。
(1)高可用集群
高可用集群一般是指當集群中有某個節(jié)點失效的情況下,其上的任務會自動轉移到其他正常的節(jié)點上。
(2)負載均衡集群
負載均衡集群運行時一般通過一個或者多個前端負載均衡器將工作負載分發(fā)到后端的一組服務器上,從而達到整個系統(tǒng)的高性能和高可用性[4]。
(3)高性能計算集群
高性能計算集群采用將計算任務分配到集群的不同計算節(jié)點而提高計算能力,因而主要應用在科學計算領域。
(4)網(wǎng)格計算或網(wǎng)絡集群
網(wǎng)格計算或網(wǎng)絡集群是一種與集群計算相關的技術。網(wǎng)格與傳統(tǒng)集群的主要差別在于網(wǎng)格是連接一組相關的計算機,它的運作更像一個計算公共設施而不是一個獨立的計算機[5]。
3 LAMP架構(LAMP instructure)
LAMP由Linux操作系統(tǒng)、Apache Web服務器、MySQL數(shù)據(jù)庫和PHP腳本語言四種技術組成,是基于B/S的WEB系統(tǒng)三層體系,其特點是客戶端要求低、可維護性高、數(shù)據(jù)安全性高和實時交互性好,而B/S架構的三層體系的分層式設計已成為互聯(lián)網(wǎng)行業(yè)的一盞明燈。LAMP常用來搭建動態(tài)網(wǎng)站或者服務器的開源軟件,本身都是各自獨立的程序,但是因為常被放在一起使用,擁有了越來越高的兼容度,共同組成了一個強大的Web應用程序平臺[6]。
4 LAMP服務器集群的設計(Design of the LAMP
sever cluster system)
4.1 前期準備
LAMP集群的作用已經(jīng)不言而喻,本設計實現(xiàn)了LAMP架構集群。通過編寫PHP腳本網(wǎng)頁文件,Windows XP客戶端通過http訪問VIP,獲得網(wǎng)頁可顯示出RealServer服務器(Apache和PHP)和MySQL服務器完成協(xié)同工作[7]。
(1)實現(xiàn)環(huán)境
虛擬機:VMware Workstation
服務器操作系統(tǒng):Red Hat Enterprise 5
客戶機(測試):Windows XP
遠程管理軟件:Secure CRT 5.1
虛擬機網(wǎng)卡模式為橋接,各主機的IP如下:
路由器的內網(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服務器的配置如下(由于篇幅關系,只給出部分參數(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所示的結果。
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的運行結果,同圖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所示的運行結果。
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();
?>
測試當前配置結果,得到如圖3所示的運行結果。
Fig.3 The client access to VIP three times
自此,Windows XP客戶機通過http訪問虛擬IP地址得到真實的三臺服務器上的連接MySql數(shù)據(jù)庫的信息,說明LAMP架構服務器集群系統(tǒng)搭建成功。
5 結論(Conclusion)
該基于Linux的LAMP服務器集群系統(tǒng)實現(xiàn)了高可用和負載均衡的功能,但是由于沒有真實的應用場景,所以負載均衡算法比較簡單,如果實際應用場景的計算機硬件配置差異過大、真實服務器的活躍連接數(shù)不一致時,集群的整體工作效果會受到極大的影響。計算機集群系統(tǒng)以及基于Linux操作系統(tǒng)的計算機集群,目前都是計算機應用領域的研究熱點。當今非?;馃岬脑朴嬎慵夹g,就是高可用、高可靠、均衡負載以及高性能計算的綜合[8],今后的集群技術一定會沿著這個方向發(fā)展。
參考文獻(References)
[1] 王國明.集群計算系統(tǒng)的分析與研究[J].電腦知識與技術,2006(32):152-156.
[2] 胡曉軍.Linux服務器集群系統(tǒng)的研究和應用[D].廣東工業(yè)大學,2005.
[3] 許海成.服務器集群負載均衡的建模與仿真研究[J].計算機仿真,2012(3):180-183.
[4] 季剛.集群技術及負載均衡調度算法研究[J].計算機時代,2012(8):37-38.
[5] 涂俊英.一種改進的Linux集群系統(tǒng)負載均衡算法[J].微電子學與計算機,2012.(3):106-109.
[6] 崔榮波.一種虛擬化的服務器集群模型[J].計算機系統(tǒng)應用,z2011(3):173-177.
[7] 董波.云計算集群服務器系統(tǒng)監(jiān)控方法的研究[J].計算機工程與科學,2012(10):68-72.
[8] 朱莉.利用遺傳算法的網(wǎng)絡GIS集群服務器動態(tài)負載均衡算法[J].武漢大學學報信息科學版,2011(6):721-724.