Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.7. マルチパスデバイスに対する重複した 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.7.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 デバイスとして登録されます。マルチパスソフトウェアは、デバイスマッパーマルチパスの場合は /dev/mapper/mpath1 または /dev/mapper/mpatha、EMC PowerPath の場合は /dev/emcpowera、Hitachi HDLM の場合は /dev/sddlmab など、個々のパスにマップする新しいデバイスを作成します。各 LUN には、基盤となる同じデータを指す /dev 内に複数のデバイスノードがあるため、すべてに同じ LVM メタデータが含まれているため、LVM コマンドは同じメタデータを複数回検出し、複製として報告します。
これらの重複メッセージはただの警告であり、LVM 操作が失敗したことは意味しません。これらのメッセージは、1 つのデバイスだけが物理ボリュームとして使用され、他のデバイスは無視されることをユーザーに通知します。メッセージが、正しくないデバイスが選択されていることを示す場合、または警告がユーザーにとって重大である場合は、物理ボリュームに必要なデバイスのみを検索し、マルチパスデバイスへの基礎となるパスを省略するために、フィルターを適用できます。

6.7.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
また、以下の例のように、LVM コマンドに --config 引数を追加して、/etc/lvm/lvm.conf ファイルを変更せずに、すぐにフィルターをテストすることもできます。
# lvs --config 'devices{ filter = [ "a|/dev/emcpower.*|", "r|.*|" ] }'
注記
--config 引数を使用してフィルターをテストしても、サーバーの設定に対して永続的な変更は加えられません。テスト後に、作業フィルターを /etc/lvm/lvm.conf ファイルに設定してください。
LVM フィルターの設定後、再起動時に必要なデバイスのみがスキャンされるように、dracut コマンドで initrd デバイスを再構築することが推奨されます。

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

以下の例は、両方のマルチパスマップである 2 つのデバイスに対する重複した物理ボリューム警告を示しています。これらの例では、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 テクニカルサポートにお問い合わせいただくことが推奨されます。