第十章 故障恢復(fù)與系統(tǒng)容錯(cuò)_第1頁(yè)
第十章 故障恢復(fù)與系統(tǒng)容錯(cuò)_第2頁(yè)
第十章 故障恢復(fù)與系統(tǒng)容錯(cuò)_第3頁(yè)
第十章 故障恢復(fù)與系統(tǒng)容錯(cuò)_第4頁(yè)
第十章 故障恢復(fù)與系統(tǒng)容錯(cuò)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1第十章故障恢復(fù)與系統(tǒng)容錯(cuò)2主要內(nèi)容10.1概述10.2事務(wù)恢復(fù)10.3容錯(cuò)10.4分層故障屏蔽和成組故障屏蔽10.5小結(jié)310.1概述

分布式系統(tǒng)設(shè)計(jì)的一個(gè)重要目標(biāo)是:它可以從部分失效中自動(dòng)恢復(fù),而且不會(huì)嚴(yán)重影響整體性能。即在發(fā)生故障時(shí),能容許錯(cuò)誤,在某種程度上仍可以繼續(xù)工作。

410.2事務(wù)恢復(fù)1.事務(wù)的原子化特征要求:所有已提交的事務(wù)對(duì)數(shù)據(jù)項(xiàng)的影響都已反映到數(shù)據(jù)項(xiàng)中,所有未提交或異常終止的事務(wù)對(duì)數(shù)據(jù)項(xiàng)的影響應(yīng)全部撤消。

5耐久性:

要求將數(shù)據(jù)項(xiàng)保存到永久存儲(chǔ)器中并可隨時(shí)使用,客戶的提交請(qǐng)求意味著該事務(wù)的所有影響不僅記錄在服務(wù)器的數(shù)據(jù)項(xiàng)中,而且記錄在永久存儲(chǔ)器中。錯(cuò)誤原子化:

是指服務(wù)器發(fā)生故障,事務(wù)對(duì)數(shù)據(jù)的影響是原子化的。62.恢復(fù)處理程序的主要任務(wù):將數(shù)據(jù)保存到永久存儲(chǔ)器中對(duì)數(shù)據(jù)項(xiàng)進(jìn)行恢復(fù)重新組織恢復(fù)文件回收存儲(chǔ)空間7意向表:

任何提供事務(wù)的服務(wù)器需要對(duì)客戶事務(wù)所存取的數(shù)據(jù)項(xiàng)進(jìn)行監(jiān)控。表中包含事務(wù)名及由事務(wù)修改的數(shù)據(jù)項(xiàng)的值。當(dāng)服務(wù)器準(zhǔn)備提交事務(wù)時(shí),它必須把該事務(wù)的意向表以及意向表中的數(shù)據(jù)保存到恢復(fù)文件中。84.恢復(fù)文件表目:恢復(fù)文件除了保存數(shù)據(jù)項(xiàng)外還應(yīng)保存更多的信息。表10.1恢復(fù)文件中包含的項(xiàng)目表目類型數(shù)據(jù)項(xiàng)事務(wù)狀態(tài)意向表數(shù)據(jù)項(xiàng)的值事務(wù)標(biāo)識(shí)符、事務(wù)狀態(tài)(準(zhǔn)備提交、提交、異常中止)以及其他用于兩階段提交協(xié)議和嵌套事務(wù)的狀態(tài)值事務(wù)標(biāo)識(shí)符及一系列意向,每個(gè)意向中包含數(shù)據(jù)項(xiàng)標(biāo)識(shí)符及數(shù)據(jù)項(xiàng)在恢復(fù)文件中的位置表目?jī)?nèi)容描述910.2.1登錄

登錄技術(shù)是一種恢復(fù)文件的方法?;謴?fù)文件代表某服務(wù)器所執(zhí)行的所有事務(wù)的歷史記錄,其中包括數(shù)據(jù)項(xiàng)的值、事務(wù)狀態(tài)表目及意向表。10Data:A100Data:B200Data:C300Data:A96Data:B204Trans:Tprepared<A、P1><B、P2>P0Trans:TcommittedP3Data:C297Data:B207Trans:UPrepared<C、P5><B、P6>P4P0P1P2P3P4P5P6P7CheckpointEndoflog圖10.1銀行服務(wù)登陸111.數(shù)據(jù)項(xiàng)的恢復(fù)當(dāng)服務(wù)器重啟時(shí),首先設(shè)置數(shù)據(jù)項(xiàng)的初始默認(rèn)值,然后將控制權(quán)交給恢復(fù)處理程序。恢復(fù)處理程序負(fù)責(zé)恢復(fù)服務(wù)器上的數(shù)據(jù)項(xiàng),它必須恢復(fù)所有已提交的事務(wù)對(duì)數(shù)據(jù)項(xiàng)的影響,并撤消所有未提交或異常終止的事務(wù)對(duì)數(shù)據(jù)項(xiàng)的影響。122.恢復(fù)文件的重新組織恢復(fù)處理程序負(fù)責(zé)恢復(fù)文件的重新組織以加快恢復(fù)過程并減少文件所占的存儲(chǔ)空間。如果沒有對(duì)恢復(fù)文件進(jìn)行重新組織,那么恢復(fù)處理程序必須從后向前掃描恢復(fù)文件直到找出所有數(shù)據(jù)項(xiàng)的值。13Checkpointing過程:

