ubuntuusers.de

KVM Snapshot Backup; es sollen nicht alle Disks gesichert werden

Status: Ungelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

Snooga

Anmeldungsdatum:
17. Dezember 2009

Beiträge: 95

Wohnort: Saarland

Hallo Leute, ich stehe aktuell auf dem Schlauch und hoffe ein KVM/libvirt Profi kann mir etwas helfen.

Ich habe aktuell auf meinem Server KVM/Qemu laufen in welcher ich verschiedene VM hoste und etwas herumspiele.

Nun möchte ich gern diese VM Sichern und habe diesbezüglich auch ein Backupskript gefunden, welches meinen Anforderungen entspricht.

Link: https://roessner-network-solutions.com/backup-von-kvm-gaesten-im-laufenden-betrieb

Jedoch läuft das Skript nicht durch, weil ein Befehl von "virsh" einen Fehler wirft, was auch okay ist, wenn ich wüsste wie ich ihn vermeide 😉 Fehler:

Fehler: unsupported configuration: source for disk 'vdb' is not a regular file; refusing to generate external snapshot name

VDB ist hierbei meine zweite Festplatte, welche ich an das VM durchreiche und dort als Datenlager eingebunden habe (Meine Owncloud läuft auf der VM und die Platte dient als Speicher)

snooga@htpc:~/Skripte$ virsh domblklist ubuntu16.04 --details
Typ        Einheit    Ziel       Quelle
------------------------------------------------
file       disk       vda        /var/lib/libvirt/images/ubuntu16.04.qcow2
block      disk       vdb        /dev/sda1
file       cdrom      hda        /home/snooga/Downloads/ubuntu-16.04.1-server-amd64.iso

Wie kann ich nun : virsh snapshot-create-as klar machen, dass er vdb ignorieren soll und nur vda sichern soll?

Vielen Dank für die Hilfe.

Bearbeitet von XM-Franz:

Linksyntax repariert.

Moderiert von XM-Franz:

Thema in einen passenderen Forenbereich verschoben. Bitte beachte die als wichtig markierten Themen (Welche Themen gehören hier her und welche nicht?) in jedem Forenbereich. Danke.

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Auf den ersten Blick kannst du wohl einfach Zeile 30 so anpassen, dass nicht alle

for VM in $(virsh --list); do

sondern nur ausgewählte wie vda und z.B. noch vdx genommen werden:

for VM in vda vdx; do 

Möchtest du nur vda, lässt du vdx einfach weg.

Genau genommen reicht dann gleich nur VM=vda in der Zeile, dann müsste aber das dies beendende done in einer anderen Zeile noch entfernt werden und du kannst später nicht mehr einfach vdx ergänzen, daher erwähne ich die vereinfachte Struktur nur, belasse es aber nahe dem Original.

Snooga

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2009

Beiträge: 95

Wohnort: Saarland

Hi Benno, vielen Dank! Das werde ich morgen direkt mal ausprobieren, da ich heute unterwegs bin. Ich gebe Feedback sobald ich es getestet habe.

Snooga

(Themenstarter)

Anmeldungsdatum:
17. Dezember 2009

Beiträge: 95

Wohnort: Saarland

Guten Morgen Benno-007, heute morgen kam ich zum testen, jedoch kommt die Meldung weiterhin.☹

Daraufhin habe ich das Skript in seine Einzelteile zerlegt und folgendes viel auf:

for VM in $(virsh --list); do

ist hierbei unschuldig, da die Ausgabe des Befehls nur die verschiedenen VM auflistet.

 Id    Name                           Status
----------------------------------------------------
 1     ubuntu16.04                    laufend

Daher habe ich die Anweisung nochmal zurückgebaut, da dieser Befehl hier, die VDA VDB Ausgabe erzeugt:

virsh domblklist ubuntu16.04 --details

Dieser Befehl wird innerhalb des Skriptes verwendet, sehe ich jedoch auch als unkritisch, da das Ergebnis des Gesamten Befehls-Block folgender ist:

/var/lib/libvirt/images

Ich vermute, dass vdb irgendwo innerhalb dieser Anweisung geworfen wird.

 if [[ ! -f ${SNAP}/backup-snapshot-${VM}.qcow2 ]]; then
        echo "Create Snapshot..."
        virsh snapshot-create-as ${VM} "backup-${VM}" \
            --diskspec vda,file=${SNAP}/backup-snapshot-${VM}.qcow2 \
            --disk-only \
            --atomic \
            --quiesce \
            --no-metadata
   .....

Daher muss ich mal schauen, wo ich eine gute Erläuterung der Parameter erhalte, in der Hoffnung, dass nur ein anderer gesetzt werden muss oder einer entfernt werden muss.

Lieben Gruss aus dem Saarland

Antworten |