刪除實體磁碟機後刪除 vg 和 lv

刪除實體磁碟機後刪除 vg 和 lv

我們在伺服器中出現磁碟故障並在從 LVM 移除磁碟機之前更換了它。

伺服器有 4 個實體磁碟機 (PV),每個磁碟機都有自己的磁碟區組 (VG)。每個 VG 有 2 個或更多邏輯磁碟區 (LV)。因此,我們有一個 VG (vg04),其中有兩個已成為孤兒的 LV,我們需要將其從系統中清除。

問題是每次我們執行任何 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

答案1

解決方案是執行 dmsetup,在本例中是兩個指令

dmsetup remove vg04-vz
dmsetup remove vg04-swap

在執行此操作之前,我使用命令“dmsetup info”檢查了兩個 LV 的“打開計數”是否為零。

警告:dmsetup 可能會對您的磁碟造成嚴重破壞,因此將來使用此資訊的任何人請確保閱讀手冊頁。

答案2

我在移除 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

現在透過重新導向寫入刪除檔案1

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

該設備立即消失。

答案3

vgchange -an /dev/vg04

如果您的邏輯磁碟區仍然處於活動狀態,您可能必須

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

ETC。

相關內容