將當(dāng)前已提交的數(shù)據(jù)項(xiàng)的值及未完成事務(wù)的意向表和事務(wù)狀態(tài)表目寫入到新恢復(fù)文件中。當(dāng)恢復(fù)完成后,任何事務(wù)開始之前立即執(zhí)行Checkpointing過程。完成Checkpointing后,用新的恢復(fù)文件代替原恢復(fù)文件,并還原遠(yuǎn)恢復(fù)文件的存儲(chǔ)空間。檢查點(diǎn)表示由Checkpointing過程所存儲(chǔ)的信息。1410.2.2影子版本影子版本是另一種恢復(fù)文件的方法。地圖:對(duì)保存于稱為版本存儲(chǔ)文件中的數(shù)據(jù)進(jìn)行定位。版本存儲(chǔ)文件:數(shù)據(jù)項(xiàng)的全部記錄。影子版本:準(zhǔn)備提交一個(gè)事物時(shí),將所有由事務(wù)所修改的數(shù)據(jù)項(xiàng)添加到版本存儲(chǔ)文件中,這些新的臨時(shí)版本稱為影子版本。事務(wù)狀態(tài)文件:事務(wù)狀態(tài)表目及意向表。15MapatstartMapwhenTcommitsP3P4P2P0P1P2ABCABC10020030096204297207P0P1P2P3P4檢查點(diǎn)地圖版本存儲(chǔ)文件圖10.2版本存儲(chǔ)文件16MapABCP3P4p2TTUpreparedcommittedprepared穩(wěn)定存儲(chǔ)器事務(wù)狀態(tài)文件ABP3P4BCP6P5圖10.3提交事務(wù)T和準(zhǔn)備提交事務(wù)U時(shí)地圖及事務(wù)狀態(tài)文件的相應(yīng)情形數(shù)據(jù)項(xiàng)恢復(fù)

