狠狠操网,91中文字幕在线观看,精品久久香蕉国产线看观看亚洲,亚洲haose在线观看

集群組管理原理與系統(tǒng)的實(shí)現(xiàn)

集群組管理原理與系統(tǒng)的實(shí)現(xiàn)

歡迎瀏覽,以下是YJBYS求職網(wǎng)給您推薦一篇關(guān)于集群組管理原理與系統(tǒng)的實(shí)現(xiàn)的計(jì)算機(jī)應(yīng)用畢業(yè)論文


摘要:集群系統(tǒng)的出現(xiàn)允許用戶把普通商用硬件系統(tǒng)組成集群,并根據(jù)需要隨時(shí)在集群中增加新的硬件,提高了系統(tǒng)的伸縮性和可用性,從而能夠在價(jià)格相對(duì)低廉的中低端平臺(tái)上享用過去只有高端系統(tǒng)才具備的高可伸縮性和高可用性,既提高了系統(tǒng)的性能,同時(shí)也降低了成本。因此,集群成為了高性能計(jì)算領(lǐng)域矚目的焦點(diǎn)。

引言

隨著Internet商業(yè)服務(wù)的飛速發(fā)展,服務(wù)系統(tǒng)的可用性程度對(duì)服務(wù)提供者的商業(yè)利益具有重大的影響。同時(shí),由于通過計(jì)算機(jī)服務(wù)系統(tǒng)提供的服務(wù)內(nèi)容和服務(wù)范圍都在不斷擴(kuò)大,計(jì)算機(jī)服務(wù)系統(tǒng)的規(guī)模也需不斷擴(kuò)大,現(xiàn)有的小規(guī)模的高可用系統(tǒng)己經(jīng)難以滿足這樣大規(guī)模計(jì)算機(jī)系統(tǒng)對(duì)高可用性支持的需求。因此研究可擴(kuò)展的高可用集群系統(tǒng)十分重要。

1、心跳技術(shù)

失效監(jiān)測(cè)是所有高可用性的基礎(chǔ),如何才能做到盡快、盡可能準(zhǔn)確地對(duì)節(jié)點(diǎn)的失效進(jìn)行監(jiān)測(cè),這需要有一個(gè)好的模型。

