備援應用主機與接管
這一頁解決什麼
Section titled “這一頁解決什麼”應用與資料庫不必綁在同一台。正式部署可用外部 PostgreSQL,另備一台應用主機指向同一庫。第二實例搶不到單實例鎖時不會退出,停在接手頁等待鎖釋放;也可以由管理員在頁上確認原主機已停之後接管,不必改設定檔。
確認原主機已停,再由備機接手4 / 4
- 備機啟動時未取得單實例鎖,停在守衛頁,接手前不對外服務。
- 維運人員先確認原主機已停止。
- 管理員在備機頁面重輸確認碼並驗證帳密。這次接手具名留痕。
- 備機完成接手與啟動後成為提供服務的主機。
用 docker-compose.external-database.yml 讓應用接外部 PostgreSQL。快速安裝在外部庫時不擅自產生 DB_PASSWORD,沿用庫上已有的密碼;缺值即拒絕啟動。
兩台應用主機指向同一庫時,同一時間只有一台持有單實例鎖。備機停在接手頁期間不跑資料庫遷移、不寫入。
INSTANCE_GUARD_ACK 環境變數路徑仍可用,給腳本化接管。頁面上的接管不必改檔。
怎麼從頁面接管
Section titled “怎麼從頁面接管”服務還沒收起來之前,解封與接手頁是兩欄:左狀態與不可復原的警告,右編號步驟。冷卻或上次失敗固定在同一位置。
- 備機停在接手頁,顯示目前搶不到鎖。
- 確認對端應用主機已停。
- 重打 acknowledgement code。
- 以本地管理員帳密登入。
- 頁面完成接管,不必重啟容器。
操作具名留痕。確認碼與管理員驗證過了才往下走。
備份、還原與金鑰材料的落點見 備份與還原、金鑰管理。委託模式重啟後要在解封頁再交保管者憑證,見金鑰管理頁。
稽核看得到什麼
Section titled “稽核看得到什麼”- 頁面接管的確認與管理員驗證具名留痕。
- 備機 halted 期間沒有遷移、沒有寫入。