服務(wù)器重新啟動(dòng)時(shí),恢復(fù)程序讀取地圖,并利用地圖中的信息對(duì)版本存儲(chǔ)文件中的數(shù)據(jù)項(xiàng)進(jìn)行定位,然后就可以恢復(fù)相應(yīng)的數(shù)據(jù)項(xiàng)了。1718表10.2協(xié)調(diào)程序——工作者表目?jī)?nèi)容表目類型協(xié)調(diào)程序工作者表目?jī)?nèi)容事務(wù)標(biāo)識(shí)符,相應(yīng)的工作者事務(wù)標(biāo)識(shí)符,相應(yīng)的協(xié)調(diào)程序10.2.3恢復(fù)文件中的事務(wù)狀態(tài)表及意向表表目1.對(duì)兩階段提交協(xié)議的恢復(fù)19....Trans:TPreparedCoord’r:Trans:TcommittedTrans:UPreparedIntentionslistTWorkerList:…listIntensionsworker:UCood’r…Trans:UuncertainTrans:Ucommitted圖10.4與兩階段提交協(xié)議相關(guān)的表目的登陸20表10.3兩階段提交協(xié)議的恢復(fù)對(duì)象協(xié)調(diào)程序協(xié)調(diào)程序工作者工作者工作者協(xié)調(diào)程序狀態(tài)準(zhǔn)備提交提交提交uncertain準(zhǔn)備提交done在服務(wù)器故障之前沒有到達(dá)任何決定,它向自己的所有工作者服務(wù)器發(fā)送異常終止事務(wù)的消息,并在自身的恢復(fù)文件中添加異常終止事務(wù)狀態(tài)。若沒有相應(yīng)的工作者列表,則工作者最終會(huì)因超時(shí)而異常終止該事務(wù)在服務(wù)器故障之前到達(dá)一個(gè)提交決定,若在此之前沒有發(fā)送DoCommit消息,則協(xié)調(diào)程序向自己的所有工作者發(fā)送一個(gè)DoCommit消息,并繼續(xù)兩階段提交協(xié)議的第四步在工作者故障之前若沒有發(fā)送HaveCommitted消息,則工作者向協(xié)調(diào)程序發(fā)送一個(gè)HaveCommitted消息,從而使協(xié)調(diào)程序在下一個(gè)檢查點(diǎn)處對(duì)該事務(wù)的信息不予考慮在知道事務(wù)結(jié)果之前工作者發(fā)生故障,只有在協(xié)調(diào)程序的提示下才可以決定事務(wù)狀態(tài)。工作者將發(fā)送GetDecision消息給協(xié)調(diào)程序,從而可以決定事務(wù)狀態(tài)。當(dāng)接收到應(yīng)答后,根據(jù)應(yīng)答的內(nèi)容相應(yīng)提交或異常終止該事務(wù)工作者沒有進(jìn)行表決,并可異常終止該事務(wù)不采取任何行為212.恢復(fù)處理程序的重新組織執(zhí)行Checkpointing過程時(shí)必需保證:某事務(wù)的狀態(tài)不是done,則與之相應(yīng)的協(xié)調(diào)者不能從恢復(fù)文件中刪除,直到所有工作者都確認(rèn)已經(jīng)完成相應(yīng)事務(wù),可對(duì)狀態(tài)為done的表目進(jìn)行刪除。但若某事務(wù)的狀態(tài)uncertain,這相應(yīng)的工作者的表目必需保留。22TT1T2T11T12A圖10.5嵌套的事務(wù)3.嵌套事務(wù)的恢復(fù)子事務(wù)的臨時(shí)版本基于父事務(wù)的臨時(shí)版本,當(dāng)子事務(wù)提交時(shí),相應(yīng)的父事務(wù)繼承它的臨時(shí)版本。當(dāng)某子事務(wù)異常丟棄它的臨時(shí)版本。最頂層的事務(wù)最終提交時(shí),它的版本為新的提交版本。最頂層的事務(wù)最終提交或異常終止以前,臨時(shí)提交的臨時(shí)版本代表相應(yīng)的子事務(wù),并將它寫入服務(wù)器的恢復(fù)文件中。最頂層的事務(wù)在兩階段提交協(xié)議中作為協(xié)調(diào)者決定了這些臨時(shí)版本在恢復(fù)文件中的最終狀態(tài)。2310.2.4分布式事務(wù)的故障模型向永久存儲(chǔ)器進(jìn)行寫操作時(shí)可能發(fā)生故障服務(wù)器故障在消息到達(dá)目的地之前可能有一個(gè)隨機(jī)延遲可利用這種故障模型設(shè)計(jì)穩(wěn)定系統(tǒng),該系統(tǒng)各部件中可對(duì)任何單一故障進(jìn)行容錯(cuò)處理。2410.3容錯(cuò)

容錯(cuò)意味著系統(tǒng)發(fā)生故障還能提供服務(wù)容錯(cuò)與被稱為可靠系統(tǒng)緊密相關(guān)造成錯(cuò)誤的原因成為故障可靠性系統(tǒng)與控制故障緊密相關(guān)2510.3.1故障模式故障分類子類說明崩潰故障服務(wù)器停機(jī),但停機(jī)前正常工作遺漏故障接收故障發(fā)送故障服務(wù)器沒有對(duì)請(qǐng)求應(yīng)答服務(wù)器不能接收消息服務(wù)器不能發(fā)送消息響應(yīng)故障值故障狀態(tài)轉(zhuǎn)換故障服務(wù)器應(yīng)答不正確返回錯(cuò)誤值服務(wù)器偏離了控制流定時(shí)故障服務(wù)器的響應(yīng)在指定時(shí)間之外隨意性故障服務(wù)器可能在隨意的時(shí)間產(chǎn)生隨意的響應(yīng)故障分類表2610.3.2基于冗余的故障屏蔽信息冗余:通過維持冗余信息,使數(shù)據(jù)的存取或傳輸中的錯(cuò)誤可得到糾正。時(shí)間冗余如果一個(gè)操作執(zhí)行失敗,可以再執(zhí)行一次。物理冗余通過添加額外的硬件裝備或進(jìn)程使系統(tǒng)能夠容忍個(gè)別部件的實(shí)效或個(gè)別進(jìn)程的崩潰。2710.4分層故障屏蔽和成組故障屏蔽10.4.1分層屏蔽高層次服務(wù)器屏蔽低層次故障,如果不能屏蔽故障,可將它轉(zhuǎn)變成一個(gè)高層異常。到達(dá)用戶界面層次時(shí),大多數(shù)故障已經(jīng)得到屏蔽。10.4.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論