物理ドライブが削除された後にvgとlvを削除する


32

サーバーでディスク障害が発生し、LVMからドライブを削除する前にディスクを交換しました。

サーバーには4つの物理ドライブ(PV)があり、それぞれに独自のボリュームグループ(VG)があります。各VGには2つ以上の論理ボリューム(LV)があります。現在、LVMはドライブの欠落について不平を言っています。したがって、システムからクリアする必要があるよりも孤児になった2つのLVを持つVG(vg04)があります。

問題は、LVMコマンドを実行するたびに、これらの「読み取り失敗」エラーが発生することです。

# lvscan
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error

# vgreduce vg04 --removemissing --force
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
  Volume group "vg04" not found

# vgchange -a n /dev/vg04
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
  Volume group "vg04" not found

# lvchange -a n /dev/vg04/vz
  /dev/vg04/swap: read failed after 0 of 4096 at 4294901760: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4294959104: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/swap: read failed after 0 of 4096 at 4096: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903864832: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 995903922176: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 0: Input/output error
  /dev/vg04/vz: read failed after 0 of 4096 at 4096: Input/output error
  Volume group "vg04" not found
  Skipping volume group vg04

欠落しているVGとLVは重要ではありません。それらを削除するだけです。

ご覧のとおり、これまでのところ、すべての提案を試してみましたが、運はありません。

「lvm dumpconfig」からの出力は、http: //pastebin.com/MHiBzrLJで確認できます。

回答:


46

解決策は、dmsetup、この場合は2つのコマンドを実行することでした

dmsetup remove vg04-vz
dmsetup remove vg04-swap

これを行う前に、コマンド 'dmsetup info'を使用して、両方のLVの 'open count'がゼロであることを確認しました。

警告: dmsetupはディスクに深刻な混乱をもたらす可能性があるため、将来この情報を使用する人は必ずmanページを読んでください。


3
それはトリックをしました。残念なことに、LVMは非常にリーキーな抽象化ですが、これは得られるのと同じくらい良いと思います。
ナビン

1
その警告で良い呼び出し。私が正しく理解していれば、同様の名前remove_all --force --deferred --retryが手近にあるすべてのLVM管理ドライブを吹き飛ばすでしょう。ターミネーターのように、あきらめずに挑戦し続けます。私はこのようなフットガンが正当化された理由に非常に興味があります。
ダン・ロス

「極度の偏見で終了する」単一のデバイスもあります(デバイスが一晩中忙しい# dmsetup --force --retry --deferred remove <YOURVG>-<YOURLV>場合は# iscsiadm -m node -U all -T <FQDN>

9

VMwareディスクを取り外した後、同様の問題が発生しました/dev/sdb

使用lsscsiしているデバイスを判別するために使用し(プログラムのインストールが必要な場合があります)、次に実行しますlsscsi

# lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[2:0:1:0]    disk    VMware   Virtual disk     1.0   /dev/sdb <== the removed physical disk
[2:0:2:0]    disk    VMware   Virtual disk     1.0   /dev/sdc

ここで削除ファイルを書きます

# echo 1 > /sys/class/scsi_device/2\:0\:1\:0/device/delete

デバイスはすぐに消えてしまいます。


1
ありがとうございました!!これは、dmsetupを使用して古いvg1-xyzを削除した後、「/ dev / sdb:0で4096の0:入力/出力エラー後に読み取りに失敗しました」などのエラーを取り除くために完全に機能しました。
猫パンツ

1
これだけが私のために機能します。あなたは私の一日を作りました。
odiszapc 14

2

vgchange -an / dev / vg04

論理ボリュームがまだアクティブな場合は、次のことが必要になる場合があります

lvchange -a n /dev/vg04/swap
lvchange -a n dev/vg04/vz


2
どちらかそれを修正しないUnfortunatlelyは、それだけで同じエラーを投げ続けて:
RCD

私のシステムでlvchange -a n <VGNAME>は機能します!
zzeroo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.