版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、高可用報告1、三個概念失效(fault):指設(shè)備或程序自身固有缺陷導(dǎo)致的瞬間或永久性的功能失常。錯誤(error):由失效導(dǎo)致的系統(tǒng)內(nèi)部不正確行為。錯誤可以被發(fā)現(xiàn)并進行糾正。故障(failure):指由于出現(xiàn)錯誤導(dǎo)致了系統(tǒng)產(chǎn)生了不正確的結(jié)果。失效 5錯誤 匚二, 故障2、平均故障發(fā)生時間MTTF ( Mean Time To Failure )MTTF是一個統(tǒng)計上可測量的參數(shù)MTTF豐壽命MTTF= 1 /穩(wěn)態(tài)運行期間的故障發(fā)生率N臺機器T時間內(nèi)故障數(shù):E = (N X T)/ MTTF平均無故障時間(MTBF)平均修復(fù)時間(MTTR)可靠性:系統(tǒng)連續(xù)提供服務(wù)的能力,MTTF: Mean Ti
2、me To Failure可維護性:修復(fù)故障使系統(tǒng)恢復(fù)正常的能力,MTTR: Mean Time To Repair4、可用性(Availability)可用性=MTTF / (MTTF + MTTR)例:MTTF=5000小時,MTTR=1天,則可用性為:5000/(5000+24) = 99.52%5、提高可用性的途徑提高MTTF降低MTTR:、硬件高可用1、(一) Cluster中硬件HA的目標問題的起源:單點故障問題及其應(yīng)對策略單點故障:某些硬件或軟件部件,它們的故障會導(dǎo)致整個系統(tǒng)的崩潰。6機群系統(tǒng)可能出現(xiàn)的單點故障有:處理器或節(jié)點存儲程序或數(shù)據(jù)的磁盤適配器、控制器和連接節(jié)點到磁盤的電
3、纜用戶訪問機群節(jié)點的網(wǎng)絡(luò)。應(yīng)用程序應(yīng)對策略:通過系統(tǒng)地消除那些單點故障來盡可能使更多的故障成為部分故障。6解決機群中的單點故障問題:解決大多數(shù)的單點故障問題并不需要使用任何分層軟件產(chǎn)品。計算從任何特殊錯誤中恢復(fù)所需人工干涉的總時間和精力。然后再考慮系統(tǒng)能否承受停機造成的損失,以及能否提供全天操作中必須的人工干預(yù)。對于機群設(shè)計者而言,這將有助于決定是使用人工干預(yù)來管理還是需要采取其它措施來滿足高可用性的要求。節(jié)點故障在機群中,當一個節(jié)點提供的服務(wù)是關(guān)鍵性的話,那么當該節(jié)點失效時,機群中必須 有另外的節(jié)點來代替它的資源,向終端擁護提供相同的服務(wù)。包括以下步驟:1、在備用節(jié)點的網(wǎng)絡(luò)適配器配置失效節(jié)點
4、的地址,或者提示用戶(或改變客戶端應(yīng)用程序)使用一個替換的地址。2、在故障和備用節(jié)點之間引入和改變所有組的卷,并且裝上所有需要的文件系統(tǒng)。3、修復(fù)存儲在故障節(jié)點內(nèi)部磁盤上的所有應(yīng)用程序和數(shù)據(jù)。4、執(zhí)行任何鑒定性的應(yīng)用程序。假定后備節(jié)點在關(guān)鍵服務(wù)中還沒有被網(wǎng)絡(luò)訪問。這樣,每個節(jié)點需要額外的網(wǎng)絡(luò)適配器,這個節(jié)點將被備份。如果用戶通過串行連接訪問失效節(jié)點,每個終端應(yīng)該物理上重連接到后備節(jié)點的端口上。如果外部磁盤沒有連接到失效節(jié)點和后備節(jié)點之間的通用總線上,則需要手工將他們從一個轉(zhuǎn)換到另一個。所有關(guān)鍵數(shù)據(jù)被保存在外部磁盤上。如果最后的后備節(jié)點變?yōu)椴豢捎?,所有關(guān)鍵數(shù)據(jù)則被保存至節(jié)點的內(nèi)部磁盤。磁盤和I/
5、O總線故障為了防止包括磁盤的外部 I/O通道中的任何部分出錯,應(yīng)該在兩路I/O總線上將磁盤鏡象或者使用從節(jié)點到存儲子系統(tǒng)有雙重路徑的磁盤陣列系統(tǒng)。網(wǎng)絡(luò)適配器故障為了防止網(wǎng)絡(luò)適配器故障,每個提供關(guān)鍵服務(wù)的節(jié)點需要配置備用網(wǎng)絡(luò)適配器。這個適配器連接到與用戶正在訪問的主適配器相同的網(wǎng)絡(luò)主干上。如果網(wǎng)絡(luò)適配器失效, 可以將備用適配器的地址改為失效適配器的地址。另外一種方法是始終有一個熱備份的網(wǎng)絡(luò)適配器可以隨時替代出錯適配器。 這種方法從故障中恢復(fù)的時間更短,因為系統(tǒng)安裝備用適配器無需停機。網(wǎng)絡(luò)故障如果用戶正在和一個節(jié)點通信時網(wǎng)絡(luò)主干停止工作,解決方案之一是人工地將所有機群節(jié)點和客戶端機器切換到另外一個
6、主干上。即便有足夠的時間和精力去這樣做,還得保證沒有松散的連接或網(wǎng)絡(luò)設(shè)備(路由器、集線器或網(wǎng)橋)故障引起主干失效。另外一個解決方案是連接一個終端的子集到備用節(jié)點的串口上,這樣還可以提供最小級別的服務(wù)。在這種情況下應(yīng)用程序必須被設(shè)計成允許用戶既可以通過網(wǎng)絡(luò)連接到終端也可以通過串口連接到終 端。應(yīng)用程序故障根據(jù)應(yīng)用程序的設(shè)計,為監(jiān)控應(yīng)用程序使用的后臺程序,并及時對狀態(tài)改變作出反應(yīng), 應(yīng)該使用AIX子系統(tǒng)資源控制器。2、人工干預(yù)的缺點根據(jù)上述的討論,依據(jù)故障的不同類型。包括檢測故障所花時間,很明顯從任何機群故 障中人工恢復(fù)的時間為 30分鐘到幾個小時。這對許多應(yīng)用在重要場合的機群來說已經(jīng)是不 可容忍
7、的了。3、Cluster中硬件 HA的目標:因此,我們可以歸納出Cluster中硬件HA的目標應(yīng)該是:1、盡可能消除單點故障部件。2、盡可能快地檢測到故障并自動切換到備用部件,以便使系統(tǒng)的故障恢復(fù)時間盡可能地短。3、采取冗余、熱備份等高可用策略盡可能消除或減小故障給系統(tǒng)帶來的損失。4、使實現(xiàn)高可用的成本盡可能地低。5、對用戶盡可能地透明。(二) 硬件 HA 實現(xiàn)層次(Node, Storage Connection在這一章里,我們將參照 HACMP4.1 for AIX 的情況,簡述在HACMP/6000 3.1中為了 提高高可用性在硬件方面采取的措施。由于產(chǎn)品的更新?lián)Q代實在是太快,有些內(nèi)容肯
8、定已經(jīng)過時了。以下分為三個部分進行描述:節(jié)點的配置與選擇 外存儲系統(tǒng)的選擇 互連設(shè)備的選擇A.節(jié)點的配置與選擇IBM高可用機群的運行環(huán)境是被配置為無單故障點的RISC System/6000單處理器和對稱多處理器服務(wù)器。它的具體配置完全取決于用戶對于自己的應(yīng)用環(huán)境和數(shù)據(jù)處理的要求。幾乎所有型號的 RISC System/6000的服務(wù)器都可以加入高可用環(huán)境中,并且新的產(chǎn)品 不斷地涌現(xiàn)。如何為機群配置選擇節(jié)點選擇系統(tǒng)的配件對一個機群來說很重要,而且對機群系統(tǒng)的考慮和單機系統(tǒng)的考慮是不同的。我們主要要考慮的方面有:處理器能力的要求應(yīng)用環(huán)境的要求對需求增長的適應(yīng)能力 I/O插槽的要求當為一個單一系統(tǒng)
9、環(huán)境選擇一個處理器的時候,大家對這些肯定很熟悉。 然而在設(shè)計一個機群時就很不一樣了,必須把機群作為一個整體來仔細地考慮需求。除了每個節(jié)點的正常負荷外,還要考慮到系統(tǒng)中其它節(jié)點對本節(jié)點的資源要求。必須考慮在發(fā)生故障的情況下, 正常工作的節(jié)點必須接管故障節(jié)點的工作負荷。例如,在一個由兩個節(jié)點構(gòu)成的機群中,應(yīng)用程序運行在這兩個節(jié)點上,需要有商業(yè)級的高安全性。這兩個節(jié)點互為對方做備份,可以相互接管。如果一個節(jié)點需要提供對另外一 個節(jié)點上運行的應(yīng)用程序的故障接管支持,那么它就需要擁有比單機運行時強大得多的性 能。本質(zhì)上一個節(jié)點硬件配置的選擇依賴于應(yīng)用程序?qū)Ω呖捎眯缘囊?,不僅要考慮CPU的周期,而且還要
10、考慮主存和磁盤的大小。HACMP的軟件大約需要15M的磁盤空間。在選擇硬件時一個主要的考慮是I/O的擴展槽的個數(shù)。必須有足夠的擴展槽容納需要的元件來克服單故障點從而達到期望的可用性級別。正如單故障點那節(jié)提到的,一個單故障點的故障會導(dǎo)致某個服務(wù)對終端用戶來說不可用。所消除的單故障點越多,那么能達到可用性級別就越高。典型地我們需要估計網(wǎng)絡(luò)適配器和磁盤I/O適配器所占用的插槽的數(shù)量,必須提供至少兩個網(wǎng)絡(luò)適配器插槽以實現(xiàn)冗余。如果系統(tǒng)需要在一個時期綁定多個IP地址,那末還要配置更多的適配器。由于插槽的限制,最多可以在一個節(jié)點里配置7個備用適配器。如何為機群的共享存儲空間提供足夠多的插槽,也是插槽配置時
11、必須認真考慮的因素。如果打算使用磁盤鏡像,那末應(yīng)該在其它分離的總線上為額外的磁盤I/O適配器提供冗余插槽。以免得磁盤I/O適配器成為單故障點。由于系統(tǒng)對插槽數(shù)個數(shù)的限制,在2XX型號中無法采用足夠的冗余硬件特性來構(gòu)造出沒有單故障點的機群。對于小的機群節(jié)點,也就是僅僅需要 1個網(wǎng)絡(luò)適配器和 2個磁盤I/O適配器(支持磁盤鏡像)的節(jié)點, 3XX型號可能是合適的。這個限制實質(zhì)上使所有的插槽 都被適配器占用以便消除單故障點。這樣就限制了節(jié)點功能以后的擴充,如增加圖形卡、廣域網(wǎng)支持、串行口等。用戶可以選擇可用性的級別。在已經(jīng)估計到風險的情況下,僅有一個單故障點可能是能 忍受的。但是這顯然會隨具體情況的不
12、同而改變。節(jié)點配置指南這里非常好地定義了 RISC/6000系列產(chǎn)品的類別: 桌上型(desktop),桌邊型(deskside) 和機架型(rack-mounted)。在HACMP高可用機群環(huán)境中每種型號都有其適當?shù)膽?yīng)用環(huán)境。 下面的機群例子已經(jīng)列出了RISC System/6000型號的范圍并且定義為小節(jié)點,中節(jié)點和大節(jié)點。 小節(jié)點桌上型服務(wù)器(3XX)和緊湊型服務(wù)器(CXX)型號只適用于包含 2 3個節(jié)點的機群。超過 這個數(shù)量后,這些型號的機器對插槽的限制將會讓網(wǎng)絡(luò)和磁盤I/O出現(xiàn)單故障點。一個這樣的典型機群支持一個服務(wù)網(wǎng)絡(luò)和最多2串共享磁盤。磁盤鏡像通過兩條總線來實現(xiàn),消除了磁盤I/O
13、適配器的單故障點。對這種類型的機群配置,在每個節(jié)點上需要兩個網(wǎng)絡(luò)適配器(服 務(wù)和備用)和兩個磁盤 I/O適配器。如果所用網(wǎng)絡(luò)是以太網(wǎng)并且是使用3XX型號的話,可以使用集成的以太網(wǎng)端口來做服務(wù)網(wǎng)絡(luò)和備用網(wǎng)絡(luò)接口。一個典型的桌面系統(tǒng)有4個插槽,這樣,機箱里將只留下一個插槽給別的適配器了。例如,這種類型的配置可以適合一個用于報紙印刷的高可用性的圖形工作站環(huán)境。對其它的環(huán)境來說,如果沒有可預(yù)見的在應(yīng)用程序和數(shù)據(jù)處理方面需求的增長,這個方案是高效且低成本的。緊湊型服務(wù)器系統(tǒng)僅僅有4個插槽而且沒有集成的以太網(wǎng)絡(luò)適配器。因此它的限制更大,所有的插槽都將被使用以滿足高可用性要求,不能再添加其它的適配器了。在令
14、牌環(huán)網(wǎng)和FDDI網(wǎng)網(wǎng)絡(luò)環(huán)境下,桌面型服務(wù)器與緊湊型的服務(wù)器在硬件配置上沒有 區(qū)別。然而在以太網(wǎng)環(huán)境中桌面型服務(wù)器能利用集成的以太網(wǎng)接口,同樣的接口在令牌環(huán)網(wǎng)和FDDI中就沒有。冗余的令牌環(huán)網(wǎng)適配器必須占用一個插槽。 中節(jié)點一個典型的中節(jié)點支持幾十到幾百GB的共享存儲空間和兩個網(wǎng)絡(luò) (或3個網(wǎng)絡(luò)接口)。桌邊型單CPU服務(wù)器(5XX),特別是SMP服務(wù)器(JXX)非常適合少于 8個節(jié)點的 機群。當前在一個機群中最多支持 8個節(jié)點。單CPU服務(wù)器在它們的基本配置中有 7個空 閑插槽。SMP服務(wù)器有6個空閑插槽。結(jié)合J02總線擴展單元,這個數(shù)字可以增加到14個。 如果覺得小節(jié)點配置不能實現(xiàn)無單故障點的
15、話,那末桌邊型服務(wù)器將是更好的選擇。 它提供的插槽能滿足更大的共享存儲空間的要求,滿足安裝更多的網(wǎng)絡(luò)適配器和其它服務(wù)的需求。隨著RAID子系統(tǒng)和串行存儲體系結(jié)構(gòu)(SSA)存儲容量的增加,系統(tǒng)所支持的插槽數(shù) 目的重要性開始下降。然而用戶對網(wǎng)絡(luò)性能或者可用性方面的需求可能需要機群支持多個物 理網(wǎng)絡(luò),那么就需要有多個網(wǎng)絡(luò)適配器,再加上需要網(wǎng)絡(luò)冗余和網(wǎng)絡(luò)適配器冗余,那么就需要更多的插槽。 大節(jié)點大節(jié)點支持海量共享存儲空間和多網(wǎng)絡(luò)(或者網(wǎng)絡(luò)接口)。海量的意思是指從幾百GB到幾十千GB。一個大節(jié)點可以支持 6個或更多的網(wǎng)絡(luò)適配器。為了實現(xiàn)這個要求,需要很 多的I/O插槽。因為機架型系統(tǒng)有一對微通道總線,提
16、供了 15個可用的I/O插槽。它們能 滿足大容量集群環(huán)境。比如,7013-J30 SMP就能提供很多的I/O插槽。機架型機器能安裝 2個CPU并且支持抽屜式磁盤(支持磁盤熱插拔),如7135型磁盤陣列,7134高容量磁盤存儲系統(tǒng)和 9333串行磁盤存儲系統(tǒng)。對于 CPU和磁盤采用不同的 電源供電,如果一個CPU掉電了,另外一個不受影響。 如果必要的話任何資源都能被接管。 這樣的系統(tǒng)還可以使用不間斷電源。對于非常大的能夠支持海量共享存儲空間的機群,其所有CPU都被固定在專用插座上,并能夠支持多個 RAID、SSA或SCSI存儲子系統(tǒng)。B.外存儲系統(tǒng)的選擇1、外存儲系統(tǒng)方案3在規(guī)劃高可用 AIX配
17、置時,很重要的一項要素是共享的外存儲設(shè)備。RISC/6000系統(tǒng)對于采用何種外存儲系統(tǒng)方案來實現(xiàn)高可用有著深入的考慮。目前,有三種方案:布i布 采用傳統(tǒng)的SCSI技術(shù),包括SCSI-2差分/快速/寬帶 協(xié)議 ii 專磁盤陣歹U ( SCSI 總線 SCSI attached) iii 串行磁盤存儲體系,包括 舊M 9333和SSA (Serial Storage Architecture串行存 儲體系)具體采用哪一種 存儲系統(tǒng)要綜合許多因素一起來評估,例如適用性、功能、性能,以及 成本。本文中這一部分的內(nèi)容就是描繪這些外存儲方案,這些方案是如何具體實現(xiàn)高可用性 的,以及如何選擇一種合適的方案。
18、 i 采用傳統(tǒng)的SCSI技術(shù)7SCSI即小型計算機系統(tǒng)接口。是為 CD-ROM驅(qū)動器,音頻設(shè)備及外接大容量存儲設(shè) 備設(shè)計的標準接口。最初的SCSI標準被稱為SCSI-1,大約在80年代初出現(xiàn)。SCSI-1提供有8根數(shù)據(jù)線在5MHZ的時鐘頻率下運行。數(shù)據(jù)傳輸率為5MB/S。它允許七個設(shè)備以菊花鏈的形式與主機相連。在1991年SCSI-2協(xié)議被制定出來。與 SCSI-1相比,SCSI-2最顯著的改動在于其數(shù)據(jù)線的寬度增加到16位,最多可以同時支持 15個設(shè)備,同時它的時鐘頻率變?yōu)?0MHZ。這樣SCSI-2差分/快速/寬帶 總線協(xié)議的最大數(shù)據(jù)傳輸率可以達到20或40MB/S。SCSI-1與SCSI
19、-2使用的是一種并行接口。其數(shù)據(jù)線可以是8位或者16, 32位。因為所有連接到 SCSI總線的設(shè)備共享其帶寬,所以需要進行“仲裁”。經(jīng)仲裁后贏得總線控制權(quán)的設(shè)備就成為“啟動設(shè)備”,它可以向另一個設(shè)備發(fā)送命令(后者稱為“目標設(shè)備” ),只 有當這兩個設(shè)備在總線上的一次通訊完成以后,其它設(shè)備才能夠使用總線。SCSI有兩種信號傳輸機制:一種稱為“單端方式”,另外一種稱為“差分方式”。在“單端方式”中,每種信號只有一根信號線,該信號的電氣屬性由該信號信號線的電平與地線電平的差值決定;在“差分方式”中,每種信號都有“正”、“負”兩根信號線,該信號的電氣屬性由該信號的“正”信號線電平與“負”信號線電平的差
20、值決定。在典型機群環(huán)境中,SCSI連接失效的主要原因來自信號噪聲干擾。顯然,從高可用性 的角度來講,“差分方式”更為可取?!安罘址绞健备蝗菀资苄盘栐肼暤挠绊?,而且可以大 大增加信號的傳輸距離,安裝更為靈活。顯然,SCSI技術(shù)適合用來構(gòu)造小容量的存儲系統(tǒng)。 i i 磁盤B$歹| RAID (SCSI 總線 SCSI attached) 8近年來,磁盤陣列的推廣和普及十分迅速,對于數(shù)據(jù)及應(yīng)用比較重要的場所,磁盤陣列成為外存儲系統(tǒng)的首選。a、不同RAID結(jié)構(gòu)對高可用性的支持根據(jù)磁盤陣列上數(shù)據(jù)和冗余信息的存放方式,磁盤陣列分成六個級別:RAID0 RAID5。在陣列的應(yīng)用中,根據(jù)具體應(yīng)用環(huán)境,人們又
21、設(shè)計出許多新的RAID結(jié)構(gòu):RAID0為不包含任何冗余信息的陣列,它支持數(shù)據(jù)分塊和并行I/O。RAID1也稱作鏡像陣列,鏡像技術(shù)是傳統(tǒng)的存儲系統(tǒng)容錯技術(shù)。在鏡像陣列中,磁盤分 成一組組鏡像對,每個磁盤上的數(shù)據(jù)在成鏡像的磁盤上保持著完全一樣的備份。RAID1具有很高的可靠性,它可容忍多至N/2個磁盤的失效。缺點是代價昂貴,系統(tǒng)需要犧牲一半的I/O帶寬和容量來獲得較高的可靠性。RAID2把磁盤分為數(shù)據(jù)盤和校驗盤。用戶數(shù)據(jù)按位或按字節(jié)分散存放于數(shù)據(jù)盤上,校驗 盤上存放相應(yīng)的海明糾錯碼,這使冗余度從鏡像盤的100%降至大約25-40%,同時系統(tǒng)能容忍的失效盤數(shù)也減少了。RAID3采用相對簡單的校驗碼來
22、保證數(shù)據(jù)的完整性,校驗盤數(shù)減至1,冗余度為1/N,數(shù)據(jù)以位交叉方式存放。當單盤失效時,可從剩余的磁盤和校驗盤上讀出相應(yīng)單元的數(shù)據(jù)再 異或而得。如若要能容忍更多的磁盤失效,可采用多校驗盤或采用更復(fù)雜的檢糾碼如 Reed-Solomon 碼或 MDS。RAID4是一種塊交叉奇偶校驗冗余陣列,采用塊交叉方式獨立傳送,在扇區(qū)一級進行數(shù)據(jù)交叉。它與 RAID3在結(jié)構(gòu)上有相似之處,不過RAID4中數(shù)據(jù)是以塊交叉形式分布在盤上。每塊的大小稱為一個分塊單元。RAID4使用一個專用的冗余盤存放檢驗信息。存取速度不高。RAID5和RAID4類似,只是它的校驗信息不再單獨存放在一個磁盤上,而是均勻分布在 所有磁盤上
23、。構(gòu)成陣列的磁盤不再有校驗盤與數(shù)據(jù)盤之分。RAID5把校驗盤分散存于陣列中,解決了 RAID4中校驗盤是磁盤系統(tǒng)的瓶頸這一問題,并且很好地保證了陣列的負載平衡。RAID5結(jié)構(gòu)同樣支持多盤的并發(fā)讀寫,但RAID5對控制器的要求很高,控制器除了要具備快速傳輸能力外,還要有很強的計算能力。RAID6: RAID6是一種采用分塊交叉技術(shù)及雙磁盤驅(qū)動器容錯的磁盤陣列。由于它有兩 個磁盤驅(qū)動器用于存放檢、糾錯冗余代碼,即使在雙盤出錯的情況下,仍能保證數(shù)據(jù)的完整性和有效性。因此,RAID6有很高的數(shù)據(jù)有效性和可靠性,特別適用于可靠性要求很高的領(lǐng) 域。RAID6中數(shù)據(jù)和校驗信息分塊交叉存儲在RAID所有的磁盤
24、上,多個磁盤可同時讀寫,I/O傳輸率較高。RAID10實際上是RAID0+ RAID1。它采用分塊和鏡像技術(shù),通過分塊鏡像集實現(xiàn)。采用 分塊技術(shù),多個磁盤可并行讀寫,磁盤I/O性能很高;采用鏡像存儲使得可靠性也成為所有磁盤陣列中最高的。由于集中了RAID0和RAID1的優(yōu)點,RAID10的性能是所有 RAID類型中最好的。但代價較高。b、磁盤陣列主要是采用冗余策略為用戶提供高可用特性。冗余數(shù)據(jù):如上所述,如果由于某磁盤故障導(dǎo)致該盤上的數(shù)據(jù)不可用,那么在該磁盤的數(shù)據(jù)可以通過在其它磁盤里存放的校驗數(shù)據(jù)進行在線重構(gòu),實現(xiàn)在線數(shù)據(jù)恢復(fù)。另外在其它磁盤里存放的校驗數(shù)據(jù)還可以用來進行數(shù)據(jù)在線糾錯,從而有效
25、地解決了系統(tǒng)可靠性問 題。冗余電源:絕大多數(shù)磁盤陣列都采用雙電源或熱備份電源,就算是主電源發(fā)生故障,磁盤陣列也不會掉電。冗余風扇:磁盤陣列都采用冗余風扇以防止發(fā)生風扇故障。在線維護:上面提過任一磁盤的數(shù)據(jù)可以通過在其它磁盤里存放的校驗數(shù)據(jù)進行在線重 構(gòu)。除此之外,磁盤陣列都支持冗余磁盤熱備份、支持磁盤熱插拔。機箱內(nèi)還有多種傳感器甚至專用插卡進行實時監(jiān)測、報警等。性能:按照所配置的 RAID級別,磁盤陣列可以提供不同的數(shù)傳率,但不管RAID級別如何,由于磁盤陣列支持多盤并行讀寫操作,磁盤陣列的帶寬遠遠大于采用傳統(tǒng)SCSI技術(shù)所能達到的帶寬,從而大大拓寬了 I/O瓶頸。備份的RAID控制器:某些磁
26、盤陣列采用熱備份控制器,如果主控制器發(fā)生故障,熱備份 的RAID控制器能夠自動替換主控制器。而舊M的某些RAID產(chǎn)品采用雙控制器,一旦某控制器發(fā)生故障,另外一個控制器就能馬上自動接管該故障控制器的負荷,從而大大提高了系統(tǒng)可靠性。磁盤陣列的流行也在于它的總擁有成本較低。一般情況下,磁盤陣列能夠在一個機柜中支持大量磁盤,這樣用戶就算要增加上百GB的存儲容量,通過增加磁盤就可以很方便地實現(xiàn),而不必支付其它的硬件、軟件費用。盡管磁盤鏡像的辦法也能靠簡單備份實現(xiàn)數(shù)據(jù)高可用性,但磁盤陣列的效率要高得多,只需要有相對而言極少的校驗數(shù)據(jù)就行,所以能高效率地利用磁盤空間。典型的磁盤陣列產(chǎn)品:以美國Mylex 公
27、司 的 DAC960SIB盤陣列 為例:5最多可以接35個SCSI磁盤;最大容量可達 16 TB;支持的RAID級別有:1, 3, 5,在RAID5配置下,冗余信息不超過總存儲容量的 12.5%;支持磁盤熱備份、支持磁盤熱插拔,具有數(shù)據(jù)自動糾錯和恢復(fù)功能;SCSI連接符合 Ultra SCSI協(xié)議,數(shù)傳率為每通道 40 MB/sec ;冗余電源;冗余風扇;支持在線維護和在線陣列系統(tǒng)重配置,無需關(guān)電;采用雙RAID控制器;c、磁盤陣列技術(shù)的新發(fā)展磁盤陣列技術(shù)仍然在不斷發(fā)展,除了存儲容量進一步加大之外,使用光纖傳輸數(shù)據(jù)越來 越流行,配置越來越靈活,很多磁盤產(chǎn)品支持自動配置,即根據(jù)用戶數(shù)據(jù)存儲的重要
28、級別, 磁盤空間利用率進行 RAID級別自動配置,同時遠程維護等技術(shù)也越來越成熟。可以看出,RAID技術(shù)適合用來構(gòu)造大、中容量的存儲系統(tǒng)。 iii 串行磁盤存儲體系結(jié)構(gòu),包括舊M 9333和 SSA ( Serial Storage Architecture串行存儲結(jié)構(gòu))SSA徹底擺脫了 SCSI缺陷(總線競爭、總線仲裁)的束縛,是一種高性能、低成本的 串行接口,專門用來連接服務(wù)器、工作站、存儲子系統(tǒng)和存儲設(shè)備。SSA用兩根信號線(收、發(fā))就可以實現(xiàn)全雙工通訊。用銅線進行傳輸時,使用差分信號模式,只要四根信號線就可實現(xiàn)。甚至可以用光纖來進行信號高速傳輸。SSA的特性如下:拓撲結(jié)構(gòu):SSA的拓撲
29、結(jié)構(gòu)十分靈活,既可以連接成簡單的串或者環(huán),也可以連接成復(fù) 雜的交叉串形式。這樣就允許用戶按照各自對成本、性能、高可用性的要求進行連接。其 中,環(huán)形拓撲結(jié)構(gòu)最符合高可用環(huán)境的要求。20MB/s Bandwidth圖2 SSA系統(tǒng)的典型拓撲結(jié)構(gòu)SSA的特性如下:拓撲結(jié)構(gòu):SSA的拓撲結(jié)構(gòu)十分靈活,既可以連接成簡單的串或者環(huán),也可以連接成復(fù) 雜的交叉串形式。這樣就允許用戶按照各自對成本、性能、高可用性的要求進行連接。其 中,環(huán)形拓撲結(jié)構(gòu)最符合高可用環(huán)境的要求。靈活配置:任何支持SSA的設(shè)備均可以作為 SSA節(jié)點,可以是服務(wù)器、工作站、磁盤、 插卡、也可以是開關(guān)。每個 SSA節(jié)點都支持多個獨立的串行口
30、,典型的 SSA磁盤或插卡有 兩個口,而SSA開關(guān) 可能有多達126個串口。SSA的兩個串口間的連線距離最遠可達20米,而如果改用光纖的話,這個距離可擴展為 2.5Km。SSA支持設(shè)備的熱插拔和自動配置;支持自尋址,不要求地址開關(guān)。這樣,SSA網(wǎng)絡(luò)就能夠以最低的開銷,十分容易地實現(xiàn)在線擴展或重新配置。SSA節(jié)點通常支持多條替代路徑,使得節(jié)點配置簡便,加強了高可用性。并且串口也比并口更容易實現(xiàn)共享存儲。圖3顯示了如何以高可用性為原則,在兩個服務(wù)器節(jié)點之間配置共享SSA磁盤設(shè)備。該網(wǎng)絡(luò)包含兩個環(huán), 外環(huán)連接服務(wù)器和控制器;內(nèi)環(huán)連接控制器和磁盤。注意在這種雙環(huán)結(jié)構(gòu)中,每個設(shè)備都有替換路徑。這意味著S
31、SA網(wǎng)絡(luò)可容忍單個環(huán)路出現(xiàn)故障,如果一個連接失效,系統(tǒng)仍能保持互連,網(wǎng)絡(luò)的整體運行不受影響,只是要損失一定的帶寬。而如果有一 個設(shè)備失效,所有其它設(shè)備仍能被訪問。性能:SSA環(huán)是全雙工的,每一鏈路可同時以20MB /秒的速率雙向傳輸信息。當處理器將讀/寫指令的比例平衡到各占50%時,環(huán)上的總帶寬是 20MB/秒的四倍一達到 80MB/秒的最大值。不同的SSA鏈路能夠獨立地同時執(zhí)行不同的操作。數(shù)據(jù)只在啟動者與其目的設(shè)備之間 傳輸,而不是在整個環(huán)上流動。這叫作 空間復(fù)用”,意味著總線被復(fù)用,也使得 SSA徹底擺脫了 SCSI缺陷(總線競爭、總線仲裁)的束縛。圖3 基于SSA的高可用服務(wù)器系統(tǒng)高可用
32、性和高可靠性:SSA可檢測環(huán)中的斷路并自動重新配置系統(tǒng),恢復(fù)鏈路以保持通信,而這對用戶都是透明的。這不僅可在發(fā)生意外斷路時提供保護,而且使用戶可以在線增添 或減少磁盤驅(qū)動器而不中止運行、不丟失數(shù)據(jù)。在SSA中,連接設(shè)備的電纜允許全雙工的點對點通訊。這意味著從主機發(fā)出的信息可雙向輸送到環(huán)上的每一個設(shè)備。即使兩個設(shè)備之間發(fā)生斷路,信息仍可通過環(huán)路的分支傳送 到環(huán)上的每一個設(shè)備。另外,SSA也支持RAID技術(shù),可以將 SSA環(huán)中的SCSI磁盤配置成各種 RAID級別。這 樣,就繼承了 RAID技術(shù)的精華,進一步提高了高可用性和高可靠性。服務(wù)能力:SSA網(wǎng)絡(luò)是由點到點連接組成,而不是象 SCSI總線那
33、樣存在總線競爭、總線 仲裁。這使得故障容易診斷、容易被隔離。另外,每個SSA節(jié)點都能檢測開路、短路故障,這也簡化了故障的修復(fù)工作。不難看出,SSA技術(shù)適合用來構(gòu)造大容量、高帶寬的存儲系統(tǒng)。2、外存儲系統(tǒng)方案的選擇在規(guī)劃高可用機群的共享的外存儲系統(tǒng)時,要綜合許多因素一起來評估,最重要的四項因素是成本、高可用性、技術(shù)及性能。首先,我們得弄清楚自己所受的約束條件,弄清楚機群的用戶在外存儲方面最關(guān)心的是哪一類指標。顯然,數(shù)據(jù)的高可用性對于高可用機群是最重要的特性,這樣,我們就必須要采用冗余技術(shù)來保障數(shù)據(jù)的高可用性。另外,還要預(yù)留足夠的資源支持系統(tǒng)的發(fā)展??傊?,要緊密結(jié)合應(yīng)用環(huán)境才能選擇出一個合適的高可
34、用機群外存儲系統(tǒng)方案。C.互連設(shè)備的選擇機群中的各個節(jié)點通過網(wǎng)絡(luò)實現(xiàn)互連,因此網(wǎng)絡(luò)是機群的生命線。網(wǎng)絡(luò)還是檢測失效、 對共享存儲空間并發(fā)訪問的通道。下面,我們將討論支持高可用機群的不同類型的網(wǎng)絡(luò),以及在為機群配置網(wǎng)絡(luò)時所必須考慮的各項因素。應(yīng)用于機群的網(wǎng)絡(luò)可以分為兩類:TCP/IP 網(wǎng)絡(luò)非TCP/IP網(wǎng)絡(luò):指的是節(jié)點間點到點的連接,如串行 RS232和SCSI總線。TCP/IP網(wǎng)絡(luò)在高可用機群中TCP/IP網(wǎng)絡(luò)既被用做公共網(wǎng)絡(luò)又被用作私有網(wǎng)絡(luò)。公共網(wǎng)絡(luò)用于把機 群的節(jié)點與客戶機聯(lián)結(jié)在一起。私有網(wǎng)絡(luò)僅僅用于機群節(jié)點之間,用于每個節(jié)點上的機群鎖管理器(Cluster Lock Manager)的通
35、信。不同的 TCP/IP網(wǎng)絡(luò)介質(zhì)有不同的特性,必須針對 用戶的需求來選擇。TCP/IP 網(wǎng)絡(luò)技術(shù)有幾種網(wǎng)絡(luò)技術(shù)在市場上比較流行,實現(xiàn)這些技術(shù)的廠家有舊M和其它公司。下面我們列出3種在高可用機群上最通用的網(wǎng)絡(luò):以太網(wǎng)令牌環(huán)網(wǎng)FDDI 網(wǎng)對于運行在一個工作組上的具有個性化應(yīng)用程序來說,以太網(wǎng)提供了足夠的帶寬。隨著工作組的規(guī)模增加,沖突域變大,結(jié)果使得網(wǎng)絡(luò)通訊變得效率很低。但是采用把工作組分段從而減小沖突域的方法可以在某種程度上使問題得到緩解。令牌環(huán)由于它的存取方式和它的高帶寬, 即使在重負荷下也能達到預(yù)設(shè)的性能指標。 令 牌環(huán)網(wǎng)在傳輸介質(zhì)或網(wǎng)絡(luò)適配器出故障時都能自動地恢復(fù),并能隔離失效域的軟錯誤,
36、從而在物理層提供了高級管理。令牌環(huán)的費用要比以太網(wǎng)高。FDDI網(wǎng)絡(luò)提供了 100Mbps的傳輸速率到桌面并且在重負荷下也能達到預(yù)設(shè)的性能指 標。如果采用雙環(huán)的結(jié)構(gòu)可靠性就更高了。當然它的代價也是最高的。以太網(wǎng)10 Mbps共享式 半雙工CSMA/CD 協(xié)議非屏蔽雙絞線、 屏蔽雙絞線、 同軸電纜、光纖、令牌環(huán)16/4M共享式 半雙工令牌8級訪問優(yōu)先級 重負載時共享帶寬非屏蔽雙絞線、 屏蔽雙絞線、 光纖FDDI100 Mbps令牌非屏敝雙紋線(5)、共享式 半雙工訪問優(yōu)先級重負載時共享帶寬屏敝雙紋線、光纖表:TCP/IP網(wǎng)絡(luò)的類型和及屬性IBM網(wǎng)絡(luò)適配器:用于RS/6000的以太網(wǎng)適配器Ether
37、net High-Performance LAN Adapter(feature code 2980)用于RS/6000的令牌環(huán)網(wǎng)絡(luò)適配器Token-Ring High-Performance Network Adapter(feature code 2970)用于RS/6000的FDDI網(wǎng)絡(luò)適配器Fiber Distributed Data Interface Adapter (feature code 2720)Fiber Distributed Data Interface Dual Ring Upgrade Kit (feature code 2722)這個適配器需要系統(tǒng)先裝FDDI適
38、配器(feature code 2720)FDDI-Fiber Dual-Ring Upgrade (feature code 2723)FDDI-Fiber Single-Ring Adapter (feature code 2723)FDDI-Fiber Dual-Ring Adapter為機群選擇一個網(wǎng)絡(luò):6構(gòu)建一個高可用機群的網(wǎng)絡(luò),要考慮以下幾個因素:價格性能可靠性機群事件檢測率對IP地址的接管如果能保證沖突域小并且不需要令牌環(huán)網(wǎng)、FDDI網(wǎng)那樣的高帶寬和高可靠性的話,對于公共網(wǎng)絡(luò)而言,以太網(wǎng)是最好的選擇。它價格便宜,有最快的錯誤檢測率(6秒),并且支持IP和硬件地址接管。如果帶寬和可
39、靠性是主要的性能要求,就需要構(gòu)建令牌環(huán)網(wǎng)或FDDI網(wǎng)。令牌環(huán)網(wǎng)的錯誤檢測率為12秒,而FDDI網(wǎng)的錯誤檢測率為 6秒。然而,F(xiàn)DDI網(wǎng)的帶寬要比令牌環(huán)網(wǎng)的 帶寬要高得多。另一方面, FDDI網(wǎng)不支持硬件地址的接管(不是 IP地址的接管),F(xiàn)DDI 網(wǎng)占用的插槽數(shù)目更多,價格也最高。對于私有網(wǎng)絡(luò)而言,以太網(wǎng)改善了鎖管理,減小了鎖流量,在多數(shù)情況下是最好的選擇。 如果鎖管理的負荷很重,就可能需要FDDI環(huán),因為它有最高的帶寬。不必在一個私有網(wǎng)上進行硬件地址切換。非TCP/IP網(wǎng)絡(luò)在高可用機群中,非TCP/IP網(wǎng)絡(luò)也叫串行網(wǎng)絡(luò)。在這個機群中現(xiàn)在能使用兩種類型的串行網(wǎng)絡(luò):RS-232串行連接這是一種點
40、到點的網(wǎng)絡(luò),機群中兩個節(jié)點的串口通過一條RS-232串行電纜聯(lián)結(jié)。SCSI總線它提供了一個在共享 SCSI總線上的通信網(wǎng)絡(luò)。SCSI-2差分(8-bit和16-bit)適配器既可以作初始設(shè)備也可以作目標設(shè)備。除了用于建立連接的SCSI電纜以外,不要求任何特殊的硬件。在高可用機群中,既然串彳T網(wǎng)絡(luò)只是用來發(fā)送keepalive包和Heartbeat信息的,所以串行網(wǎng)絡(luò)的帶寬是足夠的。絕大多數(shù)機群都用RS-232作為串行網(wǎng)絡(luò)。但是如果在機群中使用支持SCSI差分協(xié)議的SCSI磁盤作為共享存儲系統(tǒng),那么就應(yīng)該配置 SCSI總線以便在各個節(jié)點之間提供盡可能多的傳送keepalive包和Heartbea
41、t信息的路徑。Keep-Alive是Keep-Alive協(xié)議的中的一個對象。KA協(xié)議定義了檢測連接是否中斷的方 法,使得套接字資源得到清除。同樣的,KA還能檢測到遠端程序是否停止了作用(即便當遠端主機仍然有效)。這是所有KA的基本的功能。Heartbeat是執(zhí)行心跳協(xié)議的一種開放資源對象。也就是說,在機器之間消息按規(guī)律的間隔被傳遞,如果消息沒有被某一機器接收,那么這個機器就被認為是失效了,并且一些相應(yīng)的措施會被采取。心跳信號可以傳遞心跳消息通過串行連接或端對端協(xié)議包裝的串行連接 或以太網(wǎng)接口。心跳信號開始時,主節(jié)點建立一個浮動IP地址的接口,用來被外部客戶訪問。當這個節(jié)點失效時,心跳機群中的另
42、一個節(jié)點會開始一個同樣IP地址的接口,并且使用地址解析協(xié)議來確保所有通過這個地址的通信都被這臺機器接收。這種處理失效的方法稱為IP地址接管。其它網(wǎng)絡(luò)技術(shù)當前,為了提高高可用機群上網(wǎng)絡(luò)的性能,有幾種網(wǎng)絡(luò)技術(shù)開始在高可用機群市場上 嶄露頭角,如千兆位以太網(wǎng)、 Myrinet網(wǎng)、HiPPI和超級HiPPI 。這些網(wǎng)絡(luò)技術(shù)在高可用機 群領(lǐng)域的發(fā)展動向值得我們大力關(guān)注。下面簡要介紹一下 HiPPI技術(shù)的特點以及 Compaq公司的HiPPI網(wǎng)絡(luò)解決方案:HiPPI技術(shù)的特點:6超高速數(shù)據(jù)傳輸,可配置為800Mbps或1.6 Gbps;非常簡單的型號系列;協(xié)議獨立;物理層流控制;面向連接的電路交換,非阻塞
43、電路交換允許多個會話同時發(fā)生;非常簡單的型號系列;和銅線及光纖的兼容性;Compaq公司的HiPPI網(wǎng)絡(luò)解決方案 由硬件和軟件組成:一個PCI網(wǎng)絡(luò)適配器把 Alpha系統(tǒng)連接到 HIPPI網(wǎng)絡(luò)。軟件設(shè)備驅(qū)動程序提供基本的 HIPPI協(xié)議支持和IPI-3存儲連接。Compaq的HIPPI網(wǎng)絡(luò)適配器特性:兩個總線主控 DMA通道用作并發(fā)的讀寫操作,與內(nèi)置 RISC處理器配合可支持完全 的散布/集合操作;最高132 MB/sec的PCI突發(fā)傳輸率;距離超過500米用50微米多模光纖,距離超過200米用62.5微米光纖;保證與ODS/Essential 網(wǎng)絡(luò)的HIPPI局域網(wǎng)交換開關(guān)產(chǎn)品兼容。Comp
44、aq的HIPPI網(wǎng)絡(luò)適配器的驅(qū)動程序的特征:完全支持 TCP/IP ,與 RFC 1374兼容;為改進效率和性能,最大傳輸單元(MTU )為65,280字節(jié)低級(raw) HIPPI特性驅(qū)動程序應(yīng)用程序接口IPI-3 (智能外設(shè)互聯(lián),版本3 )Compaq還提供一個可選的的設(shè)備驅(qū)動程序,用于基于 HIPPI協(xié)議之上的,到海量存 儲設(shè)備的與IPI-3兼容的連接。所支持典型的海量存儲設(shè)備是MaxStrat公司的 GEN4和GEN5磁檎陣列。下列 Alpha 服務(wù)器支持 Compaq的 HIPPI 解決方案:Compaq 2100; 4000/4100;8200/8400; DS Series ;
45、ES Series ; GS Series 。HIPPI 環(huán)境HIPPI既可以在點到點的環(huán)境也可以在交換網(wǎng)的環(huán)境下工作。2臺計算機能直接經(jīng)由HIPPI電纜連接,并使用HIPPI協(xié)議高速交換數(shù)據(jù);要想連接把2臺以上的設(shè)備連接成一 個HIPPI網(wǎng)絡(luò),就需要有 HIPPI交換開關(guān)。盡管Compaq的HIPPI解決方案都使用串行的連接,但也可以通過HIPPI交換開關(guān)和以前的并行HIPPI系統(tǒng)互連。HIPPI設(shè)備的互連也存在著距離限制,但是使用HIPPI調(diào)制解調(diào)器和 HIPPI擴展器增加這個距離。三、軟件高可用 內(nèi)核級、庫級、應(yīng)用程序級高可用:檢查點技術(shù)簡介檢查點技術(shù) 指的是定期將一個正在執(zhí)行程序的狀態(tài)
46、存儲在存儲器內(nèi),以便在故障后系統(tǒng)可以從該狀態(tài)恢復(fù)。每個被保存的程序狀態(tài)稱為檢查點。從以前保存的狀態(tài)重新開始的過程,稱為回滾恢復(fù)(rollback-recovery ) o在基于消息傳遞的系統(tǒng)中,從故障中進行回滾恢復(fù)的技術(shù)可以分為兩個主要的類別:基于檢查點的回滾恢復(fù)方法,和基于日志的回滾恢復(fù)方法?;跈z查點的恢復(fù)方法只依靠檢查點所記錄的狀態(tài)進行狀態(tài)恢復(fù)。根據(jù)何時進行記錄進行區(qū)分,這種方法又可以分為三個小類別:不協(xié)同的檢查點技術(shù),協(xié)同的檢查點技術(shù),依據(jù)通信的檢查點技術(shù)。基于日志的檢查點技術(shù)不僅使用了檢查點,而且使用了消息記錄技術(shù),以便重建沒有被檢查點保存的程序狀態(tài)。這種技術(shù)也可以分成三個小類別:悲
47、觀的記錄方法,樂觀的記錄方法,以及因果記錄方法?;谌罩镜臋z查點技術(shù)提供了更快的輸出提交(output commit )和更好的局部恢復(fù)功能。在基于消息傳遞的系統(tǒng)中,由于存在回滾擴散( rollback propagation )的可能性,回滾 恢復(fù)的過程比較復(fù)雜。背景介紹一致系統(tǒng)狀態(tài)(Consistent System States)系統(tǒng)狀態(tài)指系統(tǒng)中所有進程的單個狀態(tài)和通信管道的狀態(tài)之和。一個一致的系統(tǒng)狀態(tài),指該狀態(tài)中每一個已經(jīng)接收到的消息也在發(fā)送者的狀態(tài)中顯示為已經(jīng)發(fā)送了的。已經(jīng)發(fā)送,但尚未被接收到的消息不會造成系統(tǒng)狀態(tài)不一致。任何回滾恢復(fù)協(xié)議的基本目標都是在系統(tǒng)故障導(dǎo)致出現(xiàn)不一致系統(tǒng)狀態(tài)
48、后將系統(tǒng)帶回一個一致的系統(tǒng)狀態(tài)。但回滾之后的狀態(tài)不一定就是故障前已經(jīng)出現(xiàn)過的狀態(tài)。恢復(fù)線(recovery line )恢復(fù)線,即the most recent consistent global checkpoint ,是回滾恢復(fù)的最好選擇,因為回滾到這個狀態(tài)可以使故障丟失的工作最小化。PWDPieceWise Deterministic execution model ,簡稱PWD模型,是基于記錄的恢復(fù)方法的基礎(chǔ)。在這個模型中,進程的狀態(tài)由消息的接收劃分為不同階段,在每個階段中,進程的執(zhí)行是確定的。因此,只要記錄下不確定的事件,就可以重現(xiàn)進程的執(zhí)行過程??苫謴?fù)狀態(tài)一個進程狀態(tài)是可恢復(fù)(re
49、coverable)的,指保留了足夠的信息,使得我們可以重新執(zhí)行進程至U這個狀態(tài)。 Maximum Recoverable State ,即 the most recent recoverable consistent system state輸出提交(output commit )為了使外部世界(通常沒有回滾功能)看到一個一致的系統(tǒng),在輸出到外部世界之前,我們必須確保輸出數(shù)據(jù)的狀態(tài)是可恢復(fù)狀態(tài),這被稱為輸出提交問題。基于檢查點的回滾恢復(fù)技術(shù)由于這種技術(shù)并不保證一個任務(wù)失敗后能夠精確地再現(xiàn),因此,它適合于那些不經(jīng)常 和外部世界交互的場合。不協(xié)同的檢查點技術(shù)也稱獨立的檢查點技術(shù)。系統(tǒng)中的每個進程
50、單獨決定何時保存自己的狀態(tài)。這種方法的主要好處是較低的系統(tǒng)開銷,因為沒有進程之間的協(xié)同。另外進程自行決定檢查點也減少了不必要的保存。這種方法的主要缺點是多米諾效應(yīng),可能造成大量工作的浪費。另外還需要定期運行垃圾收集任務(wù)。在程序的正常執(zhí)行過程中,需要記錄各檢查點之間的依賴關(guān)系,以便在回滾恢復(fù)時可以確定一個一致狀態(tài),這種技術(shù)稱為依賴性跟蹤技術(shù)( dependency tracking) o有兩種類似的 依賴性跟蹤算法:依賴關(guān)系圖( Dependency Graphs)法和檢查點圖法(Checkpoint Graphs)。 這兩種方法是等價的,可以找到相同的恢復(fù)線。協(xié)同的檢查點恢復(fù)技術(shù)與不協(xié)同的檢查
51、點技術(shù)不同的是,協(xié)同式的檢查點恢復(fù)技術(shù)使得進程之間協(xié)調(diào)它們的 保存動作,形成一個全局上一致的狀態(tài)。這樣,就不會出現(xiàn)多米諾現(xiàn)象,因為進程總是恢復(fù) 到最近保存的一致狀態(tài)。存儲方面的開銷減少了。 這種方法主要的缺點在于犧牲了進程保存 檢查點的自主性。此外,協(xié)同就意味著帶來消息傳遞的開銷。實現(xiàn)協(xié)同方式的檢查點技術(shù)最簡單的方式是阻塞式方法。在檢查點協(xié)議執(zhí)行之前,阻塞所有進程間的通信。檢查點的發(fā)起者發(fā)出一個檢查點記錄請求, 所有進程收到請求后完成 記錄操作,并告知發(fā)起者。最后發(fā)起者收到所有進程的完成通告, 再通知所有進程重新開始 執(zhí)行正常操作。非阻塞的協(xié)同方法,實際上是把維護狀態(tài)一致性的責任從消息的發(fā)送方
52、轉(zhuǎn)至接收方。從狀態(tài)一致的定義可以看出,要想實現(xiàn)一致狀態(tài),就要避免一個消息在發(fā)送方的檢查點之后 發(fā)送而在接收方的檢查點之前接收的情況(指同一狀態(tài)的檢查點)。因此,我們只需要在發(fā)送方檢查點之后發(fā)送第一條消息之前先產(chǎn)生一個”要求檢查點”的請求,強迫接收方產(chǎn)生一個檢查點,就可以避免這種情況。依據(jù)通信的檢查點恢復(fù)技術(shù)依據(jù)通信的檢查點恢復(fù)技術(shù)是另一種避免多米諾效應(yīng)的協(xié)議。它類似于不協(xié)同的檢查點技術(shù),但系統(tǒng)中存在一些必須遵守的限制和通信模式,以保證恢復(fù)線的存在。 在進程間傳遞的消息中包含了足夠的信息,接收方可以據(jù)此判斷是否會因處理本條消息而違反限制條 件。如果會的話,接收方就要先保存一個檢查點。依據(jù)通信的檢
53、查點恢復(fù)技術(shù)可以分為兩類:基于模型的技術(shù)和基于下標的協(xié)同技術(shù)?;谀P偷募夹g(shù)是通過對系統(tǒng)的分析,提出一種不可能出現(xiàn)多米諾效應(yīng)的通信模型,然后強迫各進程遵守這個模型。 基于下標的協(xié)同是把協(xié)同技術(shù)引入不協(xié)同的檢查點技術(shù),方法是在進程間傳遞的消息中帶上檢查點的下標。如果接收方的檢查點下標小于消息中攜帶的下標, 表明接收方?jīng)]有執(zhí)行足夠的檢查點操作,它需要被強迫執(zhí)行檢查點操作?;谌罩镜幕貪L恢復(fù)方法基于日志的恢復(fù)方法假定系統(tǒng)滿足 PWD模型。進程由階段組成,每個階段由一個非事 先決定的事件開始,階段的執(zhí)行是確定性的。這里的事件指的是消息的接收, 消息的發(fā)送不 屬于事件?;谌罩镜姆椒ú粌H保存檢查點,而且
54、把非事先決定的事件記錄下來。在恢復(fù)時,這 些日志可以用來完全重現(xiàn)進程的執(zhí)行狀態(tài)。 基于檢查點的恢復(fù)方法則不同, 它不保證完全恢復(fù)到程序失敗之前的狀態(tài),這簡化了恢復(fù)過程,但也使它不適合于與外界交互的場合。悲觀的記錄方法使用這種策略的假設(shè)是,系統(tǒng)有可能在每一個事件之后出現(xiàn)故障(實際上故障是很少的,因此得名“悲觀的”)。在這種策略下,每一個事件的記錄必須在它影響進程的執(zhí)行之前 完成,因此,這種方法也被稱為同步記錄( synchronous logging)。故障發(fā)生時,進程從最近 的檢查點得到恢復(fù),事件被重現(xiàn),故障前的執(zhí)行被完全再現(xiàn)。這種方法的優(yōu)勢在于:輸出提交不需要特殊協(xié)議?;謴?fù)過程非常簡單?;謴?fù)
55、是從每一個進程最近的檢查點開始的。不需要復(fù)雜的垃圾收集協(xié)議。這種方法的缺點在于同步記錄的性能開銷太大。可以使用特殊的硬件或軟件方法,減 少同步記錄的開銷。樂觀的記錄方法與悲觀方法相反,樂觀的方法假定故障之前消息記錄會完成,因此采用異步方法記錄消息。這種方法不需要在記錄消息時阻塞進程的執(zhí)行, 因此有更好的性能,但代價是比較復(fù) 雜的恢復(fù)策略和垃圾收集、輸出提交算法。在進程失敗時,那些沒有來得及輸出到穩(wěn)定存儲 器的消息丟失,無法被用來恢復(fù)進程的狀態(tài)。而且,如果消息的發(fā)送者出現(xiàn)故障,發(fā)送消息時的狀態(tài)是不可恢復(fù)的狀態(tài),因此消息的接收方就變成了孤兒進程( orphan process),必須 一同回滾。因
56、此,這種方法必須進行依賴性跟蹤。因果記錄方法因果記錄方法具有樂觀方法的性能優(yōu)勢(但不必作出樂觀假設(shè)),避免了對穩(wěn)定存儲器的同步訪問(除了在輸出提交期間)。同時,它保留了悲觀方法的大部分優(yōu)點。它允許每一個進程獨立地輸出提交,回滾利用的是最近的檢查點狀態(tài)。這些優(yōu)點的代價是更復(fù)雜的恢復(fù)協(xié)議。因果記錄方法的要點是:對進程狀態(tài)有影響的每一個事件的信息,不是已經(jīng)被全局地 記錄下來,就是被本地記錄下來。這樣,在進程恢復(fù)狀態(tài)時,就可以利用這些有關(guān)事件的信 息,重新執(zhí)行失敗的進程。根據(jù)因果記錄方法的恢復(fù)原理,必須進行因果性跟蹤。因果信息可以被存儲在先行圖中。先行圖的每個結(jié)點代表一個事件,結(jié)點之間的有向邊代表ha
57、ppened-before關(guān)系。進程之間發(fā)送消息時,把自己本地的先行圖附帶在消息中一同發(fā)送出去,這樣各進程之間就可以了解所有事件的先后次序和影響關(guān)系。各種方法之間的比較UncoordinatedCheckpointingCoordinatedCheckpointingPessimisticLoggingOptimistic LoggingCausalLoggingPWD Assumed?NoNoYesYesYesOverheadLowHigherHighestHigherHigherOutput CommitNot possibleVery slowFastestSlowFastCheckpo
58、int/processSeveral11Several1Garbage CollectionComplexSimpleSimpleComplexComplexRecoveryComplexSimpleSimpleComplexComplexDomino EffectPossibleNot possibleNot possibleNot possibleNot possibleOrphansPossiblePossibleNot possiblePossibleNot possibleRollback ExtentUnboundedLast checkpointLast checkpointSo
59、me previous checkpointLast checkpoint 系統(tǒng)級軟件高可用簡介:分布式文件系統(tǒng)高可用1、分布式系統(tǒng)的可用性模型及可用性分析1)分布式系統(tǒng)高可用模型在通常的分布式系統(tǒng)環(huán)境中,客戶指定待定的服務(wù)器,即客戶與服務(wù)器是一個一一對應(yīng) 的關(guān)系,在這種系統(tǒng)中,當服務(wù)器發(fā)生故障就導(dǎo)致系統(tǒng)失敗, 顯然這種分布式系統(tǒng)是非冗余 的,可靠性較低。分布式系統(tǒng)中高可用服務(wù)是通過在服務(wù)端提供多個功能相同的服務(wù)方,使得系統(tǒng)中服務(wù)方滿足冗余要求,當任一服務(wù)方發(fā)生故障, 系統(tǒng)快速地檢測故障, 并透明地進行整個服務(wù)器 遷移,使客戶與備份的服務(wù)方進行交互,能繼續(xù)完成任務(wù)。下圖給出了分布式高可用模型的
60、圖形表不。建立提供高可用服務(wù)的分布式高可用系統(tǒng)通常采用兩個或多個服務(wù)方同時彼此提供獨 立的服務(wù),各服務(wù)方之間通過網(wǎng)絡(luò)實現(xiàn)互連,網(wǎng)絡(luò)通常是冗余的:當任一服務(wù)方發(fā)生故障, 該服務(wù)方處于“故障”狀態(tài),這時分布式系統(tǒng)透明地進行服務(wù)方遷移,使客戶與其它的活動態(tài)的服務(wù)器進行交互。 下面,我們在不考慮網(wǎng)絡(luò)的可用度的情況下,采用排隊論來分析一下分布式系統(tǒng)的可用性,設(shè)分布式系統(tǒng)中的服務(wù)方個數(shù)為n,假設(shè):系統(tǒng)的每個服務(wù)方存在兩個狀態(tài),即活動狀態(tài)和故障狀態(tài);組成多服務(wù)方系統(tǒng)的各個服務(wù)方的壽命服從指數(shù)分布,故障方的修理時間也服 從指數(shù)分布,且修理如新;服務(wù)方之間的切換時間不考慮。高可用系統(tǒng)的可用度可形式化為一個M/M
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)信息安全管理服務(wù)合同
- 二零二五年微生物菌劑原料采購與質(zhì)量控制合同3篇
- 血型抗原在免疫應(yīng)答中的作用-洞察分析
- 2025年度洗車服務(wù)與車輛救援承包合同范本2篇
- 線性規(guī)劃求解技巧-洞察分析
- 水泥行業(yè)數(shù)字化轉(zhuǎn)型路徑研究-洞察分析
- 貸款居間服務(wù)合同
- 吸蟲疾病流行病學(xué)調(diào)查-洞察分析
- 二零二五年房產(chǎn)抵押貸款個人信用保險合同樣本3篇
- 二零二五年枸杞采摘與廣告宣傳推廣合同3篇
- 水利工程實驗室量測作業(yè)指導(dǎo)書
- 人教數(shù)學(xué)七年級下全冊同步練習-初中數(shù)學(xué)七年級下冊全冊同步練習題(含答案)
- 原油脫硫技術(shù)
- 部編版初中語文七至九年級語文教材各冊人文主題與語文要素匯總一覽表合集單元目標能力點
- 工程項目收入情況統(tǒng)計表
- GB/T 29490-2013企業(yè)知識產(chǎn)權(quán)管理規(guī)范
- 湖南省鄉(xiāng)鎮(zhèn)衛(wèi)生院街道社區(qū)衛(wèi)生服務(wù)中心地址醫(yī)療機構(gòu)名單目錄
- 《中外資產(chǎn)評估準則》課件第6章 英國評估準則
- FZ∕T 63006-2019 松緊帶
- 罐區(qū)自動化系統(tǒng)總體方案(31頁)ppt課件
- 工程建設(shè)項目內(nèi)外關(guān)系協(xié)調(diào)措施
評論
0/150
提交評論