Wenn ich versuche, ein logisches Volume zu entfernen, erhalte ich die Meldung
#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
Wie kann ich das Entfernen dieses Volumes erzwingen?
Danke, Everett
Wenn Sie ein logisches Volume nicht aushängen oder entfernen können, vergewissern Sie sich, dass es keine Prozesse gibt, die das LV enthalten
Suchen Sie die Major / Minor-Nummern für das logische Volume, das Sie entfernen möchten, z. B .: vol0
Beachten Sie die 5. Spalte, die angibt, ob ein Volume geöffnet ist, und die 2. und 3. Spalte, die die Haupt- bzw. Neben-IDs darstellen.
Suchen Sie nach Prozessen, die mit diesem Volume verknüpft sind, indem Sie nach den oben ermittelten Haupt- und Neben-IDs suchen:
Fahren Sie alle Prozesse herunter, die noch auf das Volume zugreifen, oder beenden Sie sie, um die Bereitstellung und das Entfernen fortzusetzen.
dann versuche lvremove
quelle
Wahrscheinlich läuft iet oder tgt (was davon abhängt, welchen
iscsi_helper
Wert Sie in /etc/nova/nova.conf haben, standardmäßig iet), und der Dienst hat ein offenes Dateihandle. Sie können überprüfen, welche, indem Sie etwas tun (in meinem Fall ist es tgt)Wenn dies nicht der Fall ist, beenden Sie den Dienst folgendermaßen:
Wenn es tgt ist, stoppen Sie den Dienst, indem Sie Folgendes tun:
Sie sollten dann in der Lage sein, Ihre Volumes zu löschen.
quelle
Ich geriet in eine ähnliche Situation, aber das Entfernen von LV wurde blockiert, weil ich mount -o bind verwendet habe.
Der folgende Artikel hat mir sehr geholfen, indem ich lsof mit einer großen / kleinen Anzahl von LVs verwendete, die Prozess-Holding-geöffnete LVs zeigten, in meinem Fall smbd.
Als nur einfach cat / proc / mounts | grep LV_name führte mich zu dem Schluss, warum lvremove oder dmsetup remove sich weigern, nicht gemountete LV loszuwerden.
http://kb.eclipseinc.com/kb/why-cant-i-remove-a-linux-logical-volume/
quelle
Fahren Sie die LXC-Container, die die Dateisysteme verwenden, über ihre Konfiguration herunter: lxc.mount.entry
quelle
Wenn Sie nicht entfernen können
lvm
, gehen Sie folgendermaßen vor:Hängen Sie die Partition aus:
# umount / dev / sda8
(zB ich habe die Partition gemountet
/dev/sda8
)versuchen zu entfernen
lvm
:# lvremove / dev / vgname / lvname
Wenn Sie eine Fehlermeldung wie "Das offene logische Volume kann unter Linux nicht entfernt werden " erhalten, versuchen Sie, das LVM über die folgenden Befehle zu deaktivieren und anschließend zu entfernen:
Lassen Sie uns wissen, wenn Sie auf ein Problem stoßen.
quelle
Ich hatte dieses Problem mit einem LV, der von 3 PVs auf einem iSCSI-Gerät stammt (mit Multipathing).
Es hat keine Lösung funktioniert, aber ein einfacher Neustart ! ( Kommentiere es in fstab aus , damit es nicht wieder gemountet wird.)
Vielleicht hilft das jemandem.
quelle
Dies kann auch durch den nfslock-Dienst in RHEL gesperrt werden. Beenden Sie einfach diesen Dienst und Sie können loslegen.
quelle
Ich hatte ein ähnliches Problem. Ich habe versucht, ein VM-Block-Gerät zu entfernen, das eine Volumengruppe enthält. Diese Volumengruppe wurde in lvm.conf gefiltert, aber einige Dev-Mapper-Elemente wurden zuvor erstellt.
Um herauszufinden war , ist Halt durch eine Einrichtung, Blick auf seine Nebennummer (253, ?? )
ll /dev/<vg>/<lv>
sollte zeigen auf../dm-??
Dann
ls -la /sys/dev/block/253:??/holders
werden Sie Links von vg (ex-> ../../dm-xx
) Weiterleiten auf Ihrem Gerät (als pv) gebenEntfernen Sie sie mit
dmsetup remove /dev/dm-xx
(stellen Sie sicher, dass diese dm nicht verwendet werden). Dann sollten Sie / dev // entfernen, das nicht mehr irgendwo ein "pv" istquelle
dmsetup remove /dev/dm-36
aber ich bekomme den Fehlerdevice-mapper: remove ioctl on vg0-snap--tmp--vm06.docker--disk failed: – Device or resource busy – Command failed
siehe: serverfault.com/questions/926681/…Sie können die Verknüpfung Ihres LV mit dem DM-Gerät aufheben:
Fixiereinheit -kuc / dev / my-sample-volume / volume-sample-1
/ dev / dm-21: 2400ce (root) 2739ce (root) 4793ce (root)
ls -l / dev / my-sample-volume / volume-sample-1
lrwxrwxrwx 1 root root 8 Aug 15 02:53 / dev / my-sample-volume / volume-sample-1 -> ../dm-21
Verknüpfung aufheben / dev / my-sample-volume / volume-sample-1
lvremove / dev / my-sample-volume / volume-sample-1
quelle
lvremove
es danach klappen wird. Könntenunlink
Sie diesen Teil klären? Bearbeiten Sie einfach Ihre Antwort.In meinem Fall habe ich cAdvisor in einem Container ausgeführt, und dies scheint das Entfernen von Blockgeräten zu verhindern, die beim Start bereitgestellt wurden. Mein Fix war:
docker restart $CONTAINER_ID
)quelle
Ich habe das gleiche Problem wie du. Ich habe den folgenden Befehl ausprobiert und gelöst: swapoff -a
lvremove ...
quelle