Herramientas de usuario

Herramientas del sitio


wikitecnica:libvirtd

Libvirtd

Es una librería que define un conjunto de APIS que interactuan con diferentes hipervisores1) contiene un conjunto de herramientas del interprete de comandos o clientes gráficos que permiten crear, suspender, mover, destruir instancias de un sistema operativo o máquinas virtuales.

Definiciones

  1. Nodo. Un nodo es un nombre para referirse a una máquina física.
  2. Hipervisor . Es una capa de software que permite virtualizar un nodo en un conjunto de máquinas virtuales con una configuración diferente al nodo.
  3. Domain. Es una instancia de un sistema operativo corriendo en una máquina virtualizada proporcionada por el hipervisor.

Dominios trascendentes y persistentes

Libvirtd distingue entre dominios trascendentes y persistentes. Los dominios trascendentes hasta que la máquina virtual se apaga o el nodo donde corre la máquina virtual es reinicializado. Los dominios persistentes no dependen del estado de la máquina virtual.

Estados de un dominio

Los dominios pueden estar en varios estados:

  • Undefined. Este es un estado base. Libvirtd no sabe acerca de un dominio en este estado ya que el dominio no ha sido creado o definido.
  • Defined/Stopped. Exclusivamente las máquinas persistentes pueden estar en este estado, las máquinas en este estado están definidas pero no están corriendo. Las máquinas trascendentes dejan de existir cuando se detienen.
  • Running. El dominio ha sido definido e iniciado. Los dominios en este estado son ejecutados activamente por el hipervisor del nodo.
  • Paused. La ejecución del dominio ha sido puesta en pausa,el estado del dominio es respaldado de forma temporal.
  • Saved. Es similar al estado en pausa, pero en este caso el estado del dominio es respaldado en un medio persistente.

El ciclo de vida de una máquina virtual

Snapshots

Un snapshot es la vista de una máquina virtual y todas sus aplicaciones en un punto del tiempo. Los snapshots permiten a los usuarios guardar el estado de una máquina virtual en un punto del tiempo y permite regresar la máquina virtual a ese estado en cualquier momento, eso es particularmente útil cuando se instalan actualizaciones o nuevas aplicaciones que resultan conflictivas.

Instalación

Antes de iniciar es necesario verificar si el cpu tiene soporte a la virtualización:

  • CPUS intel: grep -e 'vmx' /proc/cpuinfo
  • CPUS AMD: grep -e 'svm' /proc/cpuinfo

Instalación de paquetes

  • dnf install qemu-kvm libvirt virt-install
  • dnf install epel-release -y
  • dnf install bridge-utils virt-top libguestfs-tools -y
  • systemctl start libvirtd
  • systemctl enable libvirtd

Generación de una red virtual

Las redes virtuales para las máquinas virtuales son de dos tipos:

  • NAT: El hipervisor opera un servidor DHCP que asigna IP's a las máquinas virtuales, la red virtual no es accesible desde la LAN
  • Bridge: En este caso la red virtual esta incluye un bridge virtual asociado a una interfaz física, esto permite el tráfico entre las máquinas virtuales y la LAN

Clientes de libvirtd

Hay tres clientes que interactuan con el daemon libvirtd, virt-manager un cliente gráfico2), virt-install y virsh permiten interactuar desde el interprete de comandos con las máquinas virtuales.

  • virt-install. Mediante este comando es posible construir una máquina virtual en una sesión de bash, en los parámetros se introducen caracteristicas como cpu, memoria, localización a partir del cual se instala el sistema operativo, etcétera.
  • virsh. El comando virsh permite interactuar con el hipervisor, contiene infinidad de opciones que permiten manejar cada detalle del ambiente de virtualización, en esta sección documentaremos las opciones mas utilizadas.

Manipulación de imágenes

El sistema operativo que hospeda máquinas virtuales tiene varias alternativas de almacenaje de las mismas, puede optar por almacenamiento arbitario como LVM3), ZVOL4) o archivos binarios que reciben el nombre de imágenes. El imperativo de mover máquinas entre hipervisores hace que la mejor opción de almacenamiento sean las imágenes.

1)
XEN, KVM, Virtualbox, VMware ESXi, Hyper-V
2)
No se discute en esta wiki
3)
Logical Volume Manager
4)
Volúmen lógico de ZFS
/home/correoparatodos.mx/www1353/public_html/data/pages/wikitecnica/libvirtd.txt · Última modificación: 2024/04/09 19:29 por lorenzo