rsnapshot LVM kann das Snapshot-Volume nicht entfernen


7

Ich verwende rsnapshot auf einem Debian Wheezy-Server. Dies wurde kürzlich von Squeeze aktualisiert. Seit dem Upgrade wird beim hourlyCron-Job der folgende Fehler angezeigt:

remote rm -rf /share/HDA_DATA/backup/rsnapshot/hourly.3 p1=-rf p2=/backup/rsnapshot/hourly.3/
remote cp -al /share/HDA_DATA/backup/rsnapshot/hourly.0 /share/HDA_DATA/backup/rsnapshot/hourly.1 p1=-al p2=/backup/rsnapshot/hourly.0
  Logical volume "rsnapshot" successfully removed
  Logical volume "rsnapshot" successfully removed
  Unable to deactivate open raid5-dl-real (254:4)
  Failed to resume dl.
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/bin/rsnapshot hourly 
----------------------------------------------------------------------------
ERROR: Removal of LVM snapshot failed: 1280

Zwei LVM-Volumes werden korrekt gesichert und Logical volume "rsnapshot" successfully removed, dann wird das Volume dlin lvm VG angezeigt raid5und es kann nicht deaktiviert werden raid5-dl-real.

Der Name meines lvm-Schnappschusses heißt raid5/rsnapshot. raid5-dl-realentspricht keinem Datenträgernamen - das reale Gerät ist /dev/mapper/raid5-dl.

Wenn dies also das dl-Volume selbst ist, warum sollte lvm versuchen, es zu deaktivieren?

Beachten Sie, dass dies ursprünglich auf einem völlig anderen Volume geschah, sodass ich es aus der Sicherung entfernt habe. Jetzt hat es sich zu diesem verschoben.

Das rsnapshot-Protokoll ist auch nicht sehr aufschlussreich:

[16/Jul/2013:17:26:26] /sbin/lvcreate --snapshot --size 512M --name rsnapshot /dev/raid5/dl
[16/Jul/2013:17:26:29] /bin/mount /dev/raid5/rsnapshot /mnt/lvm-snapshot
[16/Jul/2013:17:26:32] chdir(/mnt/lvm-snapshot)
[16/Jul/2013:17:26:32] /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded . /backup/rsnapshot/hourly.0/dl/
[16/Jul/2013:17:27:57] rsync succeeded
[16/Jul/2013:17:27:57] chdir(/root)
[16/Jul/2013:17:27:57] /bin/umount /mnt/lvm-snapshot
[16/Jul/2013:17:27:58] /home/share/scripts/rsnapshot_lvremove --force /dev/raid5/rsnapshot
[16/Jul/2013:17:29:02] /usr/bin/rsnapshot hourly: ERROR: Removal of LVM snapshot failed: 1280
[16/Jul/2013:17:29:02] rm -f /var/run/rsnapshot.pid

Irgendwelche Ideen?

Update - Dies geschieht gerade auf einem völlig anderen Server. Gleiches LVM-Problem.

Eine Sache, die ich versucht habe, ist, den lvremoveBefehl in ein Skript umzuleiten :

#!/bin/bash
sync
sleep 600
ls /dev/mapper/raid5-*-real
for i in /dev/mapper/raid5-*-real; do /sbin/dmsetup remove $i ; done
/sbin/lvremove --debug "$@"

Dies wird also synchronisiert, schläft ein wenig und entfernt dann alle -realGerätezuordnungen, bevor der lvremove versucht wird.

Auch nach alledem schlägt die Entfernung oft fehl. Hier ist die Ausgabe von rsnapshot. Bitte ignorieren Sie den Fehler auf halbem Weg, obwohl auf einem der Volumes ein Problem auftritt, schlägt die lvremove erst später fehl:

remote cp -al /share/HDA_DATA/backup/rsnapshot/hourly.0 /share/HDA_DATA/backup/rsnapshot/hourly.1 p1=-al p2=/backup/rsnapshot/hourly.0
  One or more specified logical volume(s) not found.
