■概要
Device Mapper Multipath (DMMP)によるマルチパスを構成した環境において、パスの切断や復帰などの動作に応じてSCSIデバイスの認識状況が変化し、もともとLifeKeeperが認識していたLUの情報と、実際のLUの状況に食い違いが生じる可能性があります。
本記事の内容をご確認のうえ修正の適用をご検討ください。
■対象環境
LifeKeeper for Linux v9.0.2 以前をご使用の環境で、下記の3つの条件を満たす場合には修正の適用を強く推奨いたします。
– LifeKeeper for Linuxの全てのバージョン
– DMMP ARKを適用したマルチパス構成
– HPE社の3PAR StoreServシリーズを使用している
<上記対象の理由>
サイオステクノロジーより各ストレージベンダー様に、パスの切断や復帰などの動作に応じて、SCSIデバイスの認識状況が変化することが起きうるかについて確認をいたしましたところ、HPE社より3PAR StoreServシリーズでは状況により発生しうるとのご回答をいただきました。
そのため3PAR StoreServシリーズをDevice Mapper Multipath(DMMP)を使用したマルチパス構成でご利用のお客様には、本修正の適用を強くお勧めいたします。
また、HPE社以外のベンダー様からは該当事象は生じない、もしくは報告事例はないとのご回答をいただいております。そのため本修正を適用いただく緊急性は低いと言えますが、OSによるデバイスの認識がキーとなって発生する事象であるため、万全を期すのであれば本修正の適用をご検討ください。
■対処方法
v9.0.2 以前をご使用の場合、LifeKeeperの稼働中にSCSIデバイスの割当状況が変化しても本問題が発生しないように対応した修正パッチを適用ください。
なお、LifeKeeper for Linux v9.1.0 以降は修正対応済みのため、修正パッチの適用は不要です。
修正パッチは、2016年3月18日時点でフルサポート対象のバージョン(V8.1.2 以上)に対応しております。
現時点でv8.1.2未満のバージョンをご利用のお客様につきましては、パッチ提供対象となるv8.1.2以上のバージョンへアップデート頂いた後にパッチを適用していただく必要がございます。
パッチの入手方法につきましては、サポート証書に記載されております、お問い合わせ窓口にご連絡ください。修正パッチと適用方法をお送りいたします。
お問い合わせ窓口が弊社の場合、サポート証書の右上に記載されております PSC No をご確認の上、下記のWebフォームを利用してご連絡ください。
https://www.sios.com/products/bcp/lkdk/contact/support_lk.html
その際、以下の情報をお知らせくださいますようお願いいたします。
※パッチ導入に際しての作業ご担当者様の以下の情報
– PSC No.
– 会社名
– 氏名
– メールアドレス
– ご連絡先電話番号
– 導入先エンドユーザ名
– 製品のバージョン
■影響
この状況が発生すると、LifeKeeperは古いSCSIデバイス情報を元にSCSI制御を試みます。新しいSCSIデバイス情報との間に食い違いが生じていた場合は、LifeKeeperは無関係のSCSIデバイスに対してSCSI制御を行います。
この動作が直接の原因となってディスクやデータを破壊することはありませんが、考えられる影響として、無関係のディスクがreserveされ他ノードからのアクセスが受け付けられなくなる、またLifeKeeperのリソース切り替えが正しく行われないといった問題が考えられます。
■原因
LifeKeeper for Linuxは、運用中にSCSIデバイスの認識に変化が生じることを想定しておりませんでした。この想定の不足が本問題の原因です。
■解説
LifeKeeperのDMMP ARKは、保護対象のLU(ファイルシステムリソースのdisk)に対してSCSI-3 Persist reserveを発行することで、強固なデータ保護を実現しています。このreserveの宛先となるLUを特定するために、LifeKeeperは”multipath”コマンドの実行結果から保護対象LUのWWIDを探して、マルチパスデバイスを構成するsdデバイスを割り出します。
例:
mpathe (360002ac0000000000000004Q00005ec1) dm-5 3PARdata,VV size=4.0G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw `-+- policy='round-robin 0' prio=130 status=active |- 1:0:0:1 sde 8:224 active ready running |- 1:0:1:1 sdr 65:48 active ready running |- 0:0:3:1 sdl 8:16 active ready running `- 0:0:2:1 sdh 8:96 active ready running
上記の例では、sde,sdr,sdl,sdhの各デバイスがmpatheというマルチパスデバイスを構成しています。実際のアクセスは、sdデバイスに対応したsgデバイス(SCSI Generic device)を用います。
Multipath環境におけるpathの復帰などの構成の変化に際して、OSが各SCSIデバイスを指し示すTargetID情報を変更した場合、各SCSIデバイスに割り当てられるsgデバイス番号も同時に変化します。
LifeKeeperはこのsgデバイス番号をOS起動時のものをそのまま使っており、システム起動中に変更される状況を想定しておりませんでした。そのため本事象が発生すると、LifeKeeperが認識しているsgデバイスと実際のsgデバイスの状況に食い違いが生じる可能性があります。
■恒久対策
本不具合は、LifeKeeper for Linux v9.1.0 で修正対応済です。