6.8. マルチパスデバイスに対する重複した PV 警告

マルチパスストレージで LVM を使用する場合は、一部の LVM コマンド (vgslvchange など) で、ボリュームグループまたは論理ボリュームを一覧表示するときに、以下のようなメッセージが表示されることがあります。
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/dm-5 not /dev/sdd
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/emcpowerb not /dev/sde
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using /dev/sddlmab not /dev/sdf
このセクションでは、これらの警告の原因について説明したあとに、以下の 2 つのケースでこの問題を解決する方法について説明します。
  • 出力に表示された 2 つのデバイスが、両方とも同じデバイスへの単一パスである
  • 出力に表示された 2 つのデバイスが、両方ともマルチパスマップである

6.8.1. 重複した PV 警告の原因

デフォルト設定では、LVM コマンドは /dev のデバイスをスキャンし、検出された各デバイスで LVM メタデータをチェックします。これは、以下のような /etc/lvm/lvm.conf のデフォルトフィルターにより実行されます。
filter = [ "a/.*/" ]
Device Mapper Multipath、または EMC PowerPath や Hitachi Dynamic Link Manager (HDLM) などの他のマルチパスソフトウェアを使用している場合、特定の論理ユニット番号 (LUN) に対する各パスは、/dev/sdb または /dev/sdc などの異なる SCSI デバイスとして登録されます。マルチパスソフトウェアは、この各パスに対してマッピングされる新しいデバイスを作成します (たとえば Device Mapper Multipathの場合は /dev/mapper/mpath1 または /dev/mapper/mpatha、EMC PowerPath の場合は /dev/emcpowera、Hitachi HDLM の場合は /dev/sddlmab)。各 LUN は、基礎となる同じデータを参照する、/dev 内の複数のデバイスノードを持つため、すべてのデバイスには同じ LVM メタデータが含まれます。したがって、LVM コマンドは同じメタデータを複数回検出し、重複したものとして報告します。
これらの重複メッセージはただの警告であり、LVM 操作が失敗したことは意味しません。これらのメッセージは、1 つのデバイスだけが物理ボリュームとして使用され、他のデバイスは無視されることをユーザーに通知します。メッセージが、正しくないデバイスが選択されていることを示す場合、または警告がユーザーにとって重大である場合は、物理ボリュームに必要なデバイスのみを検索し、マルチパスデバイスへの基礎となるパスを省略するために、フィルターを適用できます。

6.8.2. 単一パスに対する重複した警告

以下の例は、表示された重複デバイスが、両方とも同じデバイスへの単一パスであることを示す、重複した PV 警告を示しています。この場合、/dev/sdd/dev/sdf は、multipath -ll コマンドの出力の同じマルチパスマップ下にあります。
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/sdd** not **/dev/sdf**
この警告が表示されないようにするには、LVM がメタデータを検索するデバイスを制限するように、/etc/lvm/lvm.conf ファイルでフィルターを設定します。フィルターは、/dev (または /etc/lvm/lvm.conf ファイルで dir キーワードにより指定されたディレクトリー) のスキャンによって検出された、各デバイスに適用されるパターンのリストです。パターンは、任意の文字で区切られた正規表現と、a (許可) または r (拒否) が先頭に付けられた正規表現です。リストは順番に評価され、デバイスに一致する最初の正規表現によって、デバイスが許可または拒否 (無視) されるかどうかが決定されます。どのパターンにも一致しないデバイスは許可されます。LVM フィルターの一般的な情報については、「フィルターを使用した LVM デバイススキャンの制御」 を参照してください。
設定するフィルターには、LVM メタデータをチェックする必要があるすべてのデバイス (root ボリュームグループがあるローカルハードドライブやマルチパスデバイスなど) を含める必要があります。マルチパスデバイスへの基礎となるパス (/dev/sdb/dev/sdd など) を拒否することにより、これらの重複する PV 警告を回避できます (一意の各メタデータ領域はマルチパスデバイス自体で 1 度しか検出されないため)。
以下の例は、複数のストレージパスが利用可能であることが原因で発生する重複 PV 警告を回避するフィルターを示しています。
  • このフィルターは、最初のハードドライブ (/dev/sda) の 2 番目のパーティションと、すべての device-mapper-multipath デバイスを許可し、他のすべてのパーティションとデバイスを拒否します。
    filter = [ "a|/dev/sda2$|", "a|/dev/mapper/mpath.*|", "r|.*|" ]
  • このフィルターは、すべての HP SmartArray コントローラと、EMC PowerPath デバイスを許可します。
    filter = [ "a|/dev/cciss/.*|", "a|/dev/emcpower.*|", "r|.*|" ]
  • このフィルターは、最初の IDE ドライブのすべてのパーティションと、すべてのマルチパスデバイスを許可します。
    filter = [ "a|/dev/hda.*|", "a|/dev/mapper/mpath.*|", "r|.*|" ]

注記

新しいフィルターを /etc/lvm/lvm.conf ファイルに追加する場合は、元のフィルターを # でコメントアウトするか、削除してください。
フィルターが設定され、/etc/lvm/lvm.conf ファイルが保存されたら、これらのコマンドの出力をチェックして、物理ボリュームまたはボリュームグループが不明でないことを確認します。
# pvscan
# vgscan
また、以下の例で示されているように、/etc/lvm/lvm.conf ファイルを変更しなくても、LVM コマンドに --config 引数を追加すれば、すぐにフィルターをテストすることができます。
# lvs --config 'devices{ filter = [ "a|/dev/emcpower.*|", "r|.*|" ] }'

注記

--config 引数を使用してフィルターをテストした場合、サーバーの設定には永続的な変更が加えられません。テスト後に、有効なフィルターを /etc/lvm/lvm.conf ファイルに設定してください。
LVM フィルターの設定後に、再起動時に必要なデバイスのみがスキャンされるように、dracut コマンドで initrd デバイスを再ビルドすることが推奨されます。

6.8.3. マルチパスマップの重複する警告

以下の例は、両方ともマルチパスマップである 2 つのデバイスに対する、重複する PV 警告を示しています。これらの例では、2 つの異なるパス (ただし、デバイスは異なる) について説明します。
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/mapper/mpatha** not **/dev/mapper/mpathc**
Found duplicate PV GDjTZf7Y03GJHjteqOwrye2dcSCjdaUi: using **/dev/emcpowera** not **/dev/emcpowerh**
この状況は、同じデバイスへの 1 つのパスであるデバイスに対する重複の警告よりも深刻です。多くの場合、これらの警告は、マシンが確認すべきでないデバイス (たとえば、LUN クローンまたはミラー) がマシンに提供されたことを意味します。この場合は、マシンから取り外すデバイスが明確にわかっていない限り、状況は改善しません。この問題を解決するには、Red Hat テクニカルサポートにお問い合わせいただくことが推奨されます。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。