Bug 21299 - Klonen von Instanzen
Klonen von Instanzen
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Virtualization - UVMM
UCS 2.4
Other Linux
: P5 enhancement (vote)
: UCS 3.0 - RC
Assigned To: Andreas Büsching
Stefan Gohmann
:
Depends on:
Blocks: 21300 25040 25041
  Show dependency treegraph
 
Reported: 2011-01-21 16:10 CET by Stefan Gohmann
Modified: 2011-12-13 15:49 CET (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-01-21 16:10:21 CET
Es sollte in UVMM eine Möglichkeit geben Instanzen zu klonen.
Comment 1 Philipp Hahn univentionstaff 2011-08-08 11:36:28 CEST
So geht es von Hand:
# qemu-img create -f qcow2 /var/lib/libvirt/images/master.qcow2 10M
# qemu-img create -f qcow2 -o backing_file=/var/lib/libvirt/images/master.qcow2,backing_fmt=qcow2 /var/lib/libvirt/slave.qcow2
Comment 2 Philipp Hahn univentionstaff 2011-11-02 18:09:21 CET
Im UVMMd wurde jetzt das passenden Kommando "domain_clone <uri> <uuid> <new_name> [subst]" implementiert, das die VM mit der angegebenen UUID auf dem angegebenen Server klont:
1. Die neue Instanz bekommt den neuen Namen
2. Die neue Instanz bekommt eine zufällige UUID.
3. Die MAC-Adressen werden zufällig neu generiert. Alternativ kann per "mac#alt=neu" eine gezielte neue MAC-Adresse vorgegeben werden.
4. Device-Images von CDROM und FLOPPY werden shared, die von DISKs kopiert. Der neue Name wird „geschickt“ aus dem alten Namen abgeleitet bzw. neu generiert. Per "copy#dev={copy,cow,share}" bzw. "name#dev=neu" kann das ebenfalls überschrieben werden.

Voraussetzung für das Kopieren ist, daß der Storage-Pool ein kopieren unterstützt. Getestet wurden "dir" (lokales Verzeichnis in bereits gemounteten Dateisystem), "fs" (zu mountendes lokales DS), "netfs" (zu mountendes Netzwerk-FS, z.B. NFS) und "logical" (LVM).
iSCSI ist ungetestet, wird aber voraussichtlich nicht funktionieren, da jeder iSCSI-Hersteller sein eigenes Süppchen kocht und libvirt keine Möglichkeit hat, generisch neue LUNs zu erzeugen.

Das CLI uvmm wurde entsprechend erweitert und kann zum Testen verwendet werden:
 uvmm domain_clone qemu:///system 99c95fd4-fa18-4771-4274-a80f75819cac \
  clone2 \
  mac#52:54:00:f9:8e:a2=52:54:00:f9:8e:00 \
  copy#vdb=cow \
  name#vda=clone123

Was jetzt noch Fehlt ist die ganze Anbindung an UMC.

svn28662..28664, univention-virtual-machine-manager-daemon_1.0.21-1.304.201111021808

ChangeLog: DRAFT
\item UVMM now supports cloning VMs. Prerequisites are that the underlaying storage pool supports storage volume creation, which currently includes local file systems, NFS and LVM, but excludes iSCSI. (\ucsBug{21299}).
Comment 3 Philipp Hahn univentionstaff 2011-11-21 10:55:49 CET
Standardmäßig werden nun die alten MAC-Adressen beibehalten anstatt sie standardmäßig automatisch neu generieren zu lassen. Das ist notwendig, wenn von VMs exakte Kopien erstellt werden müssen, um diese anschließend zu testen, Sicherungskopiene zu ertsellen bzw. diese in Produktivsystem migriert werden sollen.

Ist kein entsprechender mac#xx:xx:xx:xx:xx:xx-Eintrag vorhanden, wird die MAC-Adresse beibehalten. Ist ein Eintrag vorhanden, der in Python zu False evaluiert, wird eine neue MAC-Adresse von libvirt generiert. Alle anderen (Zeichenketten) werden direkt als neue MAC-Adresse gesetzt.

svn29406, univention-virtual-machine-manager-daemon_1.0.75-2.340.201111211050
Comment 4 Stefan Gohmann univentionstaff 2011-11-21 22:06:22 CET
Nach dem Klonen fehlt ein Refresh.
Comment 5 Andreas Büsching univentionstaff 2011-11-30 14:04:26 CET
(In reply to comment #4)
> Nach dem Klonen fehlt ein Refresh.

Das kann ich nicht reproduzieren. Nach einem Klonen ist die neue Instanz sofort in der Liste
Comment 6 Stefan Gohmann univentionstaff 2011-11-30 19:13:37 CET
Funktioniert soweit. Ich habe dazu zwei weitere Bugs angelegt, die aus meiner Sicht die 3.0 Freigabe nicht blockieren sollten:
 Bug #25040
 Bug #25041
Comment 7 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:49:01 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"