迷思
鏡像偵測到故障後瞬間就能容錯移轉。
事實:容錯移轉耗時取決於 Redo 隊列大小
- 自動容錯移轉: 由鏡像伺服器發起(非見證伺服器),需「形成仲裁」(見證+鏡像均失去主體連線)且運行模式為同步。
- 手動容錯移轉: 由人工發起,適用無見證或非同步模式。
關鍵階段:Redo(Roll Forward)
同步模式僅保證記錄寫入鏡像磁碟,不保證已重放(Redo)。容錯移轉時,鏡像必須完成所有記錄隊列的 Redo 才能上線(Roll Back 在上線後非同步執行)。
Redo 平行度與版本差異
- 標準版 / 企業版核心數 ≤ 4: 單一 Redo 執行緒。
- 企業版核心數 ≥ 5: 每 4 核心配置 1 個 Redo 執行緒。
監控指標
必須持續監控 鏡像端的 Redo 隊列大小(`redo_queue`),它直接決定容錯移轉時的停機時間(Downtime)。許多環境忽略此指標,導致預期 RTO 嚴重偏差。
參考資源
- MSDN:〈Estimating the Interruption of Service During Role Switching〉