Symfoware Serverにおいて、フェイルオーバーによるデータベースの未起動について

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
製品・サービス情報
対象製品Symfoware Server (Postgres)
プラットフォームLinux
アンサー種別 設計/開発
このページの先頭へ