量化系統可用性(Availability)的指標是時間,通常會說的是一年可容忍停機多久,或是用百分比來說明系統可用的時間,帶出來的幾個名詞是:
- SLA:Service Level Agreement服務水準協議
廠商給予服務水準的正式承諾文件 - SLO:Service Level Objectives服務水準目標
對SLA的服務標的之說明文件,像是在某個條件下的維修服務做到哪邊 - MTD:Maximum Tolerable Downtime 最大可容忍停機時間,通常會寫的是Annual MTD,以年為標準列出可停機的時間,MTD根據可用性高到低列出:
- 6個9:MTD=32s,一年最多停機32秒,可用性是99.9999%
- 5個9:MTD=5m15s:最多停機5分多鐘,可用性是99.999%
- 4個9:MTD=52m34s:最多停機快1小時,可用性是 99.99%
- 3個9:MTD=8hr45m36s:最多停機8個多小時,可用性是99.9%
- 2個9:MTD=3d15hr36m:最多停機超過3天半,可用性是99%
談到MTD最大可停機時間,就需要說明幾個與災難(Disaster,指的是停機發生)與復原(Recovery,指的是系統恢復)相關的時間點:
- Last backup:災難發生前最後備份的時間點
- Disaster:事故(outage event)發生的時間點
- Complete system recovery:完成系統還原的時間點,只有系統沒有資料
- 完成recovery lost data:把最後備份的資料倒回去的時間點,有系統還有部分資料
- 完成recover manually collect data:把手工蒐集的資料完整倒回去,也就是恢復了系統與資料。這個時間點之後系統完全正常作業,但需要進一步的驗證
- 完成test & verify system/data:完成系統與資料的驗證。
確定事件的時間點後,就可以說明各個時間區間了終於講到這篇的重點:
- RPO:Recovery Point Objective可容許的最大資料損失量(acceptable amount of data lose),從時間點1到2
這段時間的資料因為處於備份的空窗期,所以即便是系統復原後資料還是會有缺失。這部分缺失的資料後面會做recover work backlog來嘗試修復 - RTO:Recovery Time Objective讓系統重新上線花費的時間(acceptable amount of downtime),即時間點2到3
這段時間系統因為事故而無法正常運行,所以重點會是恢復整個系統,簡稱work backlog,注意到這邊資料都還沒有倒回去,所以系統是空的 - WRT:Work Recovery Time將工作恢復到之前的服務水準,時間點從3到5。
- 這段時間就是將備份的資料倒回去,時間點從3到4
- 嘗試修復RPO這段時間失去的資料叫recover work backlog,注意這部分不是把備份倒回去
- 把備份倒回去這個動作叫做recover lost data
- 對於當下無法上系統的資料要先手工處理後然後再上系統,時間從3到5
把手工處理蒐集的資料倒進去叫做recover manually collect data - MTD:等於RTO+WRT,從災難發生到系統完全恢復,時間從2到5
參考文件
- 漫談高可用性與災難重建的規劃與評估(第三集) by Joseph Tu:有圖與解釋
- RPO, RTO, WRT 與 MTD@Dog's Life 2.0:有圖有解釋有例子
_EOF_
沒有留言:
張貼留言