/dev/mapper/raid5-crypt-real
/dev/mapper/raid5-db-real
device-mapper: remove ioctl on raid5-crypt-real failed: No such device or address
Command failed
device-mapper: remove ioctl on raid5-db-real failed: Device or resource busy
Command failed
  Logical volume "rsnapshot" successfully removed
  One or more specified logical volume(s) not found.
/dev/mapper/raid5-crypt-real
/dev/mapper/raid5-db-real
/dev/mapper/raid5-db--var-real
device-mapper: remove ioctl on raid5-crypt-real failed: No such device or address
Command failed
device-mapper: remove ioctl on raid5-db-real failed: No such device or address
Command failed
device-mapper: remove ioctl on raid5-db--var-real failed: Device or resource busy
Command failed
  Logical volume "rsnapshot" successfully removed
  One or more specified logical volume(s) not found.
/dev/mapper/raid5-crypt-real
/dev/mapper/raid5-db-real
/dev/mapper/raid5-db--var-real
device-mapper: remove ioctl on raid5-crypt-real failed: Device or resource busy
Command failed
device-mapper: remove ioctl on raid5-db-real failed: No such device or address
Command failed
device-mapper: remove ioctl on raid5-db--var-real failed: No such device or address
Command failed
  /dev/raid5/rsnapshot: read failed after 0 of 4096 at 42949607424: Input/output error
  /dev/raid5/rsnapshot: read failed after 0 of 4096 at 42949664768: Input/output error
  /dev/raid5/rsnapshot: read failed after 0 of 4096 at 0: Input/output error
  /dev/raid5/rsnapshot: read failed after 0 of 4096 at 4096: Input/output error
  Logical volume "rsnapshot" successfully removed
  One or more specified logical volume(s) not found.
/dev/mapper/raid5-crypt-real
/dev/mapper/raid5-db-real
/dev/mapper/raid5-db--var-real
/dev/mapper/raid5-dl-real
device-mapper: remove ioctl on raid5-crypt-real failed: No such device or address
Command failed
device-mapper: remove ioctl on raid5-db-real failed: No such device or address
Command failed
device-mapper: remove ioctl on raid5-db--var-real failed: No such device or address
Command failed
device-mapper: remove ioctl on raid5-dl-real failed: Device or resource busy
Command failed
  Unable to deactivate open raid5-dl-real (254:25)
  Failed to resume dl.
----------------------------------------------------------------------------
rsnapshot encountered an error! The program was invoked with these options:
/usr/bin/rsnapshot hourly 
----------------------------------------------------------------------------
ERROR: Removal of LVM snapshot failed: 1280

Gleiches Problem hier, Debian Wheezy Server von Squeeze aktualisiert. LVM-Snapshots können gelegentlich nicht entfernt werden. Oft ist ein weiterer Versuch erforderlich, den Snapshot zu entfernen und das übergeordnete Volume fortzusetzen. Verwenden Sie auch rsnapshot, aber dieses Problem hängt nicht damit zusammen. Das "-real" stammt von Device Mapper, vermutlich ein Teil dessen, wie DM Snapshots für LVM verarbeitet.
Gsreynolds

Könnten Sie log einfügen, wenn Sie lvm von Hand wie lvremove --debug <LVM NAME>oder entfernen lvremove --debug --force <LVM NAME>?
Spinus

@spinus Ich habe den Befehl lvremove so geändert, dass er den Schalter --debug enthält, aber er erzeugt nicht mehr Ausgabe als normal.
Paul

@Paul hast du versucht, mit dem lsof zu überprüfen, ob möglicherweise das Volume von einem Prozess verwendet wird?
Spinus

1
@spinus Nein, ich kann dies zum Skript hinzufügen, aber ich sehe nicht, wie es möglich sein könnte. Der Snapshot wird vom Skript erstellt, der rsync wird ausgeführt und nach Abschluss kommt der lvremove an. Die Fehlermeldung schlägt etwas grundlegenderes als einen Dateizugriff vor:Unable to deactivate open raid5-dl-real (254:25)
Paul

Antworten:


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.