摘 要:為解決計算機服務器在很短的時間內超載的問題,特采用集群來代替單一的計算機。文章首先闡釋了集群的概念,對LB集群進行介紹,以Haproxy LB集群為例進行集群應用的實施,使用Haproxy+Keepalived兩種軟件,實現(xiàn)了Linux系統(tǒng)下創(chuàng)建低成本、高性能、高可用的集群系統(tǒng)的效果。
關鍵詞:集群;高可用;高性能
引言
當今由于信息系統(tǒng)的各個核心部分會隨著業(yè)務量的提高,其處理能力和計算強度也隨之相應的增大了,單一設備根本無法承擔如此大的壓力,所以必須采用多臺服務器來共同工作,從而提高計算機系統(tǒng)的處理能力以及計算強度。但是如何在能完成同樣功能的多個服務器之間實現(xiàn)合理的業(yè)務量的分配,使之不會出現(xiàn)一臺設備非常忙而其他設備卻沒有發(fā)揮作用的情況。要解決這一問題,就可以采用負載均衡(LB)的方法。
1 集群的概念
集群就是將幾臺或者是幾十臺計算機組合起來作為一個整體來提供一系列的網(wǎng)絡資源給用戶,并且集群系統(tǒng)的管理員有權限任意的增加、刪除或者是更改集群系統(tǒng)的任意節(jié)點,集群系統(tǒng)通常被用來改進單個計算機的性能,一般情況下,集群計算機系統(tǒng)比單個計算機系統(tǒng)的性價比都要高很多。
2 LB集群介紹
在負載均衡(LB)服務器上使用專門的路由算法,將數(shù)據(jù)包分散到多個真實服務器中進行處理,從而達到網(wǎng)絡服務均衡負載的作用。LB服務器可以充分利用自己已有的資源來很好的提升高負載服務的性能,降低高負載服務的成本。
3 Haproxy LB集群的實施
3.1工作環(huán)境設定
(1)虛擬機版本:VMware Workstation-full-10.0.1
(2)服務器操作系統(tǒng):所有服務器均使用rhel6.4的系統(tǒng)
(3)虛擬IP(VIP):192.168.122.100
(4)主調度器:主機名:directory1.tianyun.com IP:192.168.122.2
(5)備調度器: 主機名:directory2.tianyun.com IP:192.168.122.3
(6)真實服務器主機名:web1.tianyun.com IP:192.168.122.10
主機名:web2.tianyun.com IP:192.168.122.20
主機名:web3.tianyun.com IP:192.168.122.30
(7)監(jiān)控服務器:主機名:nagios.tianyun.com IP:192.168.122.50
3.2 準備工作
說明:以下均使用directory1來作為例子,其他的主機參照它來進行配置。
(1)根據(jù)拓撲圖分別配置集群中各個主機的IP
使用vim打開/etc/sysconfig/network-scripts/ifcfg-eth0文件,給服務器的eth0網(wǎng)口設定靜態(tài)IP地址,然后重新啟動網(wǎng)絡服務。
(2)修改主機名
編輯需要被用于修改主機名的配置文件/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=directory1.tianyun.com
(3)修改hosts文件
(4)關閉防火墻
(5)關閉SELinux
編輯SElinux的配置文件/etc/sysconfig/selinux,將SELINUX=enforcing修改為SELINUX=disabled,使用getenforce命令查看顯示Permissive即為生效。
(6)公鑰推送(ssh trust)
推送各個節(jié)點的公鑰有利于在各個節(jié)點間的相互訪問。將directory1的/root/.ssh目錄使用rsync拷貝到其他節(jié)點上,這樣所有節(jié)點就都可以相互無密碼的訪問。
directory1 # ssh-keygen
directory1 # cd .ssh/
directory1 # mv id_rsa.pub authorized_keys
directory1 # rsync -va /root/.ssh IP:/root/.ssh
(7)配置NTP時鐘同步服務
要配置NTP服務器,首先要確保已經(jīng)安裝了ntp服務,然后在/etc/ntp.conf文件中寫入代碼,然后啟動ntpd服務,并將其設置為開機啟動,等待兩分鐘左右,查看同步的狀態(tài)。
4 集群的應用
4.1 RS配置
(1)安裝Apache網(wǎng)站服務器
# yum -y install httpd
# chkconfig httpd on service httpd start
(2)為RS設置首頁
在瀏覽器中訪問192.168.122.10,出現(xiàn)首頁。為了達到測試效果,需要提供不同的測試頁面,分別使用web1、web2和web3來作為網(wǎng)站首頁的內容,方法如下:
# rm -rf /etc/httpd/conf.d/welcome.conf
# echo \"web1\" /var/www/html/index.html
# service httpd restart
(3)測試RS
訪問192.168.122.10,網(wǎng)頁中就會出現(xiàn)web1。
4.2 調度器配置Haproxy(主/備)
(1)安裝Haproxy
# yum -y install haproxy
# cp -rf /etc/haproxy/haproxy.cfg{,bak}
(2)配置Haproxy
(3)啟動haproxy
# service haproxy start
# chkconfig haproxy on
4.3 測試主備調度器
訪問192.168.122.2,不斷刷新,頁面中會隨機出現(xiàn)web1、web2和web3。輸入用戶名和密碼之后,顯示的界面;網(wǎng)頁中勾選http2——Soft Stop——Apply,訪問192.168.122.2,不斷的刷新,頁面中會出現(xiàn)web1和web3,但是不會出現(xiàn)web2,將http2Soft Start之后,又恢復正常。使用命令行的方式將web3的httpd的服務停掉,訪問192.168.122.2,不斷刷新頁面,頁面中會出現(xiàn)web1和web2,但是不會出現(xiàn)web3,而且192.168.122.2:1314/haproxystats頁面中http3變成紅色。在命令行中重新啟動web3的httpd服務,頁面中紅色的http3又變回綠色,重新訪問192.168.122.2的網(wǎng)站,又恢復正常。
5 結束語
集群并不是一個全新的概念,早在七十年代的時候,計算機廠商和一些研究機構就開始對集群系統(tǒng)進行研究和開發(fā),對集群的研究源于集群系統(tǒng)性能的良好的可擴展性。文章以Haproxy LB集群為例進行集群應用的實施,使用Haproxy+Keepalived兩種軟件,實現(xiàn)了Linux系統(tǒng)下創(chuàng)建低成本、高性能、高可用的集群系統(tǒng)的效果,旨在為集群的發(fā)展與成熟提供參考和建議。
參考文獻
[1]王國明.集群計算系統(tǒng)的分析與研究[J].電腦知識與技術,2006(32).
[2]孟相武,等.基于Linux的高可用集群系統(tǒng)的設計及實現(xiàn)[J].電子科技大學學報,2005.
[3]高俊峰.高性能Linux服務器構建實戰(zhàn):運維監(jiān)控、性能調優(yōu)與集群應用[M].機械工業(yè)出版社,2011.
作者簡介:盧洪亮(1996-),男,大慶市肇州縣,黑龍江八一農(nóng)墾大學信息技術學院計算機科學與技術專業(yè)本科在校生。