Symfoware Serverにおいて、フェイルオーバーによるデータベースの未起動について
Symfoware Server (Postgres)のよくあるご質問を検索できます。
Symfoware Serverの技術情報はこちら
- PRIMECLUSTERにて、Symfoware Serverのフェイルオーバーを繰り返したところ、Symfoware Serverが起動しなくなりました。原因と対処方法を教えてください。
-
[原因]
Symfoware Serverのフェイルオーバーが発生すると、待機系のSymfowareの昇格(または起動)時にクラッシュリカバリが実行されます。
フェイルオーバーが繰り返されたことにより、クラッシュリカバリ処理に時間がかかるようになり、Symfoware Serverの起動がタイムアウトになったことが原因です。
[対処方法]
フェイルオーバー時のタイムアウトを予防するには以下の対処方法があります。それぞれの対処にはメリット/デメリットがありますので、対処時は十分にご検討ください。
(1)PRIMECLUSTERのタイムアウト時間を延ばす
(2)Symfoware Serverのmax_wal_sizeを小さくする
(1)の対処について
■メリット
PRIMECLUSTERのタイムアウトの値を大きな値へ変更された場合、変更した分だけ、切り替えまでの時間が長くなります。延長された時間内で問題が解決した場合は、システム稼働上問題として検知されず、業務継続可能です。
■デメリット
フェイルオーバー時の切り替えに時間がかかっている場合に、異常と判断するまでの時間が長くなります。
(2)の対処について
■メリット
max_wal_sizeの値を小さく設定した場合、保持されるWALの量が小さくなるため、切り替え時間が短くなり、タイムアウトに抵触する可能性が下がります。
■デメリット
checkpointが発生する頻度があがるため、通常業務でのレスポンス性能が劣化する場合があります。
フェイルオーバーの切り替え時間の詳細は以下のマニュアルを参照してください。
FUJITSU Software Symfoware Server V12.6.0
FUJITSU Software Enterprise Postgres 12 SP1
クラスタ運用ガイド(PRIMECLUSTER編)
第2章 フェイルオーバー運用のセットアップ
2.8 FUJITSU Enterprise Postgresのデータベースクラスタのリソース情報の登録
max_wal_sizeの詳細は以下のマニュアルを参照してください。
FUJITSU Software Symroware Server V12.6.0
PostgreSQL 12.7 Documentation
Part II. The SQL Language
Chapter 14. Performance Tips
14.4. Populating a Database
14.4.6. Increase max_wal_size
なお、上記以外の製品バージョン/レベルについては、該当するマニュアル箇所を参照してください。
製品・サービス区分 | Symfoware | ||||
---|---|---|---|---|---|
製品・サービス情報 |
|
||||
アンサー種別 | 設計/開発 |