Archivo de la etiqueta: máquina virtual

Gestionando máquinas virtuales con VirtualBox desde línea de comandos

Alguna vez he hablado aquí de VirtualBox (por ejemplo, aquí o aquí) y las ventajas de usarlo a la hora de probar nuevas distros, tener sistemas alternativos para ciertos programas que sólo funcionan en ellos o incluso para montar un laboratorio de pruebas.

Aunque la interfaz gráfica Qt que proporciona cubre la gran mayoría de funcionalidades que necesitaremos en un uso sencillo de este sistema de virtualización, es posible usarlo también desde línea de comandos.

Para ello tenemos el comando VBoxManage. Con este comando podemos realizar todo tipo de gestión con las máquinas virtuales. De hecho, podemos hacer todo lo que permite la interfaz gráfica y más cosas. A continuación os muestro algunos ejemplos prácticos de uso de VBoxManage.

Crearlas:

VBoxManage createvm -name NOMBREVM -register

Mostrarlas:

VBoxManage list vms

Arrancarlas:

VBoxManage startvm NOMBREVM

Pararlas:

VBoxManage controlvm NOMBREVM poweroff

Mostrar VMs (*) en ejecución:

VBoxManage list runningvms

Mostrar detalles de las VMs en ejecución:

VBoxManage list runningvms -l

Mostrar detalles de una VM en concreto:

VBoxManage showvminfo NOMBREVM

Hacer captura de pantalla:

VBoxManage controlvm NOMBREVM screenshotvm CAPTURE.png

Modificar memoria asignada a una máquina virtual (debe estar apagada):

VBoxManage modifyvm NOMBREVM --memory 4000MB

Este comando tiene muchísimas más opciones con una completa lista de parámetros. Si queréis más información al respecto podéis consultarla aquí.

En este artículo hemos visto cómo gestionar un equipo host (=anfitrión) VirtualBox mediante línea de comandos a través de VBoxManage. Esto lo hemos hecho en local, es decir, estando en la misma máquina host. En un artículo próximo veremos cómo hacerlo de forma remota.

 

 

(*) VM = Virtual Machine (máquina virtual).

Mover ficheros .vdi -VirtualBox- y no morir en el intento

Si usáis VirtualBox para crear y administrar máquinas virtuales (vms en adelante) puede que se os haya presentado el problema de que necesitáis moverlas de un disco a otro por diversos motivos (casi siempre por falta de espacio en el primero).

En mi caso ocurre que en mi portátil tengo dos discos duros (ver artículo de la instalación del ssd) y cuando tenía pocas vms me apañaba bien guardándolas todas en el ssd, lo cuál me venía bien porque es más rápido.

Desde entonces he venido creando máquinas y más máquinas y ahora tengo problemas de espacio. ¿Cómo solucionarlo? Es lo que voy a explicar ahora brevemente. Es muy sencillo.

En mi caso, tengo vms con windows y vms con linux. Para organizarlas un poco mejor creo grupos (uno para windows y otro para linux). Estos grupos son, en realidad, directorios en vuestro sistema de archivos. Os cuento esto porque yo he decidido mover todas las de windows al otro disco. Lo que he hecho ha sido mover el directorio al otro disco duro y simplemente crear un enlace simbólico desde el segundo al primero. Me explico:

En el disco ssd tengo el directorio /home/user/.virtualbox_vms/vms_windows. Lo que he hecho es moverlo a otra ruta, como por ejemplo /mnt/datos/vms_windows. Ahora, ejecuto el siguiente comando:

ln -s /mnt/datos/vms_windows /home/user/.virtualbox_vms/

Con esto ya lo tenéis movido y funcionando sin problemas (comprobado).

Otro caso que os puede pasar es que queráis mover sólo el .vdi (es decir, el propio fichero del disco duro de la máquina virtual). En este caso, simplemente lo movemos (ojo, estas cosas SIEMPRE con la máquina virtual en cuestión apagada) a la nueva ubicación y editamos el fichero de configuración de dicha máquina virtual (*) cambiando la ruta en la sección que comienza con “<HardDisk uuid”, en concreto, en la parte donde dice “location=”.

Espero que os sirva.

 

(*) El archivo de configuración lo tenéis dentro del directorio de la máquina virtual en cuestión. Es un archivo con extinsión .vbox.

Compartir archivos entre una máquina virtual y el host con VirtualBox

Si usamos VirtualBox para crear y manejar máquinas virtuales, es posible que en algunos casos nos resulte útil poder compartir información entre la máquina virtual y el propio host (*). Yo, en particular, lo uso bastante.

Uno puede pensar que lo más sencillo puede ser usar un pendrive, el cuál, una vez conectado al host, se puede usar tanto en dicha máquina como en la virtual. Lo cierto es que este proceso es también muy sencillo con VirtualBox, pero hay un mecanismo más indicado para esto, y es el que explico a continuación.

En la parte inferior de la máquina virtual hay un icono con forma de carpeta. Si pulsamos con el ratón en él se nos abrirán las preferencias de carpetas compartidas. Entonces nos da la posibilidad de elegir una carpeta en el equipo host para compartirla con las máquinas virtuales. Para ello creamos una entrada nueva -si no la teníamos ya creada- seleccionando dicha carpeta y le damos el nombre de recurso compartido que queramos.

Luego, en el sistema operativo montamos la carpeta con el comando correspondiente. Así:

- En Windows: net use x: \\vboxsvr\recurso
- En GNU/Linux: mount -t vboxsf recurso punto_montaje

Una cosa importante: tenemos que tener instaladas en la máquina virtual las guest aditions. Es todo, así de simple.

(*) En Virtualización, el término host se refiere a la máquina anfitrión, es decir, a la máquina física donde ejecutáis el software de máquinas virtuales (VirtualBox en este caso). En otras palabras, host se refiere a vuestro PC.