・事象概要
・LifeKeeper for Linux v9.5.0 において行われた改修の影響により、
SCSI共有ディスクの保護に使用する lkscsid デーモンが異常終了する場合があります。
・このデーモンは共有ディスクの I/Oフェンシングを行っているため、I/Oフェンシングの
信頼性を十分に担保できない可能性があります。
・事象詳細
・lkscsid が異常終了するため、core ファイルが作成されてファイルシステムを圧迫します。
・SCSIリザーブを奪われたことが検出できないため、コミュニケーションパスの障害時に
アクティブ側が再起動せず、スプリットブレイン状態になります。この場合でも SCSI
リザーベーションにより I/O は切り替わったノードに制限されるため、共有ディスクの
内容が破損することはありませんが、両ノードが起動したままになってしまうため、
構成によっては正常にフェイルオーバーが完了しない可能性があります。
(例:IPリソースが待機側で起動できないのでそこで止まります)
・タイミングによっては SCSIリザベーションが正常に行われず、その状態でスプリット
ブレインが発生した場合に、両ノードから共有ディスクへ書込を行いデータ破壊に至る
可能性があります。
・発生する頻度
・lkscsidの異常終了については高頻度で発生します。
・しかし、データ破壊については異常終了以外にも複数の事象が同時に発生する必要があるため、
そのような状態に陥ることは非常に稀であると推測しています。
・問題の発生する環境
・LifeKeeper for Linux v9.5.0 のバージョン、かつ、SCSI-2 のリザーブコマンドを使用
したシングルパスの共有ディスク構成の環境
・具体的には、以下のような環境が該当します。
・シングルパスで共有ディスクを接続している物理環境
・DMMP ARK をシングルパスで使用している場合は該当しません。
・VMware の仮想環境で、共有ディスクを RDM によりゲストへマッピングしている環境
・問題が発生する環境かを確認する方法
以下のコマンドを実行することで、問題が発生する環境か判定することが可能です。
/opt/LifeKeeper/bin/ins_list |cut -d ^A -f3|grep disk
(注) "^A"は制御文字なので、Ctrl-v - Ctrl-aで入力してください
実行して「disk」が返ってきた場合は、問題が発生する環境です。
なにも返ってこない場合は、この問題は発生しません。
または、以下の方法で実際に事象が発生しているか確認することができます。
1. lkscsid の起動メッセージより確認する
lkscsidはLifeKeeper core の一部として起動されるので、通常は以下のようなログが残ります。
Sep 29 05:50:22 lk-1 lk-start-stop[6749]: NOTIFY:startup:::010021:LifeKeeper starting to initialize
(略)
Sep 29 05:50:44 lk-1 lifekeeper[6845]: INFO:event.lcd_avail:::010462:LifeKeeper LCD daemon is now available
Sep 29 05:50:44 lk-1 runsv[6849]: INFO:runit:::013004:lkscsid daemon is starting up
Sep 29 05:50:44 lk-1 runsv[6851]: INFO:runit:::013005:lkvmhad daemon is starting up
Sep 29 05:50:44 lk-1 lkscsid[6847]: INFO:lkscsid:::007046:lkscsid daemon pid:6847 mlock:1 nice:-10
事象が発生した場合、lkscsid が自動的に再起動されるので、007046の初期化メッセージだけが
単独で出力されます。
したがって、007046のメッセージが LifeKeeper の起動と関係ないタイミングで出力されている
場合には、本事象が発生していると判断することができます。
2. lkscsid のプロセスIDで確認する
lkscsid は通常 LifeKeeper 起動時に常駐するので、稼働中にプロセスIDが変化することは
ありません。
しかし、本事象により再起動が発生した場合には、新しいプロセスIDが割り当てられます。
したがって、lkscsid のプロセスIDが不定期に変化している場合には、本事象が発生して
いると判断できます。
・対処方法
・本不具合は LifeKeeper for Linux v9.5.1 にて修正されていますので、
v9.5.1 へのバージョンアップを行うことで解決することができます。
・バージョンアップが不可能な場合は、個別パッチを適用することで不具合を回避できます。
対策パッチの配布に際しては、製品サポートを行なわせて頂く上で、
弊社が提供先を把握している必要がございます。
パッチをご希望の際は、申請時に 以下の情報をご提供ください。
・PSC No.
・氏名
・会社名
・メールアドレス
・ご連絡先電話番号
・導入先エンドユーザ名
・修正バージョン
・LifeKeeper for Linux v9.5.1 にて修正済みです
改訂履歴
2022年11月8日 語彙の表記を一部修正。
関連ワード
#バージョンアップ #アップデート #アップグレード