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"
lvdisplay zeigt mir den Snapshot immer noch an:
--- Logical volume --- LV Name /dev/vg0/snap_my_lv VG Name vg0 LV UUID 01j6Xx-QmOJ-ogf1-5vqf-5ksq-8oXM-GTXELy LV Write Access read/write LV snapshot status active destination for /dev/vg0/my_lv LV Status available # open 0 LV Size 8.00 GiB Current LE 2048 COW-table size 10.00 GiB COW-table LE 2560 Allocated to snapshot 0.05% Snapshot chunk size 4.00 KiB Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:14
Weder dd noch irgendein anderer Prozess greift auf den Snapshot zu. Gemountet war der Snapshot auch nirgends.
Das Problem scheint kein Einzelfall zu sein: http://felix.moches.de/technik/backup-mit-lvm-snapshots-und-duply-unter-debi...
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.
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"
Hat jemand einen Lösungsansatz?
Gruß Rico
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.
On 17.07.2012 21:39, Heiko Schlittermann wrote:
dmsetup hilft mitunter.
dmsetup scheint hier noch mehr Chaos zu verursachen.
'dmsetup remove -f LV' läßt den Snapshot für 'dmsetup info LV' verschwinden. lvdisplay zeigt selbigen noch an.
Jetzt funktioniert auch ein 'lvremove -f LV' ohne Probleme und danach sieht auch bei lvdisplay alles korrekt aus.
'lvcreate -s ...' beim nächsten Anlauf endet jedoch mit: device-mapper: create ioctl failed: Device or resource busy Failed to suspend origin LV Error: (5) lvcreate
'dmsetup info LV' und lvdisplay zeigen den Snapshot jetzt wieder an und ich kann den Vorgang wiederholen.
Versuche ich ein lvremove ohne 'dmsetup remove', klappt es jedoch nicht: LV vg0/snap_LV in use: not deactivating Unable to deactivate logical volume "snap_LV"
Einen Seiteneffekt durch andere Experimente kann ich wohl ausschließen, da das auch bei einem LV passiert, das bisher noch nicht dafür benutzt wurde.
Ich werd die Snapshots nicht mehr richtig los. :-(
Noch andere Ideen?
Gruß Rico
Die Kombination aus mehreren 'dmsetup remove' und 'lvremove' machts:
dmsetup remove /dev/mapper/vg0/snap dmsetup remove /dev/mapper/vg0/snap-cow lvremove /dev/mapper/vg0/snap
lvremove entfernt /dev/mapper/vg0/lv-real
siehe auch: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549691#57
Gruß Rico
On 18.07.2012 23:09, Rico Koerner wrote:
On 17.07.2012 21:39, Heiko Schlittermann wrote:
dmsetup hilft mitunter.
dmsetup scheint hier noch mehr Chaos zu verursachen.
'dmsetup remove -f LV' läßt den Snapshot für 'dmsetup info LV' verschwinden. lvdisplay zeigt selbigen noch an.
Jetzt funktioniert auch ein 'lvremove -f LV' ohne Probleme und danach sieht auch bei lvdisplay alles korrekt aus.
'lvcreate -s ...' beim nächsten Anlauf endet jedoch mit: device-mapper: create ioctl failed: Device or resource busy Failed to suspend origin LV Error: (5) lvcreate
'dmsetup info LV' und lvdisplay zeigen den Snapshot jetzt wieder an und ich kann den Vorgang wiederholen.
Versuche ich ein lvremove ohne 'dmsetup remove', klappt es jedoch nicht: LV vg0/snap_LV in use: not deactivating Unable to deactivate logical volume "snap_LV"
Einen Seiteneffekt durch andere Experimente kann ich wohl ausschließen, da das auch bei einem LV passiert, das bisher noch nicht dafür benutzt wurde.
Ich werd die Snapshots nicht mehr richtig los. :-(
Noch andere Ideen?
Gruß Rico
Lug-dd maillist - Lug-dd@mailman.schlittermann.de https://ssl.schlittermann.de/mailman/listinfo/lug-dd
lug-dd@mailman.schlittermann.de