The Art of Readable Code && High Performance Comments

讀書會時提到 EBS 有這選項,但對它的意義不太清楚;順手念 manual 備忘:

當 EBS 資料出現問題時(範例為 degraded throughput,但猜想底層 CRC / parity fail 也可能觸發),AWS 會將該 volume 標為「inconsistent」,發送 volume status evnet,並停止其 I/O。

此時處理手法與傳統機房無異:

  1. 將 volume 或 instance 自線上服務撤下(服務的 HA 是另一個課題)
  2. Re-enable I/O
  3. 原機 fsck 或掛載到其他 instance 底下做
  4. 重新上線

但若單一 EBS 的 integrity 不影響服務運作(例如 unhealthy instnac e 會被重啓,有服務層級的 HA 如 MongoDB,或者 fs / raid 能自動修正排除資料錯誤),可以預先將該 volume 標注為 AutoEnableIO。則當錯誤發生時,I/O 會立刻恢復,而 EBS 將會通過 status check;而管理員還是能透過 event 發現事件記錄 (volume in a potentially inconsistent state),而採取必要手段。

發表迴響

分類

%d 位部落客按了讚: