Когда я пытаюсь удалить логический том, я получаю сообщение
#lvremove /dev/my-volumes/volume-1
Can't remove open logical volume "volume-1"
#lvchange -an -v /dev/my-volumes/volume-1
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Deactivating logical volume "volume-1"
Found volume group "my-volumes"
LV my-volumes/volume-1 in use: not deactivating
#lvremove -vf /dev/my-volumes/volume-1
Using logical volume(s) on command line
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
Can't remove open logical volume "volume-1"
#lvs
/dev/dm-1: read failed after 0 of 4096 at 0: Input/output error
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
volume-1 my-volumes -wi-ao 50.00g
Как я могу принудительно удалить этот том?
Спасибо, Эверетт
Что содержит логический том? Это файловая система (я случайно написал раздел)? Может быть, он установлен? В таком случае:
umount /dev/my-volumes/volume-1
Есть ли у него активные снимки?
Изменить: попробуйте lvchange -an -v /dev/my-volumes/volume-1
и lvremove -vf /dev/my-volumes/volume-1
.
Изменить 2: опубликуйте "lvs".
Изменить 3: попробуйте это с другим проблемным объемом. Это не самый чистый вариант, но по мнению этот сайт это может сработать, и в любом случае это менее проблематично, чем перезагрузка.
dmsetup remove my--volumes-volume--number
lvremove /dev/my-volumes/volume-number
Если вы не можете размонтировать или удалить логический том, убедитесь, что нет процессов, удерживающих LV.
Найдите старший / младший номер логического тома, который вы пытаетесь удалить, например: vol0
# dmsetup info -c | grep vol0
Обратите внимание на 5-й столбец, который указывает, является ли том «открытым», и 2-й и 3-й столбцы, которые являются основным и второстепенным идентификаторами, соответственно.
Найдите любой процесс, связанный с этим томом, выполнив поиск по основным и второстепенным идентификаторам, обнаруженным выше:
# lsof | grep "major,minor"
Завершите или завершите любой процесс, все еще обращающийся к тому, чтобы продолжить размонтирование и удаление.
тогда попробуйте lvremove
Вероятно, у вас работает iet или tgt (что зависит от вашего iscsi_helper
значение находится в /etc/nova/nova.conf, по умолчанию iet), и у службы есть открытый дескриптор файла. Вы можете проверить, какой из них, сделав что-то вроде этого (в моем случае это tgt)
# fuser /dev/nova-volumes/volume-00000001
/dev/dm-5: 19155
# lsof | grep /dev/dm-5
tgtd 19155 root 12u BLK 252,5 0t0 2531554 /dev/dm-5
Если это так, остановите службу, выполнив:
service iscsitarget stop
Если это tgt, остановите службу, выполнив:
service tgt stop
После этого вы сможете удалить свои тома.
Я попал в аналогичную ситуацию, но удаление LV было заблокировано, потому что я использовал mount -o bind.
Приведенная ниже статья очень помогла, использование lsof с основным / второстепенным номером LV показало, что процесс удерживает открытый LV, в моем случае smbd.
Чем просто cat / proc / mounts | grep LV_name привел меня к выводу, почему lvremove или dmsetup remove отказываются избавляться от не подключенного LV.
http://kb.eclipseinc.com/kb/why-cant-i-remove-a-linux-logical-volume/
Завершите работу контейнеров LXC, использующих файловые системы, через их config: lxc.mount.entry
Если вы не можете удалить lvm
, затем выполните следующие действия:
размонтировать раздел:
# umount / dev / sda8
(например, я установил раздел на /dev/sda8
)
попытаться удалить lvm
вот так:
# lvremove / dev / vgname / lvname
Если вы получите сообщение об ошибке "не удается удалить открытый логический том в Linux", затем попробуйте деактивировать LVM с помощью следующих команд, а затем удалите его:
# lvchange -an /dev/vgname/lvname
# lvremove /dev/vgname/lvname
Сообщите нам, если у вас возникнут проблемы.
У меня была эта проблема с LV, который поступает из 3 PV на устройстве iSCSI (с несколькими путями).
Ни одно решение не помогло, но простое перезагрузка! (прокомментируйте это в fstab, чтобы он больше не монтировался)
Может это кому-то поможет.
В моем случае я бежал cAdvisor в контейнере, и это, кажется, предотвращает удаление любых блочных устройств, которые были смонтированы при запуске. Мое исправление было:
docker restart $CONTAINER_ID
)это также может быть заблокировано службой nfslock в RHEL, просто остановите эту службу, и все готово.
У меня была похожая проблема. Lv, который я попытался удалить, был блочным устройством виртуальной машины, содержащим группу томов. Эта группа томов была отфильтрована в lvm.conf, но некоторые элементы dev mapper были созданы ранее.
Чтобы понять, что это за устройство, посмотрите на его младший номер (253, ??) ll /dev/<vg>/<lv>
должен указывать на ../dm-??
затем ls -la /sys/dev/block/253:??/holders
даст вам ссылки на vg (например, -> ../../dm-xx
) ретрансляция на вашем устройстве (как pv)
Удалите их с помощью dmsetup remove /dev/dm-xx
(убедитесь, что эти dm не используются) Затем вы должны удалить / dev //, который больше не является "pv" где-нибудь
Вы можете отсоединить свой LV от устройства DM:
/ dev / dm-21: 2400ce (корень) 2739ce (корень) 4793ce (корень)
lrwxrwxrwx 1 root root 8 августа 15 02:53 / dev / my-sample-volume / volume-sample-1 -> ../dm-21
У меня такая же проблема, как и у вас. Я попробовал следующую команду и решил: swapoff -a
lvremove ...