So verwenden Sie VirtualBox-Festplatten-„Snapshots“ wieder

So verwenden Sie VirtualBox-Festplatten-„Snapshots“ wieder

Ich möchte eine „Suite“ aus 5 VMs erstellen, allesamt Ubuntu Server 12.04-Gastbetriebssysteme, aber mit radikal unterschiedlichen Software-Stacks über dem Betriebssystem (ein Server ist ein „Build-Server“ mit installiertem Subversion, Hudson usw.; ein anderer Server ist ein App-Server mit JBoss usw.).

Die Installation und Konfiguration von Ubuntu Server dauert mehrere Stunden. Wenn möglich, möchte ich dies nur einmal tun müssen (um eine „Basis“-Version des Betriebssystems auf einer VM zu installieren) und diese „Basis“ dann auf die anderen 4 kopieren. Auf diese Weise spare ich 2 bis 3 Stunden pro Maschine und muss mich nur auf die Installation und Konfiguration der Anwendungen für jeden Server konzentrieren.

Wenn ich eine VM erstelle, werden drei Dateien erstellt:

  • my-vm.vbox- Ich nehme an, das ist die VM
  • my-vm.vbox-prev- Keine Ahnung was das ist
  • my-vm.vdi- Ich gehe davon aus, dass dies die eigentliche Festplatte ist, auf der das Gastbetriebssystem (meine „Basis“) installiert ist

Leider habe ich bereits alle 5 VMs erstellt und bin dabei, Ubuntu Server auf der ersten zu installieren. Mein Setup sieht daher folgendermaßen aus:

  • build-srv.vbox, build-srv.vbox-prev, build-srv.vdi(das VDI ist initialisiert, enthält aber nichts)
  • app-srv.vbox, app-srv.vbox-prev, app-srv.vdi(dasselbe, initialisiert, aber ohne Inhalt)
  • usw... (für alle 5)

Ich bin gerade dabei, Ubuntu Server auf dem Build-Server ( build-srv) zu installieren. Ichhoffendass, wenn ich fertig bin, alle diese Konfigurationsinformationen einfach in enthalten sein werden build-srv.vdi. Theoretisch würde ichsollenSie können es einfach per Kopieren und Einfügen build-srv.vdiauf jeden der anderen Server kopieren und die jeweiligen VDIs austauschen, oder?

Ich bin sicher, dass ich auch in die VM-Einstellungen gehen und auch irgendwie das VDI ändern müsste, aber ich bin nicht einmal sicher, ob ich auf dem richtigen Weg bin.

Ist das, was ich brauche, möglich? Wenn ja, was muss ich tun, um jede VM mit derselben Kopie der Betriebssysteminstanz zu konfigurieren, in der ich mich gerade befinde? Wenn nicht, welche Optionen habe ich (außer die gleiche 2-stündige Installation für jede VM zu wiederholen!)? Vielen Dank im Voraus!

Antwort1

Jede VDI-Datei enthält eine Kennung in Form einer UUID.
Virtualbox zeichnet diese UUIDs in einer Datenbank auf und weigert sich, eine gerade kopierte VDI zu verwenden (auf einem anderen Computer ist das jedoch in Ordnung, da nichts über diese UUID aufgezeichnet wird).

Ich kenne zwei Methoden:
- Kopieren Sie die VDI (mit einem Dateimanager oder einer Befehlszeile), verwenden Sie dann vboxmanage internalcommands sethduuid "path/yourdisk.vdi"und Sie erhalten eine brandneue UUID für diese VDI
- oder verwenden Sie den Virtualbox Mediamanager (im Menü). Wählen Sie die Festplatte aus, die Sie kopieren möchten ... und klicken Sie auf die Schaltfläche „Kopieren“. Damit funktioniert es ganz einfach.

  • my-vm.vbox- dies ist eine XML-Datei, die die VM beschreibt. Sie können sie mit einem Texteditor oder einem Webbrowser öffnen
  • my-vm.vbox-prev- dies ist ein Backup von my-vm.vbox
  • my-vm.vdi- das ist die virtuelle Festplatte

edit: die copyFunktion scheint nur unter Windows vorhanden zu sein. Meine Linux-Box hat sie nicht, meine Windows-Box hat sie

Antwort2

Was Sie vielleicht suchen, ist dieMehrfachbefestigungDisk-Modus – der angewendet werden kann, nachdem das anfängliche Disk-Image erstellt und konfiguriert wurde. Sie können es dann als Kern für mehrere VMs verwenden und jede hat ihr eigenes Differenz-Image basierend auf dem Original – kein Kopieren oder Klonen erforderlich. Bitte lesen Sie die Dokumentation unter:http://www.virtualbox.org/manual/ch05.html#hdimagewrites

verwandte Informationen