Назад | Перейти на главную страницу

Удаление vg и lv после удаления физического диска

У нас произошел сбой диска на сервере, и мы заменили его перед удалением диска из LVM.

Сервер имеет 4 физических диска (PV), каждый со своей собственной группой томов (VG). Каждая группа VG имеет 2 или более логических тома (LV). Теперь LVM жалуется на отсутствие диска. Итак, у нас есть 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

Решением было запустить dmsetup, в данном случае две команды

dmsetup remove vg04-vz
dmsetup remove vg04-swap

Перед тем, как сделать это, я проверил с помощью команды dmsetup info, что «счетчик открытий» для обоих LV равен нулю.

ПРЕДУПРЕЖДЕНИЕ: dmsetup может нанести серьезный ущерб вашим дискам, поэтому всем, кто будет использовать эту информацию в будущем, обязательно прочтите страницу руководства.

Я испытал подобное после удаления диска 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

Устройство сразу пропало.

vgchange -a n / dev / vg04

Если у вас все еще активны логические тома, возможно, вам придется

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

и т.п.