Es geht um die "Virtuelle Maschinenverwaltung" von QUEMU in Debian. Nach der Basis-Installation möchte ich mehrere Snapshots für Experimente anlegen, die beide jeweils von der Basis abgeleitet sind. Danach möchte ich zwischen diesen Schnappschüssen wechseln können, um darin unterschiedliche Experimente durchzuführen. In der GUI habe ich allerdings keinen Weg gefunden, das zu bewerkstelligen. Alternativ könnte ich mir vorstellen, mehrere Snapshots von snapshot1 abzuleiten, aber auch das habe ich nicht hinbekommen. Siehe mein misslungener Versuch im Bildschirmfoto. Zweites Problem: Jedes mal wenn ich zwischen den Schnappschüssen wechsele, gehen meine Änderungen verloren. Ich will aber hin und her wechseln, ohne die Änderungen zu verlieren. Also im Prinzip wie vier unabhängige VM, aber ich brauche sie nur abwechselnd (nicht gleichzeitig) und dachte mir, das ich mir damit ersparen kann, das Windows 4x installieren zu müssen (mit dem damit verbundenen Speicherplatz). Vielleicht habe ich das Konzept der Schnappschüsse noch nicht begriffen. Kennt sich da jemand aus?
:
Bearbeitet durch User
Snapshot mode If you use the option -snapshot, all disk images are considered as read only. When sectors in written, they are written in a temporary file created in /tmp. You can however force the write back to the raw disk images by using the commit monitor command (or C-a s in the serial console). QEMU hat eine prima HTML Dokumentation.
Nemopuk schrieb: > In der GUI habe ich allerdings keinen Weg gefunden, das zu > bewerkstelligen. Du musst jedesmal den Original-Snapshot starten, dann Deine Änderungen vornehmen und einen neuen Snapshot erstellen. Dann wieder den Original-Snapshot starten, Änderungen vornehmen und wieder einen Snapshot machen. > Zweites Problem: Jedes mal wenn ich zwischen den Schnappschüssen > wechsele und sie starte, gehen darin alle Änderungen verloren. Ich will > aber hin und her wechseln, ohne die Änderungen zu verlieren. Also im > Prinzip wie vier unabhängig VM, aber ich brauche sie nur abwechselnd > (nicht gleichzeitig) und dachte mir, das ich mir damit ersparen kann, > das Windows 4x installieren zu müssen (mit dem damit verbundenen > Speicherplatz). > > Vielleicht habe ich das Konzept der Schnappschüsse noch nicht begriffen. > Kennt sich da jemand aus? Nur der aktuelle Snapshot wird gespeichert. Das heisst, dass wenn Du auf einen anderen Snapshot wechseln möchtest, musst Du wieder einen Snapshot vom aktuell laufenden Snapshot machen (und den aktuell laufenden gegebenenfalls löschen). Sonst werden die Änderungen nicht gespeichert, da alle Daten seit dem Start des Snapshots gelöscht werden, wenn Du einen anderen Snapshot startest.
Also gibt es dort nur eine einfache Linie von Snapshots?
1 | basis -> snapshot1 -> snapshot2 -> snapshot3 -> tmp aktuell |
Die Kommandozeilen Tools erlauben allerdings, eine Baumstruktur von Images aufzubauen. Zumindest scheint es so. Ich probiere es mal ohne GUI.
:
Bearbeitet durch User
Nemopuk schrieb: > Also gibt es dort nur eine einfache Linie von Snapshots? Nein. Du erstellst einfach einen neuen Snapshot von irgendeinem Snapshot im Baum. Also z.B. basis -> snapshot1 -> snapshot2 -> snapshot3 -> snapshot4 -> snapshot5 -> snapshot6 Du musst halt vor der Erstellung eines neuen Snapshots im Baum immer den Knoten darüber aktivieren. Dann entsteht der neue Snapshot automatisch an der richtigen Stellen. >
1 | > basis -> snapshot1 -> snapshot2 -> snapshot3 -> tmp aktuell |
2 | > |
> > Die Kommandozeilen Tools erlauben allerdings, eine Baumstruktur von > Images aufzubauen. Zumindest scheint es so. Ich probiere es mal ohne > GUI.
Richie schrieb: > Du musst halt vor der Erstellung eines neuen Snapshots im Baum immer den > Knoten darüber aktivieren. Dann entsteht der neue Snapshot automatisch > an der richtigen Stellen. Danke, ich denke, das war der Knackpunkt. Jetzt sieht es wie im Bild aus. Man kann also doch Baumstrukturen anlegen. Ich habe es jetzt wohl etwas übertrieben :-) Eine Frage noch: Wenn ich von z1-snapshot1 zu z2-snapshot1 wechsele, gehen alle aktuell temporären Änderungen (im Zweig 1) verloren. Damit sie nicht verloren gehen, kann ich im jeweiligen Zweig einen weiteren Snapshot anlegen. So sammeln sich im Laufe der Zeit aber viele Schnappschüsse an. Kann man die aktuellen Änderungen an einem Snapshot irgendwie eleganter persistieren (ohne noch mehr Snapshots anzulegen)?
:
Bearbeitet durch User
Beitrag #7932481 wurde vom Autor gelöscht.
Nemopuk schrieb im Beitrag #7932481: > Ich habe gefunden! > > Damit die Änderungen in einem Snapshot erhalten bleiben, muss ich > wechseln ohne unten links auf den Play Button zu klicken. Es wird dann > der neue gewählte Snapshot gestartet, obwohl die grüne Markierung noch > woanders hängt. > > (Wer denkt sich so eine GUI aus?) Deshalb gibt's in QEMU die Konsole. ;-)
1 | (qemu) info block |
2 | ide0-hd0 (#block383): base.qcow2 (raw) |
3 | Attached to: /machine/unattached/device[23] |
4 | Cache mode: writeback |
5 | |
6 | (qemu) snapshot_blkdev ide0-hd0 SNAP1 |
7 | |
8 | (qemu) info block |
9 | ide0-hd0 (#block857): SNAP1 (qcow2) |
10 | Attached to: /machine/unattached/device[23] |
11 | Cache mode: writeback |
12 | Backing file: base.qcow2 (chain depth: 1) |
Man dann das Original starten
1 | qemu-system-x86_64 -boot c -hda base.qcow2 |
oder den SNAP1
1 | qemu-system-x86_64 -boot c -hda SNAP1 |
oder irgendwelche weiteren. SNAP1 (und weitere) hat als Backing file das base.qcow2 Und die SNAPs behalten die Änderungen ohne das base.qcow2 anzufassen.
Norbert, ich habe den Beitrag "Ich habe gefunden!" gelöscht, weil das doch nicht funktioniert hatte. Ich denke der Knackpunkt ist, dass die GUI bei jedem Snapshot Wechsel ein neues temporäres Image anlegt (das auf dem gewählten Snapshot basiert). Vermutlich hatte der GUI Entwickler die Snapshots als "Backup" Punkte vorgesehen, zu denen man zurück gehen kann. Ein wechsel zwischen mehreren Arbeits-Zweigen deckt die GUI wohl nicht ab (es sei denn, ich habe etwas übersehen). Wie du sagst will ich eigentlich kein temporäres Image starten, sondern den Snapshot selbst. In der Konsole geht das.
:
Bearbeitet durch User
Nemopuk schrieb: > Norbert, ich habe den Beitrag "Ich habe gefunden!" gelöscht, weil > das > doch nicht funktioniert hatte. > > Ich denke der Knackpunkt ist, dass die GUI bei jedem Snapshot Wechsel > ein neues temporäres Image anlegt (das auf dem gewählten Snapshot > basiert). > > Wie du sagt will ich aber eigentlich kein temporäres Image starten, > sondern den Snapshot selbst. Oder alternativ die Änderungen vom > temporären Image nach Abschluss der Arbeiten in seine Basis (mein > Snapshot) mergen. > > In der Konsole geht das ja. Das muss doch auch in der GUI gehen, denke > ich. Wie gesagt, BASIS image anlegen und starten. In der QEMU-Konsole:
1 | (qemu) snapshot_blkdev ide0-hd0 SNAP1 |
1 | (qemu) snapshot_blkdev ide0-hd0 SNAP2 |
System herunter fahren. SNAP1 und 2 ist nun erstellt (und basiert auf BASIS)
1 | ~/tmp$ l -h |
2 | -rw------- 1 norbert norbert 16M 3. Sep 11:49 base.qcow2 |
3 | -rw------- 1 norbert norbert 448K 3. Sep 11:43 SNAP1 |
4 | -rw------- 1 norbert norbert 193K 3. Sep 11:50 SNAP2 |
System kann nun mit SNAP1 oder SNAP2 gestartet werden (anstelle von BASIS) Alle individuellen Änderungen in den SNAPs bleiben erhalten. Sowohl Konsole als auch GUI haben ihre Vorteile: GUI: Da weiß man was man klickt. Konsole: Da weiß man was man macht. Edit:
1 | ~/tmp$ file SN* |
2 | SNAP1: QEMU QCOW2 Image (v3), has backing file (path base.qcow2), 16777216 bytes |
3 | SNAP2: QEMU QCOW2 Image (v3), has backing file (path base.qcow2), 16777216 bytes |
:
Bearbeitet durch User
Norbert schrieb: > Sowohl Konsole als auch GUI haben ihre Vorteile: > GUI: Da weiß man was man klickt. > Konsole: Da weiß man was man macht. Korrekt. Ich habe jetzt auch begriffen, dass die GUI mit ihren Snapshots ein anderes Ziel verfolgt, als ich mit meinen Zweigen. Ich kann die Zweige (du hast die SNAP1 und SNAP2 genannt) in der Konsole wie gewünscht anlegen und dann mit der GUI für jeden Zweig eine eigene VM anlegen, die dann das vorbereitete Image verwendet.
:
Bearbeitet durch User
Nemopuk schrieb: > Ich kann die Images in der Konsole wie gewünscht anlegen und dann mit > der GUI für jeden "Zweig" eine eigene VM konfigurieren, die dann das > vorbereitete Image verwendet. Geht. Man kann auch ein (oder zwei) bash scripts mit dem Aufruf anlegen und sich dann passende (Starter)Icons auf den Desktop legen. Wenn man so faul wie ich es bin, ist. PS. Womöglich kann deine GUI sogar die Parameter dafür anzeigen/ausgeben.
Die virt-manager GUI erinnert mich sehr stark an Oracles VirtualBox. Aber wenn man schon die viel flexiblere Open-Source Lösung hat, will man sie auch auskosten :-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.