Archivo de la categoría: Virtualización

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.

Controlar servidor con VirtualBox de forma remota******TERMINAR*****

Imaginemos que tenemos un equipo servidor (con una ubuntu server, por ejemplo), es decir, sin entorno gráfico. El equipo tiene cierta potencia como para virtualizar máquinas.

 

VBoxHeadless -s ubuntu_12.04-asterisk

http://askaralikhan.blogspot.com.es/2011/01/virtualbox-vboxheadless-remote-desktop.html

 

https://www.virtualbox.org/manual/ch07.html

Qué es la virtualización

En una entrada anterior (concretamente en ésta) os comentaba cómo virtualizar de forma muy sencilla usando el software VirtualBox.

En aquél artículo comentaba que no iba a entrar a explicar qué era la virtualización, los tipos que hay, etc. Bien, pues eso es lo que os voy a explicar en éste.

En lugar de escribiros un artículo, que puede ser un poco pesado para leer (me suelo enrollar bastante, lo reconozco), me remito a la presentación que hice allá por Julio de 2011 y que expuse en la Universidad durante un pequeño ciclo de charlas de Caldum.

Era una charla corta, así que intenté abreviar pero dejando -o intentándolo, al menos- los conceptos lo más claros posibles. Al final de la misma se explica brevemente cómo usar KVM.

Aquí os pongo el enlace para que los descarguéis la presentación en pdf.

 

Virtualización fácil con VirtualBox

No voy a entrar aquí en detalles sobre qué es la virtualización, tipos de virtualización, etc., (de esto lo mismo escribo un artículo en el futuro), sino que me voy a centrar en comentaros brevemente mi experiencia con software para virtualizar en GNU/Linux.

Hace tiempo comencé a usar qemu para «emular» distintas plataformas (incluso con otras arquitecturas distintas a la x86). Al tiempo apareció una solución de virtualización seria para Linux: KVM. La interfaz para interactuar con KVM es mediante qemu, por lo que lo prácticado con anterioridad me valía perfectamente.

Básicamente, lo que tenía que hacer es crear el disco duro con qemu-img create… y luego arrancar la máquina virtual con kvm -boot d -cdrom  /dev/sr0 … En línea de comandos especificaba los parámetros de la máquina virtual.

Esto es práctico y es rápido, sobre todo si usas mucho la línea de comandos, como es mi caso. Para usar la red en modo bridge (i.e., para poder conectar la máquina virtual a la misma red que la del equipo anfitrión) tenía que crear un bridge en Linux, configurarlo y añadir las distintas interfaces.

Todo me iba bien hasta que lo usé en mi portátil con la red inalámbrica, y es que para hacer un bridge con wifi es algo más complicado de esta forma. Tengo por ahí algún enlace donde alguien se curró un método (no es sencillo) para poder hacerlo -por si a alguno de mis millones de seguidores les interesa-.

Así las cosas, me instalé VirtualBox. Ya lo había probado antes pero no a fondo. Pues ahora sí que lo he probado bastante y puedo decir que lo llevo usando bastante tiempo y me va genial. Con VirtualBox se crea el puente instantáneamente simplemente seleccionando que quieres usar la tarjeta inalámbrica del equipo anfitrión. Va perfecto.

Además, tienes las expansiones que permiten optimizar el funcionamiento de las máquinas virtuales cuando son, sobre todo, máquinas windows (es un paquete de drivers actualizados para los dispositivos virtuales).

Por tanto, y aunque existen soluciones tipo frontend para kvm muy completas (como virt-manager, por ejemplo), para un uso personal de este tipo de software (probar nuevos sistemas, programas, etc., en entornos cerrados virtualizados), recomiendo que uséis VirtualBox. Al menos probadlo (si no lo habéis hecho ya) y me comentáis.

Por cierto, si queréis probar imágenes de sistemas ya instalados y preconfigurados, echad un vistazo aquí.