跳到內容
繁體中文

備援應用主機與接管

應用與資料庫不必綁在同一台。正式部署可用外部 PostgreSQL,另備一台應用主機指向同一庫。第二實例搶不到單實例鎖時不會退出,停在接手頁等待鎖釋放;也可以由管理員在頁上確認原主機已停之後接管,不必改設定檔。

確認原主機已停,再由備機接手4 / 4

備機完成接手與啟動後成為提供服務的主機。
  1. 備機啟動時未取得單實例鎖,停在守衛頁,接手前不對外服務。
  2. 維運人員先確認原主機已停止。
  3. 管理員在備機頁面重輸確認碼並驗證帳密。這次接手具名留痕。
  4. 備機完成接手與啟動後成為提供服務的主機。

用 docker-compose.external-database.yml 讓應用接外部 PostgreSQL。快速安裝在外部庫時不擅自產生 DB_PASSWORD,沿用庫上已有的密碼;缺值即拒絕啟動。

兩台應用主機指向同一庫時,同一時間只有一台持有單實例鎖。備機停在接手頁期間不跑資料庫遷移、不寫入。

INSTANCE_GUARD_ACK 環境變數路徑仍可用,給腳本化接管。頁面上的接管不必改檔。

服務還沒收起來之前,解封與接手頁是兩欄:左狀態與不可復原的警告,右編號步驟。冷卻或上次失敗固定在同一位置。

  1. 備機停在接手頁,顯示目前搶不到鎖。
  2. 確認對端應用主機已停。
  3. 重打 acknowledgement code。
  4. 以本地管理員帳密登入。
  5. 頁面完成接管,不必重啟容器。

操作具名留痕。確認碼與管理員驗證過了才往下走。

備份、還原與金鑰材料的落點見 備份與還原、金鑰管理。委託模式重啟後要在解封頁再交保管者憑證,見金鑰管理頁。

  • 頁面接管的確認與管理員驗證具名留痕。
  • 備機 halted 期間沒有遷移、沒有寫入。