集群(cluster)amp;高可用性(HA)概念
1.1 什么是集群
??? 簡(jiǎn)單的說(shuō),集群(cluster)就是一組計(jì)算機(jī),它們作為一個(gè)整體向用戶提供一組網(wǎng)絡(luò)資源。這些單個(gè)的計(jì)算機(jī)系統(tǒng)就是集群的節(jié)點(diǎn)(node)。一個(gè)理想的集群是,用戶從來(lái)不會(huì)意識(shí)到集群系統(tǒng)底層的節(jié)點(diǎn),在他/她們看來(lái),集群是一 個(gè)系統(tǒng),而非多個(gè)計(jì)算機(jī)系統(tǒng)。并且集群系統(tǒng)的管理員可以隨意增加和刪改集群系統(tǒng)的節(jié)點(diǎn)。
1.2 集群系統(tǒng)的主要優(yōu)點(diǎn):
??? (1)高可擴(kuò)展性:
??? (2)高可用性HA:集群中的一個(gè)節(jié)點(diǎn)失效,它的任務(wù)可傳遞給其他節(jié)點(diǎn)。可以有效防止單點(diǎn)失效。
??? (3)高性能:負(fù)載平衡集群允許系統(tǒng)同時(shí)接入更多的用戶。
??? (4)高性價(jià)比:可以采用廉價(jià)的符合工業(yè)標(biāo)準(zhǔn)的硬件構(gòu)造高性能的系統(tǒng)。
2.1 集群系統(tǒng)的分類(lèi)
??? 雖然,根據(jù)集群系統(tǒng)的不同特征可以有多種分類(lèi)方法,但是一般把集群系統(tǒng)分為兩類(lèi):
??? (1)、高可用(High Availability)集群,簡(jiǎn)稱HA集群。
??? 這類(lèi)集群致力于提供高度可靠的服務(wù)。就是利用集群系統(tǒng)的容錯(cuò)性對(duì)外提供7*24小時(shí)不間斷的服務(wù),如高可用的文件服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)等關(guān)鍵應(yīng)用。
??? 負(fù)載均衡集群:使任務(wù)可以在集群中盡可能平均地分?jǐn)偛煌挠?jì)算機(jī)進(jìn)行處理,充分利用集群的處理能力,提高對(duì)任務(wù)的處理效率。
??? 在實(shí)際應(yīng)用中這幾種集群類(lèi)型可能會(huì)混合使用,以提供更加高效穩(wěn)定的服務(wù)。如在一個(gè)使用的網(wǎng)絡(luò)流量負(fù)載均衡集群中,就會(huì)包含高可用的網(wǎng)絡(luò)文件系統(tǒng)、高可用的網(wǎng)絡(luò)服務(wù)。
??? (2)、性能計(jì)算(High Perfermance Computing)集群,簡(jiǎn)稱HPC集群,也稱為科學(xué)計(jì)算集群。
??? 在這種集群上運(yùn)行的是專(zhuān)門(mén)開(kāi)發(fā)的并行應(yīng)用程序,它可以把一個(gè)問(wèn)題的數(shù)據(jù)分布到多臺(tái)的計(jì)算機(jī)上,利用這些計(jì)算機(jī)的共同資源來(lái)完成計(jì)算任務(wù),從而可以解決單機(jī)不能勝任的工作(如問(wèn)題規(guī)模太大,單機(jī)計(jì)算速度太慢)。
??? 這類(lèi)集群致力于提供單個(gè)計(jì)算機(jī)所不能提供的強(qiáng)大的計(jì)算能力。如天氣預(yù)報(bào)、石油勘探與油藏模擬、分子模擬、生物計(jì)算等。
3.1 什么是高可用性 (HA)
??? 計(jì)算機(jī)系統(tǒng)的可用性(availability)是通過(guò)系統(tǒng)的可靠性(reliability)和可維護(hù)性(maintainability)來(lái)度量的。工程上通常用平均無(wú)故障時(shí)間(MTTF)來(lái)度量系統(tǒng)的可靠性,用平均維修時(shí)間(MTTR)來(lái)度量系統(tǒng)的可維護(hù)性。于是可用性被定義為:MTTF/(MTTF+MTTR)*100%
負(fù)載均衡服務(wù)器的高可用性
為了屏蔽負(fù)載均衡服務(wù)器的失效,需要建立一個(gè)備份機(jī)。主服務(wù)器和備份機(jī)上都運(yùn)行High Availability監(jiān)控程序,通過(guò)傳送諸如“I am alive”這樣的信息來(lái)監(jiān)控對(duì)方的運(yùn)行狀況。當(dāng)備份機(jī)不能在一定的時(shí)間內(nèi)收到這樣的信息時(shí),它就接管主服務(wù)器的服務(wù)IP并繼續(xù)提供服務(wù);當(dāng)備份管理器又從主管理器收到“I am alive”這樣的信息是,它就釋放服務(wù)IP地址,這樣的主管理器就開(kāi)開(kāi)始再次進(jìn)行集群管理的工作了。為在主服務(wù)器失效的情況下系統(tǒng)能正常工作,我們?cè)谥鳌浞輽C(jī)之間實(shí)現(xiàn)負(fù)載集群系統(tǒng)配置信息的同步與備份,保持二者系統(tǒng)的基本一致。
HA的容錯(cuò)備援運(yùn)作過(guò)程
??? 自動(dòng)偵測(cè)(Auto-Detect)階段 由主機(jī)上的軟件通過(guò)冗余偵測(cè)線,經(jīng)由復(fù)雜的監(jiān)聽(tīng)程序。邏輯判斷,來(lái)相互偵測(cè)對(duì)方運(yùn)行的情況,所檢查的項(xiàng)目有:主機(jī)硬件(CPU和周邊)、主機(jī)網(wǎng)絡(luò)、主機(jī)操作系統(tǒng)、數(shù)據(jù)庫(kù)引擎及其它應(yīng)用程序、主機(jī)與磁盤(pán)陣列連線。為確保偵測(cè)的正確性,而防止錯(cuò)誤的判斷,可設(shè)定安全偵測(cè)時(shí)間,包括偵測(cè)時(shí)間間隔,偵測(cè)次數(shù)以調(diào)整安全系數(shù),并且由主機(jī)的冗余通信連線,將所匯集的訊息記錄下來(lái),以供維護(hù)參考。
??? 自動(dòng)切換(Auto-Switch)階段 某一主機(jī)如果確認(rèn)對(duì)方故障,則正常主機(jī)除繼續(xù)進(jìn)行原來(lái)的任務(wù),還將依據(jù)各種容錯(cuò)備援模式接管預(yù)先設(shè)定的備援作業(yè)程序,并進(jìn)行后續(xù)的程序及服務(wù)。
??? 自動(dòng)恢復(fù)(Auto-Recovery)階段 在正常主機(jī)代替故障主機(jī)工作后,故障主機(jī)可離線進(jìn)行修復(fù)工作。在故障主機(jī)修復(fù)后,透過(guò)冗余通訊線與原正常主機(jī)連線,自動(dòng)切換回修復(fù)完成的主機(jī)上。整個(gè)回復(fù)過(guò)程完成由EDI-HA自動(dòng)完成,亦可依據(jù)預(yù)先配置,選擇回復(fù)動(dòng)作為半自動(dòng)或不回復(fù)。
3.2、HA三種工作方式:
(1)、主從方式 (非對(duì)稱方式)
工作原理:主機(jī)工作,備機(jī)處于監(jiān)控準(zhǔn)備狀況;當(dāng)主機(jī)宕機(jī)時(shí),備機(jī)接管主機(jī)的一切工作,待主機(jī)恢復(fù)正常后,按使用者的設(shè)定以自動(dòng)或手動(dòng)方式將服務(wù)切換到主機(jī)上運(yùn)行,數(shù)據(jù)的一致性通過(guò)共享存儲(chǔ)系統(tǒng)解決。
(2)、雙機(jī)雙工方式(互備互援)
工作原理:兩臺(tái)主機(jī)同時(shí)運(yùn)行各自的服務(wù)工作且相互監(jiān)測(cè)情況,當(dāng)任一臺(tái)主機(jī)宕機(jī)時(shí),另一臺(tái)主機(jī)立即接管它的一切工作,保證工作實(shí)時(shí),應(yīng)用服務(wù)系統(tǒng)的關(guān)鍵數(shù)據(jù)存放在共享存儲(chǔ)系統(tǒng)中。
(3)、集群工作方式(多服務(wù)器互備方式)
工作原理:多臺(tái)主機(jī)一起工作,各自運(yùn)行一個(gè)或幾個(gè)服務(wù),各為服務(wù)定義一個(gè)或多個(gè)備用主機(jī),當(dāng)某個(gè)主機(jī)故障時(shí),運(yùn)行在其上的服務(wù)就可以被其它主機(jī)接管。
摘錄于:http://hi.baidu.com/pierceshi/blog/item/b1cc05cba22653fe53664f7c.html
總結(jié)
以上是生活随笔為你收集整理的集群(cluster)amp;高可用性(HA)概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: go反射机制与类型识别
- 下一篇: MIP 扩展组件开发手册