web-dev-qa-db-ja.com

「重複PVが見つかりました」

SERVER:~ # pvs
  Found duplicate PV Wb0b2UTCKtpUtSki0k2NnIB24qNj4CEP: using /dev/mapper/36005076304ffc2500000000000004903 not /dev/mapper/36005076304ffc2990000000000004903
  PV                                            VG          Fmt  Attr PSize   PFree  
  /dev/mapper/36005076304ffc2500000000000004903 application lvm2 a--   50.00g  35.00g
  /dev/sda4                                     system      lvm2 a--  133.24g 100.39g
SERVER:~ # 

OSはSLES 11 SP3です。

質問:これは問題でしょうか?はいの場合、PVメッセージの重複を解決するにはどうすればよいですか? :)ディスクはSAN /マルチパスからのものです。

6
user90825

私の個人的な経験では、「重複したPV」は通常、特定のSAN LUNへのマルチパスアクセスを持つシステムが原因ですが、LVMは個々のパスのブロックデバイスを除外するように構成されていません。デバイスマッパーの名前はWWNN/WWPNのようにも見えます(ただし、SLESを使用してそれが何か別のものであるかどうかを知るには十分な経験がありません)。PV自体がDMデバイス。

RHELでは/dev/disk/by-pathそして、これらが同じLUNであるかどうかを確認します。

これは問題でしょうか?

マルチパス設定になっているはずの場合は、問題になる可能性があります。たとえば、基になるデバイスが/dev/mapper/mpathfですが、LVMが見つかりました/dev/sdf最初にそれをアクティブ化することを決定しました。その後、ストレージへのアクセスは、仕様にあるほど冗長ではありません。たとえば、パス/dev/sdfはVGを停止し、すべてのLVにアクセスできなくなる可能性があります。

はいの場合、PVメッセージの重複を解決するにはどうすればよいですか?

LVMの場合、各PVには、このPVのUUID、それが含まれているVGの名前、および同じVG内の他のすべてのPVのUUIDを示す「LVMヘッダー」があります(これにより、 PVがありません)。このすべてのエラーは、同じUUIDを持つ別のPVが見つかったことを意味します。

このため、実際には単一の原因はないため、提供した情報を使用して解決策を提案することは困難です。

それはsoundsyour lvm.conf(前述のように)個々のパスを無視するようにフィルターを設定する必要がありますが、それはWAG(大雑把な推測)であるため、さらに確認する必要があります。

LVMフィルターの例:

filter = [ "r/block/", "r/disk/", "r/sd.*/", "a/.*/" ]

上記のフィルターは、名前に「block」または「disk」という単語が含まれているデバイスをスキップ(「削除」)します。また、「sd」で始まるすべてのデバイス(sdfsdgなど)を削除し、最後に他のすべてのデバイス(「.* ")。

あなたはおそらくそれほど遠くに行きたくないでしょう(あなたは/dev/sda4(ルートVG)。個々のパス用の特定のブロックデバイスを削除するだけです。

しかし、もう一度確認してください。それ以外にも100万の可能性があります(SAN AdminがLUNのクローンを作成し、何らかの理由でシステムに提示しました。UUID、宇宙線、不運などの間のランダムな衝突はありそうもありません)。

更新:

また、更新するたびに/etc/lvm/lvm.conf(RHELパス)使用しているinitramfsを再構築する必要があります。これらをルートVG外のストレージとして使用しているようです(これはベストプラクティスです)が、そのファイルを変更するときは常に、起動時にカーネルが同じファイルを参照することを確認して、一貫した結果が得られるようにする必要があります。

6
Bratchley