Controlando VirtualBox desde consola

En numerosas ocasiones hablamos en este blog sobre VirtualBox y la facilidad que éste tiene para la gestión de máquinas virtuales, especialmente en entornos domésticos. Personalmente no lo contemplo para algo que no sea desarrollo.
Desde mi punto de vista, uno de los mayores problemas que veo en vBox es la forma de arrancar y gestionar las máquinas; arrancas el interfaz gráfico, seleccionas la máquina y la inicias. Una vez comienza el proceso de arranque, ya se puede cerrar el software de lanzamiento. La ventana ejecuta se ejecuta en otro instancia que crear su propia ventana. No es que me moleste, pero no soy amigo de tener muchas ventanas abiertas, así que tenía que encontrar una forma de arrancar y gestionar las máquinas virtuales sin interfaz gráfico. Al fin y al cabo, a las máquinas Linux siempre me conecto vía ssh y a las máquinas con Windows no me conecto vía escritorio remoto.
Además de esto, poder gestionar las máquinas desde línea de comandos simplificaría el manejo de las mismas, especialmente en remoto, que ya no sería para nada necesario un interfaz gráfico.
Para hacerlo comencé a investigar un poco el comando VBoxManage, que es el encargado de hacer todos los trabajos a bajo nivel. Entonces descubrí la forma sencilla de poder arrancar una máquina, apagarla, saber qué máquinas tengo instaladas, cuales en ejecución, etc.
A continuación os dejo algunos de los comandos que más habitualmente supongo que se emplean en la gestión de máquinas virtuales, aunque para más información, mirar todas las opciones de VBoxManage.
  • Listar máquinas disponibles
    shell> VBoxManage list vms
    
  • Listar máquinas arrancadas
    shell> VBoxManage list runningvms
    
  • Reiniciar una máquina
    shell> VBoxManage controlvm uuid|vmname reset
    
  • Arrancar una máquina
    shel> VBoxManage startvm uuid|vmname --type headless
    
  • Apagar una máquina
    shell> VBoxManage controlvm uuid|vmname resume|poweroff
    
  • Información sobre una máquina
    shell> VBoxManage showvminfo uuid|vmname
    
  • Limitar el ancho de banda empleado por una máquina
    shell> VBoxManage bandwidthctl uuid|vmname add 'limit net' --type network --limit 1M
    
  • Registrar una nueva máquina virtual
    shell> VBoxManage registervm filename
    
  • Borrar una máquina virtual
    shell> VBoxManage unregistervm uuid|vmname --delete
    
Todos los procesos se lanzan sobre una máquina, bien por su nombre o por su uuid. En ambos casos éste debe ser único, por lo que no tendremos problemas de confundirnos de máquina sobre la que trabajar.


1 comentario :

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

Últimos comentarios