ich benutze externe snapshots mit qcow2 images um bei ggf auftauchenden Problemen nach updates unseres odoo servers auf den vorherigen Stand zureuch springen zu koennen
Momentan arbeite ich eigentlich nur mit einem Layer on top meines base-images. Praktisch arbeiten wir also in einem externen snapshot, den wir regelmaeesing 'committen'. Machen ich ein update des Servers muss ich also die unten genannten Schritte ausfuehren
- virsh shutdown [current_snapshot_name] - cd /path/to/image_location - qemu-img commit [current_snapshot_name.qcow2] - qemu-img create -f qcow2 -b [base_name.qcow2] [new_snapshot_name.qcow2] - cd /etc/libvirt/qemu - cp base_name.xml new_snapshot.xml - vim new_snapshot.xml - ... manually adjust 'mac address', 'uuid', 'image file name', 'vm name' inside the xml file - virsh define [new_snapshot.xml] - virsh start [new_snapshot] - virsh undefine [current_snapshot.xml] - cd /path/to/image_location - sudo rm [current_snapshot_name.qcow2] - virsh autostart [new_snapshot_name]
dies dauert ziemlich lange und ich wuerde gerne ein script schreiben (oder eine existierendes finden), das die Sache automatisiert
ich habe wenig Erfahrung mit scripten und das Bearbeiten der VM definition (also manuelles Bearbeiten von 4 Werten innerhalb eines xml files) macht mir Kopfschmerzen
hat jemad eine Idee, wie man das per script abhandeln koennte? Alles andere kriege ich in ein sh script irgendwie rein denke ich. Kann sein, das man fuer das Bearbeiten der xml was Anderes braucht (Python vielleicht)?
Im idealfall wuerde ich das Script gerne auf ein zu definierendes file ansetzten (./script.sh [current_snapshot_name.qcow2]) und davon wuerden sich alle Variablen, die man braucht ableiten
qemu 1.1.2 virsh 0.9.12.3