На моем хосте XEN у меня есть снимок, который нельзя удалить с помощью lvremove
$ lvremove /dev/vg0/snap-tmp-vm06.docker-disk -fdv
DEGRADED MODE. Incomplete RAID LVs will be processed.
Using logical volume(s) on command line
Device dm-36 (253:36) appears to be mounted on /media/snapshots/tmp-vm06.docker-disk.
Logical volume vg0/snap-tmp-vm06.docker-disk contains a filesystem in use.
Вроде завис процесс:
$ fuser -mv /dev/vg0/snap-tmp-vm06.docker-disk
USER PID ACCESS COMMAND
/dev/dm-36: root kernel mount /media/snapshots/tmp-vm06.docker-disk
дополнительная информация:
$ lvs|grep docker
snap-tmp-vm06.docker-disk vg0 swi-aos--- 4.00g vm06.docker-disk 20.44
vm06.docker-disk vg0 owi-aos--- 80.00g
vm06.docker-swap vg0 -wi-ao---- 8.00g
$ lvdisplay vg0/snap-tmp-vm06.docker-disk
--- Logical volume ---
LV Path /dev/vg0/snap-tmp-vm06.docker-disk
LV Name snap-tmp-vm06.docker-disk
VG Name vg0
LV UUID xdoeHC-7PZ6-LUiZ-QKzS-QEf8-NJcU-bEpKHG
LV Write Access read/write
LV Creation host, time xen-eclabs, 2018-08-15 02:21:02 +0200
LV snapshot status active destination for vm06.docker-disk
LV Status available
# open 1
LV Size 80.00 GiB
Current LE 20480
COW-table size 4.00 GiB
COW-table LE 1024
Allocated to snapshot 20.44%
Snapshot chunk size 4.00 KiB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:36
Я также пробовал:
$dmsetup remove /dev/vg0/snap-tmp-vm06.docker-disk
device-mapper: remove ioctl on vg0-snap--tmp--vm06.docker--disk failed: Device or resource busy
Command failed
Я пытался удалить его с помощью
$ umount -l /media/snapshots/tmp-vm06.docker-disk
(что было возможно только с -l
потому что он был занят) Но это не изменило сообщение об ошибке, только не было вывода с fuser
больше нет. Тем не менее я не мог использовать lvremove
.
обходной путь: я перезагрузил весь хост XEN (но я бы предпочел найти решение в следующий раз)
Я считаю, что вы должны убедиться, что все это правда:
lvdisplay
должен сказать # open 0
)Судя по вашему вопросу, я предполагаю, что первые два были выполнены. Для последнего вам нужно сделать
# lvchange -an /dev/vg0/snap-tmp-vm06.docker-disk
Это должно сделать том неактивным (lvdisplay vg0/snap-tmp-vm06.docker-disk
должна быть линия LV snapshot status inactive
). Как только вы это сделаете, вы сможете удалить его.
Команда IMHO fuser говорит только о том, что этот снимок смонтирован на /media/snapshots/tmp-vm06.docker-disk.
Пытаться umount /media/snapshots/tmp-vm06.docker-disk
сначала, потом вы сможете удалить его.