У нас произошел сбой диска на сервере, и мы заменили его перед извлечением диска из 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
решение1
Решением было запустить dmsetup, в данном случае две команды
dmsetup remove vg04-vz
dmsetup remove vg04-swap
Перед тем как сделать это, я проверил с помощью команды «dmsetup info», что «количество открытий» для обоих логических томов равно нулю.
ПРЕДУПРЕЖДЕНИЕ: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
и т. д.