ページの先頭です。
サイト内の現在位置を表示しています。
  1. ホーム
  2. ソフトウェア
  3. CLUSTERPRO
  4. CLUSTERPRO X
  5. 動作環境
  6. 注意事項(Linux)
  7. 連続運転時の注意事項
ここから本文です。

CLUSTERPRO X - Linux版 注意事項

連続運転時の注意事項について

現象
OSを連続稼働している場合、以下の周期毎にCLUSTERPROのハートビートリソースやモニタリソースが異常を誤認する場合があります。
  • 約198日
  • 約248日
  • 約447日
  • 約497日

 

詳細
CLUSTERPROのモニタリソース、ハートビートリソース等、タイマを設けているモジュールでtimes() システムコールを用いています。
このtimes()システムコールが以下のパターンとなる際にCLUSTERPROへの影響が発生します。
  1. OS内部のtickカウンタが一巡するタイミングでOSのtimes() システムコールが一定期間(*1)不正な値を返却するため発生します。
    当方では、約447日、約497日が確認されています。
    *1 この期間はkernelバージョンやアーキテクチャに依存します。

  2. times の返り値は符号付きの値として扱われるため、返り値の符合が反転するタイミングで発生します。
    当方では、約198日、約248日が確認されています。
どちらも以下の条件を有します。
  • 日数の起点はOSを起動してからであり CLUSTERPROを起動してからの経過日数ではありません。
  • 32bit OS でのみ発生する現象となります(64bit OS では発生しません)。

上記のタイミングにおいて、CLUSTERPROが受ける影響や発生条件等は以下の a.~c. の3通りになります。

a. 1.のタイミングで、モニタリソース/ハートビートの監視タイムアウトが発生する

[現象]
  • OSを起動して"発生タイミング"日数経過すると対象モニタのタイムアウトや遅延警告が発生する
  • モニタリソースがタイムアウトした場合、異常時に設定されているアクションが実行される

[備考]
  • 連続運転を行ってもタイミングによって発生しないケースもある
    (監視のリトライにより監視異常検出が回避された場合等)

[対象モニタ]
  • 全モニタリソース
  • 全ハートビートリソース

[対象バージョン]
  • CLUSTERPRO X 3.x シリーズ : ~X 3.0.4-1 まで
  • CLUSTERPRO X 2.x シリーズ : ~X 2.1.6-1 まで
  • CLUSTERPRO X 1.0 シリーズ : 全バージョン
  • CLUSTERPRO Ver3.1 シリーズ : 全バージョン

b. 2.のタイミングで、モニタリソースの監視タイムアウトが発生する

[現象]
  • OSを起動して"発生タイミング"日数経過すると対象モニタの監視タイムアウトが発生する
  • モニタリソースがタイムアウトした場合、異常時に設定されているアクションが実行される

[対象モニタ]
  • DB2モニタ(db2w)
  • ダイナミックDNSモニタ(ddnsw)
  • カスタムモニタ(genw)
  • JVMモニタ(jraw)
  • MySQLモニタ(mysqlw)
  • Oracleモニタ(oraclew)
  • PostgreSQLモニタ(psqlw)
  • プロセス名モニタ(psw)
  • システムモニタ(sraw)
  • Sybaseモニタ(sybasew)
  • 仮想IPモニタ(vipw)

[対象バージョン]
  • CLUSTERPRO X 3.x シリーズ : ~X 3.1.3-1のみ
    (上記以外は全て対象外)

c. 2.のタイミングで、ユーザ空間モニタの遅延警告が発生する

[現象]
  • OSを起動して"発生タイミング"日数経過するとユーザ空間モニタの遅延警告が発生する

[備考]
  • 遅延警告が発生するのみでユーザ空間モニタのリセット/パニックは発生しない

[対象モニタ]
  • ユーザ空間モニタ

[対象バージョン]
  • CLUSTERPRO X 3.x シリーズ : ~X 3.1.3-1 まで
  • CLUSTERPRO X 2.x シリーズ : ~X 2.1.7-1 まで
  • CLUSTERPRO X 1.0 シリーズ : 全バージョン
  • CLUSTERPRO Ver3.1 シリーズ : 全バージョン

対処
ご使用のCLUSTERPROの各バージョンにより、以下の対処を行ってください。
対策が複数ある場合は、その中から対処しやいすもの1つのみ実施してください。

  1. CLUSTERPRO X 3.x系

    [a.の対策]
    • X 3.1.0-1以降へアップデートする
    • 後述(*2) の回避策を実施する

    [b.の対策]
    • X 3.1.4-1以降へアップデートする

    [c.の対策]
    • X 3.1.4-1以降へアップデートする

  2. CLUSTERPRO X 2.x系

    [a.の対策]
    • X 2.1.7-1以降へアップデートする
    • 後述(*2) の回避策を実施する

    [b.の対策]
    • 対象外

    [c.の対策]
    • X 2.1.8-1以降へアップデートする

  3. CLUSTERPRO X 1.0系
    [a.の対策]
    • CLUSTERPROを最新バージョンへアップグレードする
    • 後述(*2) の回避策を実施する

    [b.の対策]
    • 対象外

    [c.の対策]
    • 対処時期未定
      (CLUSTERPRO設定による回避は不可能です)

  4. CLUSTERPRO Ver3.1系

    [a.の対策]
    • CLUSTERPROを最新バージョンへアップグレードする
    • 後述(*2) の回避策を実施する

    [b.の対策]
    • 対象外

    [c.の対策]
    • 対処時期未定
      (CLUSTERPRO設定による回避は不可能です)

*2 以下A、B、C 何れかの方法にて回避をお願いします。
A. times()の問題が発生する周期を経過しないように以下のような運用形態にしてください。

  • 定期的にクラスターシャットダウン、リブートを行う運用
  • 1サーバーずつローリング方式で定期的にサーバーシャットダウン、リブートを行う運用
    (サーバーのダウンに伴いフェールオーバーグループは次のフェールオーバーポリシーのサーバーへ移動します)

B. times()の問題が発生する周期を経過する近傍で、clptoratioコマンドを使用してCLUSTERPROのタイムアウト倍率を一時的に変更し、倍率変更後のタイムアウトが40秒以上(余裕を持って60秒以上を推奨)となるようにしてください。

  • CLUSTERPRO X の場合
    clptoratioコマンドについてはリファレンスガイドを参照してください
  • CLUSTERPRO for Linux Ver3.x の場合
    clptoratioコマンドについてはコマンド編を参照してください

C. ハートビートタイムアウト値を40秒以上(余裕をもって60秒以上を推奨します)に設定してください。
各モニタのタイムアウト値を予め40秒以上(余裕をもって60秒以上を推奨します)かつリトライ回数に1以上を設定してください。

CLUSTERPRO

ページの先頭へ戻る