Bienvenidos a la página personal de José Domingo Muñoz Rodríguez, aquí podrás encontrar…

Accede a las entradas de mi blog donde escribo de Informática y Educación.

Blog Pledin

Accede a los materiales de los cursos que he impartido.

Plataforma Pledin

Accede a los contenido de los módulos de FP que estoy impartiendo en la actualidad.

Módulos FP

Últimos posts...

Introducción al uso de vagrant + libvirt + QEMU/KVM. Almacenamiento.

redes

Para terminar esta serie de entradas donde hemos estudiado el uso de vagrant utilizando como hypervisor de máquinas virtuales QEMU/KVM, vamos a tratar la forma de configurar el almacenamiento en nuestras máquinas.

Crear una máquina y añadirle un nuevo disco

Para ello, en el Vagrantfile, podemos indicar los discos extras que va a tener la máquina, para ello indicamos tantos bloques libvirt.storage como discos queramos conectar:

  ...
  config.vm.provider :libvirt do |libvirt|
    libvirt.storage :file, :size => '20G'
  end
  ...

Ademas del tamaño (size) podemos indicar otros parámetros.

Podemos observar que se ha creado un nuevo volumen:

$ virsh -c qemu:///system vol-list default
 Nombre                                    Ruta
----------------------------------------------------------------------------------------------------------
 ...
 ej1_default-vdb.qcow2                     /var/lib/libvirt/images/ej1_default-vdb.qcow2
...

Cuando eliminamos el escenario, el volumen también se borrará.

Crear una máquina y añadirle un disco ya existente

Si tenemos un volumen creado también lo podemos usar para crear la nueva máquina, en esta ocasión la definición en el fichero Vagrantfile sería:

  ...
  config.vm.provider :libvirt do |libvirt|
    libvirt.storage :file, 
      :path => 'new_disk.qcow2', 
      :allow_existing => true,  
      :type => 'qcow2'
  end
  
  ...

En este caso, no se crea un nuevo volumen, se utiliza uno que ya tenemos creado new_disk.qcow2, por lo que al eliminar el escenario, ese volumen no se borrará.

Conclusiones

Esta entrada ha quedado menos extensa que otras anteriores, pero se ha presentado los fundamentos para configurar el almacenamiento en nuestras máquinas virtuales creadas con Vagrant. Como siempre para seguir profundizando hat que estudiar la documentación del plugin.

Seguir leyendo...

Introducción al uso de vagrant + libvirt + QEMU/KVM. Definición de redes.

redes

En la entrada anterior: Introducción al uso de vagrant + libvirt + QEMU/KVM se hizo una introducción al uso de Vagrant para crear máquina virtuales usando libvirt y KVM. En esta entrada nos vamos a detener en los aspectos más interesantes para la definición de redes virtuales.

Red de mantenimiento

Como hemos visto en la entrada anterior, por defecto, las máquinas creadas por vagrant se conectan a una red de tipo NAT llamada vagrant-libvirt cuya definición es la siguiente:

virsh -c qemu:///system net-dumpxml vagrant-libvirt
<network connections='1' ipv6='yes'>
  <name>vagrant-libvirt</name>
  <uuid>aa24398a-7495-45ef-bf88-5c2a49836c5c</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr1' stp='on' delay='0'/>
  <mac address='52:54:00:fc:db:97'/>
  <ip address='192.168.121.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.121.1' end='192.168.121.254'/>
    </dhcp>
  </ip>
</network>

Esta conexión es utilizada por vagrant para acceder a la máquina cuando ejecutamos vagrant ssh y al ser de tipo NAT con DHCP, posibilita que nuestra máquina tenga acceso a internet. Como vemos la ruta por defecto de la máquina es la siguiente:

$ ip r
default via 192.168.121.1 dev eth0 
192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.2 

Podemos comprobar en el archivo /etc/network/interfaces que la interfaz eth0 se configura de forma dinámica:

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
Seguir leyendo...

Introducción al uso de vagrant + libvirt + QEMU/KVM

staticman

QEMU-KVM (en adelante KVM) es el sistema de virtualización completa utilizado por defecto en sistemas GNU/Linux. KVM proporciona principalmente el módulo del kérnel kvm.ko que está integrado desde hace años en el kérnel Linux y utiliza las herramientas del espacio de usuario del proyecto QEMU (de ahí que el nombre correcto del sistema de virtualización completo sea QEMU-KVM).

Es muy habitual no utilizar KVM directamente, sino hacerlo a través de libvirt, que es una API de virtualización y un proyecto independiente, que nos permite interactuar con varios sistemas de virtualización, entre ellos KVM.

Vagrant es una aplicación libre desarrollada en ruby que nos permite crear y personalizar entornos de desarrollo livianos, reproducibles y portables. Vagrant nos permite automatizar la creación y gestión de máquinas virtuales. Las máquinas virtuales creadas por vagrant se pueden ejecutar con distintos gestores de máquinas virtuales (oficialmente VirtualBox, VMWare e Hyper-V).

El objetivo principal de vagrant es aproximar los entornos de desarrollo y producción, de esta manera el desarrollador tiene a su disposición una manera muy sencilla de desplegar una infraestructura similar a la que se va a tener en entornos de producción. A los administradores de sistemas les facilita la creación de infraestructuras de prueba y desarrollo.

Enm esta entrada del blog vamos a introducir el uso de vagrant con el plugin vagrant-libvirt que no posibilita montar los escenarios en vagrant usando la virtualización proporcionada por KVM. Más concretamente, Vagrant utilizando la API de libvirt gestionara los recursos en el sistema de virtualización KVM.

Seguir leyendo...

Más posts...

Últimos cursos...

Revistas

Revistas Libres de Software Libre

Learn More

Twitter

cc

Licencia

Licencia: Puedes copiar y modificar todos los contenidos, pero siempre respetando los términos de la licencia CC-BY-SA.

Ver