本主題說明執行 9.0.0 版或更新版本之應用裝置的資料庫容錯移轉功能。對於這些應用裝置,容錯移轉完全自動執行,除非服務提供者應用裝置非預期關閉,在這種情況下仍可執行手動程序。
備註: 本主題僅適用於執行 9.0.0 版或更新版本的應用裝置。如需舊版應用裝置的相關資訊,請參閱
資料庫容錯移轉 - 舊版應用裝置。
自動化容錯移轉
自動化容錯移轉功能包括下列項目。
- 單一資料來源連線 - 所有應用裝置現在都使用單一資料來源連線,且透過新的 pgbouncer 服務來代理連線。Pgbouncer 是連線共用器,可維護基礎 postgres 資料庫的連線,並提供單一連線點供應用裝置服務使用。此服務也處理所有容錯移轉和主機移轉,並自動更新以指向新的主控資料庫,以便在主機之間順暢轉換。
- 在應用裝置關閉或重新啟動時控制主要資料庫的切換 - 每次由客體關閉或重新啟動目前的主要資料庫時,以受控制的方式將主要角色移轉至 HA 配對中的另一個應用裝置。這只稍微中斷應用裝置的運作,主要會影響透過 Blast (Web) 入口網站建立的桌面連線。透過 Horizon Client 建立的桌面連線不受影響。這也會造成暫時無法使用 horizonadmin,在切換期間要求桌面連線的使用者可能會遇到錯誤,而沒有可用的桌面 (但稍後重試應可讓其連線至桌面)。
- 租用戶應用裝置非預期故障時自動容錯移轉主要資料庫 - 現在會自動偵測主機故障,接著要求服務提供者應用裝置以驗證應用裝置是否實際關閉。延遲三分鐘後,系統就會起始容錯移轉程序。相較於以往的容錯移轉程序,這個新的容錯移轉程序干擾較少,隨後會讓 Slony 叢集處於正常複寫狀態 - 容錯移轉後不需要重新初始化 Slony。
下述服務支援這些功能。
服務 | 說明 | 記錄位置 | 附註 |
---|---|---|---|
Pgbouncer | 連線共用器,代理平台服務與 postgres 之間的資料庫連線。 | /var/log/pgbouncer/ |
|
Dbmonitor | 具有下列功能的監控服務:
|
/var/log/dbmonitor/ | |
Switchover | 在關機時執行指令碼,以執行切換動作。 | /var/log/desktone/slony-services | |
Resubscribe | 在啟動時執行指令碼,以執行重新訂閱動作。 | /var/log/desktone/slony-services |
手動容錯移轉服務提供者應用裝置
如果服務提供者應用裝置非預期關機,您可以在其他服務提供者應用裝置上執行下方步驟,以進行手動容錯移轉。
- 以 root 身分執行 failover-slony-master 指令碼 (位於 /usr/local/desktone/scripts/):
failover-slony-master <database type> '<database password>'
其中 <database type> 為 fdb、edb 或 avdb。 - 確認 pgbouncer.ini 檔案指向目前應用裝置的前端 IP 位址:
/usr/local/desktone/scripts# grep '<IP address>' /etc/pgbouncer/pgbouncer.ini
- 重新載入 pgbouncer 服務:
service pgbouncer reload
- 執行 slony-status 以確認主要狀態和複寫:
/usr/local/desktone/scripts# slony-status <org #>