ドライブが消えて新しいブロックデバイスに戻るときの対処方法(LVMまたはDM(デバイスマッパー)を使用)

ドライブが消えて新しいブロックデバイスに戻るときの対処方法(LVMまたはDM(デバイスマッパー)を使用)

(この正解は、この質問と表面的にほとんど似ていません。質問をして、その質問を参照して自分で答えてください。)

VMに3つの独立したvirtioドライブ(3つの独立したブロックデバイスとして表示)が割り当てられ、3つの独立したVG(ボリュームグループ)に割り当てられる仮想ホスティング環境を考えてみましょう。

  • オペレーティングシステム/dev/vda--vgroot
  • db-- /dev/vdbvgdata
  • var-- /dev/vdcvgvar

仮想マシンがオンラインになると/dev/vdb消えます。これは、VMが新しいハイパーバイザーに移動しましたが、特定のボリュームがフリーズしたか、クレイジーなシステム管理者がボリュームを削除して一時的に別のホストにデプロイしたためです。私の場合は本当に幸運だと思います。

ボリュームが復元されると、Linuxカーネル(実際にはすべてではありませんが、少なくともRHEL6で始まる)はディスクが技術的に「オープン」と見なされるため、元のドライブ文字に割り当てるのではなく、新しいドライブ文字に割り当てます。装置: /dev/vdd

その後、すべてのLVMコマンド(たとえばvgs)が次のことを報告します。

/dev/data/db: read failed after 0 of 4096 at 10733158400: Input/output error
/dev/data/db: read failed after 0 of 4096 at 10733215744: Input/output error
/dev/data/db: read failed after 0 of 4096 at 0: Input/output error
/dev/data/db: read failed after 0 of 4096 at 4096: Input/output error

しかし、元のボリュームを検出しpvscan、まだ古いブロックデバイスを読み取ろうとしています。vgscan再インストールもできません。議論の余地があるため、再起動は許可されません。何をすべきか?

ベストアンサー1

iscsiこの質問はディスクに関する議論で回答されました。ここ。私はscsiをまったく使用せずにただvirtioグーグルしたので、答えを見つけるのに役立ちません。この回答が表示されたら、Guiseppeの回答に必ず投票してください。簡単に言えば、

vgscan ; vgchange <vgname> --refresh

おすすめ記事