[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

¡Esta es una revisión vieja del documento!


En proceso de traducción. Víctor

KVM y libvirt

Con la combinación de KVM y libvirt, tiene una manera fácil de crear y administrar máquinas virtuales.

Según la página oficial homepage, libvirt es: Un kit de herramientas para interactuar con las capacidades de virtualización de versiones recientes de Linux (y otros sistemas operativos). Proporciona gestión de máquinas virtuales, redes virtuales y almacenamiento; tanto locales como remotos. Dado que libvirt actúa como un intermediario entre un hipervisor y las aplicaciones cliente, debe tener instalado un hipervisor compatible. Algunos ejemplos son: KVM / QEMU, Virtualbox, Xen y VMware ESX.

Quote: KVM (para Máquina Virtual basada en Kernel) es una solución de virtualización completa para Linux en hardware x86 que contiene extensiones de virtualización (Intel VT o AMD) V). Consiste en un módulo de kernel que se puede cargar, kvm.ko, que proporciona la infraestructura de virtualización central y un módulo específico del procesador, kvm-intel.ko o kvm-amd.ko.

Instalación

Libvirt se puede instalar utilizando un script slackbuild de slackbuilds.org. Proporciona un demonio que interactúa entre aplicaciones y máquinas virtuales. También proporciona un shell de línea de comandos, virsh , que se puede usar para administrar máquinas virtuales y configurar el entorno libvirt. Virsh también se puede usar en shell scripts para iniciar y detener máquinas virtuales.

El kernel slackware tiene el módulo KVM habilitado. El script de inicio de libvirt verificará la CPU y modificará el controlador correcto. Las herramientas de espacio de usuario se suministran con QEMU, que está disponible en slackbuilds.org. Anteriormente, se utilizaba una QEMU modificada, qemu-kvm . Sin embargo, desde la versión 1.3, QEMU incorpora esos cambios y qemu-kvm está restringido.

Una herramienta de gestión de escritorio gráfica, virt-manager , también está disponible en slackbuilds.org. Esto proporciona una visión general de todas las máquinas virtuales y tiene un asistente agradable para crear nuevas máquinas virtuales de una manera fácil.

Configuration

Inicio automático

Si desea que el demonio libvirt se inicie automáticamente, agregue la siguiente sección a /etc/rc.d/rc.local :

# start libvirt
if [ -x /etc/rc.d/rc.libvirt ]; then
    /etc/rc.d/rc.libvirt start
fi 

Asegúrese de que /etc/rc.d/rc.libvirt sea ejecutable.

Gestión de grupos de almacenamiento

El almacenamiento en libvirt se maneja en términos de grupos de almacenamiento y volúmenes de almacenamiento . Un grupo es un contenedor genérico para varios objetos de almacenamiento. Puede ser un directorio local, una partición física o un recurso compartido de red. Un almacenamiento volumen es la representación virtual de un disco para un sistema invitado. En el invitado, este volumen se ve como un disco local. Una imagen iso de un cd o dvd de instalación también se considera un volumen.

Cuando se instala libvirt, se crea un grupo de almacenamiento predeterminado (denominado default ) con el directorio local / var / lib / libvirt / images . Cualquier volumen recién creado se crea en este directorio.

Cree un nuevo grupo de almacenamiento basado en directorio usando virsh

Los comandos de Virsh se pueden pasar como parámetros a virsh en la línea de comandos, o puede iniciar un shell de virsh interactivo llamando a virsh sin parámetros:

# virsh
Welcome to virsh, the virtualization interactive terminal.

Type:  'help' for help with commands
       'quit' to quit

virsh # 

Para crear un nuevo grupo de almacenamiento basado en directorio, primero asegúrese de que el directorio de destino existe. Luego use el comando pool-define-as . La sintaxis básica para este comando es: pool-define-as <pool-name> dir - - - - <directory-name> . Por ejemplo, para crear el grupo discos para el directorio / srv / virtualmachines / disks , use el siguiente comando:

# virsh pool-define-as disks dir - - - - /srv/virtualmachines/disks
Pool disks defined

Para obtener ejemplos más complejos de este comando, consulte la página del manual de virsh.

Verifique que la agrupación exista con el comando pool-list . La opción -all muestra grupos activos e inactivos:

# virsh pool-list --all
Name                 State      Autostart 
-----------------------------------------
default              active     yes       
disks                inactive   no        

Ahora, cree el grupo real con el comando pool-build :

# virsh pool-build disks
Pool disks built

Cuando se construye pool, se puede iniciar con el comando pool-start :

# virsh pool-start disks
Pool disks started

Ahora se puede utilizar pool. En este punto, el grupo siempre debe iniciarse manualmente. Para que libvirt inicie el grupo cuando se inicie el demonio, debe verificar el indicador de inicio automático con el comando grupo-inicio automático :

# virsh pool-autostart disks
Pool disks marked as autostarted

Muestra información sobre el grupo con el comando pool-info :

# virsh pool-info disks
Name:           disks
UUID:           4ae08c3d-4622-9f2a-cfa9-9dea4d1eb465
State:          running
Persistent:     yes
Autostart:      yes
Capacity:       697.92 GiB
Allocation:     250.89 GiB
Available:      447.04 GiB

Cree un nuevo grupo de almacenamiento basado en directorio usando virt-manager

En primer lugar, asegúrese de que el directorio de destino existe. Entonces empieza virt-manager .

virt-manager Main window

Seleccione la máquina host (el valor predeterminado es localhost ). Seleccione Editar, Detalles de conexión en el menú, o haga clic con el botón derecho en la máquina y seleccione Detalles , o haga doble clic en la máquina. Aparece la ventana Detalles de la conexión . Seleccione la pestaña Almacenamiento .

virt-manager Connection Details

Presione el botón + en la parte inferior izquierda. Aparece la ventana Agregar grupo de almacenamiento .

virt-manager Add Storage Pool

Ingrese el nombre del nuevo grupo. El tipo predeterminado es dir , que es el tipo correcto. Presione Forward e ingrese el directorio del sistema en el campo de entrada Target Path . Presione Finalizar para crear el grupo.

Creating a new virtual machine

Creando una nueva máquina virtual usando virt-manager

Seleccione el host en el que desea crear la nueva máquina virtual. Esto será localhost por defecto. Haga clic con el botón derecho en el host y seleccione Nuevo , o haga clic en el botón Crear para iniciar el asistente de creación.

Paso 1: Asigne un nombre a la nueva máquina, seleccione el método de instalación del sistema operativo y presione Forward.

Paso 2: Dependiendo del método de instalación, se le pedirá que ingrese más detalles, como el nombre de la imagen de DVD iso utilizada.

También elige el tipo de sistema operativo y la versión. Al elegir Linux , elija Mostrar todas las opciones de SO en el indicador de Versión para obtener más opciones. Al elegir kernel genérico 2.6.x , el asistente asumirá un disco duro tipo IDE. Puedes cambiar esto en el paso 5.