劉 雙 崔金玉
(綏化學院電氣工程學院 黑龍江 綏化 152061)
在我們的生活中,計算機已經到了一個舉足輕重的地位,而且現(xiàn)在隨著互聯(lián)網的發(fā)展,他更加與我們密切相關。Linux系統(tǒng)就是在基于unix系統(tǒng)的基礎上衍生出來的當下最流行的企業(yè)級的操作系統(tǒng),它具有良好的安全性、高效性、穩(wěn)定性、可擴展性和易用性。如今社會在進步,在現(xiàn)今,Linux操作系統(tǒng)不斷的發(fā)展不斷的壯大,并且提供了GNU軟件和標準化的PVM、MPI消息傳遞機制,其中非常重要的一點就是在普通機器上的網絡的相關方向,這使得linux得到了更加快速而有力的發(fā)展。
簡而言之,集群就是很多的計算機組成在一起的整體,他們以一個整體的形式對外提供服務。其中他們每一臺計算機都是這個劇群的節(jié)點。一個非常完美的集群就是,當用戶訪問一個網站其實就是訪問的一個集群中的一個節(jié)點,因為每個網站都不可能是由一臺計算機組成的,在客戶的眼中,集群就是一個整體,而不是由多個計算機組成的系統(tǒng)。并且集群還有很好的可操作性,它會隨著管理員和現(xiàn)實中的需要而增加節(jié)點或是減少節(jié)點。
集群系統(tǒng)一般可以分成兩類,一類是HA集群,就是高可用集群。HA實際上是兩臺(或更多)的計算機以一種相互的方式互相的監(jiān)聽的一種操作。當其中Primary server出現(xiàn)故障的時候,Standby server能夠快速而且安全的接替工作,是用戶感覺不到有什么不一樣的地方。在Primary server恢復正常之后,Standby server又會把工作還給 Primary server。在現(xiàn)今的發(fā)展前景下,基于 LVS的 HA方案 Linux已經是高端的市場必須的方式,所以許多公司都在這方面加大了研究力度?,F(xiàn)在,我們就能夠通過相關的軟件去實現(xiàn)這一操作。
我們可以使用“mon”、“heart beat”、“fake”和“coda”四個軟件來構筑具有高可用性的 Virtual Server(虛擬服務器)?!癿on”就是我們現(xiàn)在所收知的一個資源管理系統(tǒng)?!癶eartbeat”使用在幾臺計算機之間傳送信條信息的一個設備。“Fake”是一個實現(xiàn)IP接管的軟件。
當服務器故障時,處理過程如下:“mon”踏實工作在負載均衡器上的,他的工作就是觀察真?zhèn)€集群中每一個節(jié)點的工作情況。在配置文件“fping.monitor”中寫入要檢測服務器節(jié)點,然后“mon”就是對這個節(jié)點驚醒沒多少秒鐘的檢測,查看這個節(jié)點是否還是活著的節(jié)點。
并且,其他的的服務也是要進城一些配置的,這樣“mon”進程將每個多少秒就檢測一下所有節(jié)點的進程情況。例如:http.monitor:就是配置監(jiān)控 http服務;ftp.monitor:用于配置監(jiān)控 ftp服務;諸如此類。當一切都完成的時候,其中的一個服務器放生故障的時候或者是失效的時候、服務器就會發(fā)送一個通知報告,所以,負載均衡器就會知道具體到底是哪個節(jié)點發(fā)生故障。
現(xiàn)在,組在均衡器就成了現(xiàn)在唯一需要保護的點了,他成了單點失效。為了不讓這一現(xiàn)象的出現(xiàn),我們這時候就要對負載均衡器做一個備份服務器來完成當他故障的時候來頂替他的工作的任務。“fake”作用就是當出現(xiàn)這一情況的時候,備份的服務器能夠迅速的將服務接管過來,并且能夠繼續(xù)對外提供服務。
而“心跳”的作用就是能夠時時的監(jiān)控負載均衡器的工作情況和工作狀態(tài)。它是通過在負載均衡器和備份服務器上有個叫“心跳的”的進程來實現(xiàn)的,他們是以一種方式傳遞我還活著的信息。當備用的服務器在一定的時間內收不到負載均衡發(fā)出的“我還活著”的消息時,備份服務器機會激活“fake”來進行工作并接管IP地址,并提供正常的服務;當負載均衡器恢復工作的時候,備份服務器就會自動將“fake”進程關閉,這時負載均衡器就會重新接管服務,負載均衡器重新開始工作。
另一種就是LB集群,也就是通常所說的負載均衡,它的主要作用就是,每個組成集群的機器都對外提供相同的服務,這樣就可以做到負載均衡的作用,并且同時還能夠將可用性提高,性能價格比極高。
負載均衡服務器集群系統(tǒng)一般由路由控制設備、客戶端、調度服務器、業(yè)務服務器等4部分組成。對一陣各系統(tǒng)來說的性能方面都有著很嚴謹的設計,當有客戶來進行請求的時候,都必須經過防火墻的檢測,而且必須按照路由設置的的訪問權限來執(zhí)行,所有者就幫掙了得到的請求都是合法的。
具體過程就是客戶先向服務器發(fā)出請求,通過互聯(lián)網將客戶的請求發(fā)到調度服務器,但是在這之前還要經過防火墻和路由器的驗證才能完成。調度服務器的作用就是通過一種調度算法找出現(xiàn)在真?zhèn)€集群中負載最低的節(jié)點,這樣就將客戶端的請求轉到這臺機器上來,從而完成客戶端的請求。依據服務使用網絡協(xié)議的不同,完成負載均衡的機制是有所不同的,通常是分為兩類。如果業(yè)務是基于TCP流連接模式,就是通常所說的NAT方式,這種方式會產生兩次鏈接,在現(xiàn)在對整體性能要求非常高的集群中已經逐漸被另一種方式所代替;第二種就是,如果服務是基于無連接的UDP協(xié)議,就是所說的DR方式,他是可以直接通過調度服務器直接轉發(fā)到應用節(jié)點上的,并不會產生兩次鏈接,這樣完成任務就大大提高了效率。
[1]Richard Stevens W.Bill Fenner,Rudoff M.UNIX Network Programming[M].北京:清華大學出版社,2004,1:137-142.
[2]Paxson V.,Allman M.Computing TCP’s Retransmission Timer[S].RFC 2988,2000,11:17-26.