Cómo reutilizar las "instantáneas" del disco VirtualBox

Cómo reutilizar las "instantáneas" del disco VirtualBox

Tengo un "conjunto" de 5 máquinas virtuales que me gustaría crear, todos los sistemas operativos invitados Ubuntu Server 12.04 pero con pilas de software radicalmente diferentes encima del sistema operativo (un servidor es un "servidor de compilación" con Subversion, Hudson, etc. instalados en él; otro servidor es un servidor de aplicaciones con JBoss, etc.).

La instalación y configuración de Ubuntu Server lleva varias horas. Si es posible, me gustaría tener que hacer esto solo una vez (para obtener una versión "base" del sistema operativo instalada en una máquina virtual) y luego copiar esta "base" a las otras 4. De esa manera guardo 2: 3 horas por máquina y solo hay que centrarse en instalar y configurar las aplicaciones para cada servidor.

Cuando creo una VM, veo tres archivos creados:

  • my-vm.vbox- Supongo que esta es la VM
  • my-vm.vbox-prev- No tengo idea de qué es esto.
  • my-vm.vdi- Supongo que este es el disco real donde está instalado el sistema operativo invitado (mi "base")

Desafortunadamente, ya creé las 5 máquinas virtuales y estoy en el proceso de instalar Ubuntu Server en la primera, por lo que mi configuración es así:

  • build-srv.vbox, build-srv.vbox-prev, build-srv.vdi(el VDI está inicializado pero no tiene nada)
  • app-srv.vbox, app-srv.vbox-prev, app-srv.vdi(igual, inicializado, pero sin nada)
  • etc... (para los 5)

Estoy en el proceso de instalar Ubuntu Server en el servidor de compilación ( build-srv). Soyesperandoque una vez que haya terminado, toda esa información de configuración estará contenida en build-srv.vdi. En teoría, yodeberíaPodrá simplemente copiar y pegar build-srv.vdien cada uno de los otros servidores e intercambiar sus respectivos VDI, ¿verdad?

Estoy seguro de que también tendría que ingresar a la configuración de VM y cambiar el VDI de alguna manera, pero ni siquiera estoy seguro de estar en el camino correcto.

¿Es posible lo que necesito? Si es así, ¿qué debo hacer para configurar cada VM con la misma copia de la instancia del sistema operativo en la que me encuentro actualmente? Si no, ¿cuáles son mis opciones (además de repetir la misma instalación de 2 horas para cada VM)? ¡Gracias de antemano!

Respuesta1

Cada archivo VDI contiene un identificador en forma de UUID.
Virtualbox registra estos UUID en una base de datos y se niega a usar un VDI que acaba de copiar (pero esto está bien en otra computadora porque no registra nada sobre este UUID).

Conozco 2 métodos:
- copie el VDI (con un administrador de archivos o línea de comando), luego úselo vboxmanage internalcommands sethduuid "path/yourdisk.vdi"y tendrá un UUID nuevo para este VDI
- o use el administrador de medios Virtualbox (en el menú). Seleccione el disco que desea copiar... y haga clic en el botón "copiar". Hará lo mismo con facilidad.

  • my-vm.vbox- este es un archivo XML que describe la VM. Puedes abrirlo con un editor de texto o un navegador web.
  • my-vm.vbox-prev- esta es una copia de seguridad de my-vm.vbox
  • my-vm.vdi- este es el disco virtual

editar: la copycaracterística parece estar presente solo en Windows. Mi caja de Linux no lo tiene, mi caja de Windows sí.

Respuesta2

Lo que quizás estés buscando es elconexión múltipleModo de disco: que se puede aplicar después de crear y configurar la imagen de disco inicial. Luego puede usarlo como núcleo para múltiples máquinas virtuales y cada una tendrá su propia imagen diferenciadora basada en el original, sin necesidad de copiar ni clonar. Consulte los documentos en:http://www.virtualbox.org/manual/ch05.html#hdimagewrites

información relacionada