Rico Koerner rico@netbreaker.de (Di 17 Jul 2012 18:44:24 CEST):
Hallo,
ich erzeuge unter Squeeze mit: ~# lvcreate -L 10G -s -n snap_my_lv /dev/vg0/my_lv
einen LVM-Snapshot, ziehe danach eine Kopie mit: ~# dd if=/dev/vg0/snap_my_lv bs=4M | gzip > /backup/my_lv-20120701.img.gz
und versuche zum Schluß den Snapshot wieder zu entfernen: ~# lvremove -f /dev/vg0/snap_my_lv
Was allerdings mit der Meldung quittiert wird. Can't remove open logical volume "snap_my_lv"
[…]
Weder dd noch irgendein anderer Prozess greift auf den Snapshot zu. Gemountet war der Snapshot auch nirgends.
Vermutlich udisks oder etwas anderes könnten Schuld sein. Jedenfalls kennen wir das Problem auch. Es ist nicht immer reproduzierbar, manchmal geht es, manchmal auch nicht. (Mein Kollege ist für die udisks-These). Es tritt öfter auf Systemen mit GUI als auf solchen ohne GUI auf.
Abgesehen davon, daß es selbst nach einem Logout und am nächsten Tag, auch nach mehreren Versuchen, nicht zu löschen ging, finde ich den Ansatz, es solange zu wiederholen, bis es weg ist, nicht akzeptabel.
Sehe ich auch so.
Auf einem 2. Server, ebenfalls Squeeze und Hardware-RAID darunter, funktioniert das Skript fehlerfrei.
Auch ein Deaktivieren funktioniert nicht: ~# lvchange -an /dev/vg0/snap_my_lv Can't change snapshot logical volume "snap_my_lv"
Da bin ich mir nicht sicher, ob ich das auch schon so beobachtet habe.
Hat jemand einen Lösungsansatz?
dmsetup hilft mitunter.