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:~ #
オペレーティングシステムはSLES 11 SP3です。
質問:これが問題になる可能性がありますか?それでは、冗長PVメッセージを解決する方法は? :) ディスクが SAN/マルチパスにあります。
答え1
個人的な経験によると、「冗長PV」は、通常、システムが特定のSAN LUNへのマルチパスアクセスを持っているが、LVMが各パスに対してブロックデバイスをフィルタリングするように構成されていないために発生します。デバイスマッパー名はWWNN / WWPNのように見えます(これが他のものである可能性があるかどうかを知るにはSLESの経験が十分ではありませんが)。しかし、PV自体がDM装置によって提供される理由は不明である。
/dev/disk/by-path
RHELはこれが同じLUNであることを確認します。
これが問題になる可能性がありますか?
マルチパス設定が必要な場合は問題になる可能性があります。たとえば、プライマリデバイスが必要ですが、/dev/mapper/mpathf
LVMが/dev/sdf
最初にそれを見つけてアクティブにすることを決定した場合、ストレージへのアクセスはユーザーが指定したものと重複しません。たとえば、パスが/dev/sdf
VGに従うと、すべてのLVにアクセスできなくなる可能性があります。
それでは、冗長PVメッセージを解決する方法は?
LVMを使用すると、各PVには、そのPVのUUID、そのVGの名前、および同じVG内の他のすべてのPVのUUIDを示す「LVMヘッダー」があります(これが欠落しているPVがあるかどうかを示す方法です)。 。これらすべてのエラーは、同じUUIDを持つ別のPVを見つけたことを意味します。
したがって、この問題には単一の原因がないため、提供された情報に基づいてソリューションを見つけることは困難です。
それ音これは、前述のように、個々のパスを無視するようにフィルタを設定するのと同じですlvm.conf
が、これはWAG(野生の推測)であるため、これを確認するにはさらに調査する必要があります。
lvmフィルタを例にしてみましょう。
filter = [ "r/block/", "r/disk/", "r/sd.*/", "a/.*/" ]
上記のフィルタは、名前に「block」または「disk」という単語を含むすべてのデバイスをスキップ(「削除」)します。また、「sd」(たとえばsdf
、sdg
など)で始まるすべてのデバイスを削除し、最後に他のすべてのデバイス( " .*
")を「許可」します。
しかし、それまで行きたくないでしょう(/dev/sda4
ルートVGを使っているので)。個々のパスに使用される特定のブロックデバイスのみを削除します。
しかし、もう一度確認してください。他にも何百万ものものがあります(SAN管理者がLUNを複製してシステムに表示し、何らかの理由でUUID間のランダムな衝突、宇宙光線、不運などが発生する可能性はほとんどありません)。
修正する:
/etc/lvm/lvm.conf
また、更新するたびに持っているinitramfs(RHELパス)を再構築する必要があることにも言及する必要があります。これをルートVGの外部のリポジトリとして使用しているようですが(ベストプラクティスです)、ファイルを変更するたびに、起動時にカーネルがそれと同じファイルを表示できるようにすることで一貫した結果が得られます。 。