心跳模型被廣泛應(yīng)用于2~8個(gè)節(jié)點(diǎn)的小規(guī)模集群中。相對(duì)于上百個(gè)節(jié)點(diǎn)的大規(guī)模集群來說,小規(guī)模的集群使用心跳模型監(jiān)測(cè),對(duì)系統(tǒng)造成的負(fù)荷較小,并且小規(guī)模集群的網(wǎng)絡(luò)帶寬大、速度較快、延遲較小,這樣心跳模型可以作出較為精確的判斷。當(dāng)心跳模型應(yīng)用于兩個(gè)服務(wù)器的集群時(shí),兩個(gè)服務(wù)器采用活動(dòng)/備份,或者活動(dòng)/活動(dòng)集群模型工作,它們之間使用心跳模型進(jìn)程相互監(jiān)測(cè),這個(gè)框架應(yīng)用得相當(dāng)普遍。但是當(dāng)集群的節(jié)點(diǎn)數(shù)大于2的`時(shí)候,心跳模型同樣也能較好的保證準(zhǔn)確、迅速地對(duì)失效節(jié)點(diǎn)作出判斷。

2、集群組管理原理

(1)節(jié)點(diǎn)加入:每一個(gè)節(jié)點(diǎn)在啟動(dòng)的時(shí)候,會(huì)讀取自身的配置文件,配置文件中包括節(jié)點(diǎn)ID號(hào),自身IP地址,多播IP地址和端口號(hào),初始化消息和自身節(jié)點(diǎn)。接著會(huì)周期性地發(fā)送

加入請(qǐng)求消息,直到收到其他節(jié)點(diǎn)的加入確認(rèn)消息。

(2)節(jié)點(diǎn)的離開/故障:首先需要監(jiān)控節(jié)點(diǎn)的狀態(tài),是通過對(duì)方發(fā)送的心跳消息來監(jiān)測(cè)的,即如果在三個(gè)周期內(nèi)沒有收到某節(jié)點(diǎn)的心跳消息,則認(rèn)為它離開了或出現(xiàn)故障了。這里有兩種情況:一是備份節(jié)點(diǎn)的離開/故障,直接將該節(jié)點(diǎn)從節(jié)點(diǎn)列表中刪除即可。二是主節(jié)點(diǎn)的離開/故障,那么需要重新從剩余的節(jié)點(diǎn)中選擇一個(gè)新的主節(jié)點(diǎn),選擇策略很簡(jiǎn)單,即從剩余節(jié)點(diǎn)中選擇一個(gè)ID號(hào)最小的為新主節(jié)點(diǎn),并刪除離開或出現(xiàn)故障的主節(jié)點(diǎn)。

(3)正常運(yùn)行:由于節(jié)點(diǎn)正常運(yùn)行,它會(huì)周期性的發(fā)送心跳消息,標(biāo)識(shí)自己的存在,那么其他節(jié)點(diǎn)會(huì)周期性的收到該節(jié)點(diǎn)的心跳消息,從而維護(hù)著一個(gè)集群節(jié)點(diǎn)列表。

3、集群組管理系統(tǒng)的實(shí)現(xiàn)

3.1 節(jié)點(diǎn)加入前的準(zhǔn)備工作

每一個(gè)節(jié)點(diǎn)都有一個(gè)配置文件configure.file,存放在./config目錄下。前面定義了節(jié)點(diǎn)類型,消息類型,在節(jié)點(diǎn)啟動(dòng)的時(shí)候,首先讀取配置文件(主要由函數(shù)read_profile( )實(shí)現(xiàn)),將配置信息:節(jié)點(diǎn)ID號(hào),自身IP地址,多播IP地址和端口號(hào)等初始化自身節(jié)點(diǎn)和待發(fā)送的消息,并將自身節(jié)點(diǎn)首先加入到節(jié)點(diǎn)列表中。

3.2線程同步的實(shí)現(xiàn)

一個(gè)進(jìn)程中的所有線程共享相同的全局內(nèi)存,這使得線程很容易共享信息,但是這種簡(jiǎn)易性也帶來了同步(synchronization)問題。一個(gè)進(jìn)程中的所有線程不僅共享全局變量,而且共享:進(jìn)程指令、大多數(shù)數(shù)據(jù)、打開的文件(如描述字)、信號(hào)處理程序和信號(hào)設(shè)置、當(dāng)前工作目錄、用戶ID和組ID。現(xiàn)實(shí)中,涉及到多個(gè)線程同時(shí)運(yùn)行,比如gm_listener線程,它負(fù)責(zé)監(jiān)控接收到的多播消息,并作相應(yīng)的處理,比如收到加入消息判斷是否在節(jié)點(diǎn)列表中,不在則將之加入,并發(fā)送加入確認(rèn)消息,收到加入確認(rèn)消息,判斷是否在節(jié)點(diǎn)列表中,不在則將之加入,收到心跳信息,則將對(duì)應(yīng)節(jié)點(diǎn)標(biāo)志變量加一。heartbeater線程,通過對(duì)狀態(tài)的查詢每隔一個(gè)心跳周期發(fā)送加入請(qǐng)求消息或心跳消息,add_flag線程對(duì)標(biāo)識(shí)每個(gè)節(jié)點(diǎn)的狀態(tài)的標(biāo)志變量flag作周期性的減一操作,而test線程周期性的對(duì)每個(gè)列表中的節(jié)點(diǎn)檢測(cè)標(biāo)志變量是否小于0,也即是列表中的節(jié)點(diǎn)是否失效或離開。

4、結(jié)果測(cè)試與分析

為了跟蹤消息來源,每次都將收到的消息、類型、發(fā)送節(jié)點(diǎn)的IP地址、角色、狀態(tài)都在控制臺(tái)顯示出來,以便分析程序中的問題。而且也在每次test線程執(zhí)行一次檢測(cè)后輸出整個(gè)節(jié)點(diǎn)列表,這樣有助于了解哪些節(jié)點(diǎn)加入進(jìn)來了,哪些節(jié)點(diǎn)離開或失效了。

實(shí)驗(yàn)的過程主要通過結(jié)束集群管理進(jìn)程來模擬節(jié)點(diǎn)的失效或離開,通過啟動(dòng)某節(jié)點(diǎn)的集群管理進(jìn)程來模擬節(jié)點(diǎn)的加入,正常運(yùn)行的進(jìn)程來模擬節(jié)點(diǎn)正常運(yùn)行。為此設(shè)計(jì)了以下幾個(gè)測(cè)試用例:

(1)第一個(gè)啟動(dòng)的節(jié)點(diǎn)的確立。在集群組中還沒有成員的情況下,第一個(gè)啟動(dòng)的節(jié)點(diǎn)自動(dòng)成為主節(jié)點(diǎn),后來啟動(dòng)的節(jié)點(diǎn)為備份節(jié)點(diǎn)。實(shí)驗(yàn)過程為:?jiǎn)?dòng)其中任何一個(gè)節(jié)點(diǎn)集群管理程序,接著啟動(dòng)其他節(jié)點(diǎn)集群管理程序。實(shí)驗(yàn)結(jié)果與預(yù)期一致。

第一個(gè)啟動(dòng)4號(hào)節(jié)點(diǎn),實(shí)驗(yàn)截圖如圖1:

圖 1 第一個(gè)啟動(dòng)的節(jié)點(diǎn)默認(rèn)為主節(jié)點(diǎn)

(2)節(jié)點(diǎn)的加入。其實(shí)這個(gè)過程已經(jīng)在上述測(cè)試用例中達(dá)到了目的。新加入的節(jié)點(diǎn)按預(yù)期的要求加入到集群組中,并維護(hù)著統(tǒng)一的成員列表。

6、總結(jié)

在商業(yè)和科學(xué)領(lǐng)域,集群管理還涉及到許多其他的內(nèi)容,因此針對(duì)一些具體的應(yīng)用,還有很多的不足。我覺得可以從以下方面來考慮:

(1) 建立一個(gè)對(duì)集群節(jié)點(diǎn)信息的詳細(xì)監(jiān)控。比如針對(duì)機(jī)柜系統(tǒng)環(huán)境、每節(jié)點(diǎn)硬件配置情況、每節(jié)點(diǎn)電壓、各部件溫度、風(fēng)扇轉(zhuǎn)速等硬件狀態(tài)、系統(tǒng)CPU、內(nèi)存、網(wǎng)絡(luò)使用情況等,可指定節(jié)點(diǎn),也可以圖形方式對(duì)各節(jié)點(diǎn)的單項(xiàng)數(shù)據(jù)進(jìn)行對(duì)比。以便針對(duì)具體故障進(jìn)行處理。

(2) 事件服務(wù)。系統(tǒng)管理員應(yīng)該能夠通過事件服務(wù)設(shè)置系統(tǒng)對(duì)事件的自動(dòng)響應(yīng)。

(3)基于網(wǎng)絡(luò)的管理:重起,關(guān)機(jī);基于串口的管理:開電源、關(guān)電源、硬件重監(jiān)測(cè)、控制臺(tái)重定向。

(4)實(shí)現(xiàn)任務(wù)分發(fā),負(fù)載均衡,高可用性。

(5)開發(fā)友好的管理界面,提高管理的安全性和方便性。

參考文獻(xiàn):

[1] 胡慶平.新型心跳監(jiān)測(cè)技術(shù)的研究與實(shí)現(xiàn).華中科技大學(xué).2004:31~44

[2 萬春.基于linux數(shù)據(jù)庫集群系統(tǒng)的研究.華中科技大學(xué).2004

[3] 李英壯,李先毅等.基于linux的集群管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].大連理工大學(xué)學(xué)報(bào).2003,12:168~170

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 yyfangchan@163.com (舉報(bào)時(shí)請(qǐng)帶上具體的網(wǎng)址) 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除