En esta entrada vamos a ver los comandos básicos para la creación de máquinas virtuales dentro de nuestro servidor, de esta manera podremos hacerlo por ssh y de manera remota sin recurrir a una interfaz gráfica.

Creación y configuración de máquinas

En primer lugar lo que debemos de hacer es crear un disco duro virtual para que podamos instalar el sistema operativo que queramos, para ello lo que hacemos es ejecutar el siguiente comando:

#qemu-img create -f qcow2 -o preallocation=metadata RUTA_A_DISCO_DURO_VIRTUAL ESPACIO

Un ejemplo real sería:

#qemu-img create -f qcow2 -o preallocation=metadata /mnt/discoduro 10G

El siguiente paso es crear la máquina virtual usando el disco virtual que hemos creado anteriormente, también debemos de especificar la imagen que vamos a usar para la instalación:

#virt-install -r RAM_EN_MB -n NOMBRE -f RUTA_A_DISCO_DURO_VIRTUAL --cdrom RUTA_A_ISO --vcpus=NUMERO_DE_CORES --graphics vnc,listen=0.0.0.0 --noautoconsole --network bridge:br0
#virt-install -r 1024 -n maquina1 -f /mnt/discoduro --cdrom /mnt/isos/debian8.iso --vcpus=2 --graphics vnc,listen=0.0.0.0 --noautoconsole --network bridge:br0

Si observamos el ultimo parámetro que le marcamos es la red en la cual hemos puesto que sea en modo puente por la interfaz “br0” que se creó para que las máquinas pudieran acceder a la misma red que el servidor.

Si queremos que la máquina tenga mas de un duro debemos debemos de ejecutar el comando anterior pero con un añadido:

#virt-install -r RAM_EN_MB -n NOMBRE -f RUTA_A_PRIMER_DISCO_DURO_VIRTUAL -f RUTA_A_SEGUNDO_DISCO_DURO_VIRTUAL --cdrom RUTA_A_ISO --vcpus=NUMERO_DE_CORES --graphics vnc,listen=0.0.0.0 --noautoconsole --network bridge:br0

Otra opción que tenemos es crear una máquina virtual a partir de un disco duro virtual que ya existente y que ha sudo usando e instalado un sistema operativo:

#virt-install -r RAM_EN_MB -n NOMBRE -f RUTA_A_DISCO_DURO_VIRTUAL --vcpus=NUMERO_DE_CORES --graphics vnc,listen=0.0.0.0 --noautoconsole --network bridge:br0

Opciones de KVM.

Ahora vamos a ver los comando necesarios para poder gestionar KVM y las máquinas de creemos.

En primer lugar si lo que queremos es arrancar una máquina virtual debemos de ejecutar el siguiente comando:

#virsh start nombre

Para apagarla sería de la siguiente manera:

#virsh destroy nombre

No nos confundamos, aunque ponga “destroy” no significa que la destruya como hemos dicho lo que hace es apagarla.

Ahora si vamos a ver el comando para eliminar o destruir la máquina que sería de la siguinete forma:

#virsh undefine nombre

Cuando creamos mas de una máquina se le asignan puertos para poder acceder por vnc de manera que las máquinas están separadas y definidas perfectamente. Para ver los puertos que tiene cada máquina podemos usar uno de los dos comandos que tenemos a continucación:

#virsh domdisplay nombre
#virsh vncdisplay nombre

Si lo que queremos es hacer un listado de las distintas redes que tenemos en KVM podemos hacer con un comando muy sencillo que es:

#virsh net-list

Ahora vamos a ver el comando con el cual nos muestra un listado de todas las máquinas que tenemos creadas y si están encendidas o apagadas:

#virsh list --all

Acciones fuera de KVM.

Si lo que queremos es ver las direcciones IP que hay concedidas en nuestra red local lo que debemos de hacer es usar el comando nmap de la siguiente manera:

#nmap -sP 192.168.1.1-254

También es una buena opción para cuando estemos desarrollando y probando en una máquina virtual el montarnos la carpeta donde se este ejecutando el código de la aplicación en nuestra máquina real. Esto lo podemos hacer con “sshfs” de la siguiente manera:

#sudo sshfs -o allow_other user@address:/directorio/ /carpeta_destino_de_montaje/
#sudo sshfs -o allow_other usuario@192.168.100.11:/home/usuario/ /mnt/MaquinaVirtual/

Si estamos fuera de nuestro red, podemos realizar un tunel mediante los siguientes comandos:

ssh -f userB@systemB -L 2222:systemC:22 -N
sshfs -o allow_other -p 2222 userC@localhost:/remote/path/ /mnt/localpath/

Para quitar el enlace usamos:

 
umount /mnt/localpath/

Y para eliminar el tunel:

ps ax | grep "ssh_command" | awk '{print $1}' | \
	xargs -i kill {} 2>/dev/null
Categories: KVMLinux

    Related Posts

    KVM

    Panel web para KVM: Webvrtmgr

    En esta entrada vamos a ver como instalar un panel web para la gestión de nuestras maquinas virtuales en nuestro serviidor host, esto nos permitará tanto crearlas, como borrarlas, dotarlas de mas capacidad, etc. 1- Continuar leyendo…

    Linux

    Actulización de Debian Jessie 8 a Debian Stretch 9

      En la siguiente entrada vamos a ver como actualizar nuestra versión de Debian Jessie a Debian Stretch, el proceso es algo muy sencillo y se hace en pequeños pasos como vamos a ver ahora: Continuar leyendo…

    Bases de Datos

    OwnCloud en Alta Disponibilidad.

    INSTALACION DE OWNCLOUD EN ALTA DISPONIBILIDAD Lo que vamos a hacer a continuación es crear una alta disponibilidad para Owncloud. Owncloud es un sistema de almacenamiento y aplicaciones en línea. nuestro objetivo es lograr un Continuar leyendo…