Esta guía explica qué grupos de almacenamiento y volúmenes hay en Libvirt y cómo configurar la ubicación predeterminada de libvirt de KVM usando. cambiar Virsh Programa, Administrador de virt y cabina bajo Linux.
Tabla de Contenidos
Grupos de almacenamiento y volúmenes en Libvirt
Libvirt proporciona administración de almacenamiento en un sistema host KVM a través de grupos y volúmenes de almacenamiento.
Un grupo de almacenamiento es una cantidad de almacenamiento asignada al host KVM para que lo utilicen las máquinas virtuales. Un grupo de almacenamiento se divide en volúmenes de almacenamiento y se asigna a las máquinas virtuales como dispositivos de bloque.
En otras palabras, una agrupación de almacenamiento es un recurso de almacenamiento en un sistema host KVM que se puede utilizar para almacenar volúmenes. Y el volumen de almacenamiento es un dispositivo de almacenamiento que se puede asignar a una máquina virtual.
Un volumen de almacenamiento puede ser un dispositivo de bloque, como una partición, un volumen lógico o un archivo. Los discos virtuales, los dispositivos de CD / DVD / disquete y las imágenes ISO adjuntas a las máquinas invitadas son ejemplos de volúmenes de almacenamiento.
No puede tener un volumen de almacenamiento sin una agrupación de almacenamiento. Primero debe crear un grupo de almacenamiento y luego crear los volúmenes de almacenamiento dentro del grupo.
De forma predeterminada, todas las máquinas virtuales creadas con libvirt se guardan en /var/lib/libvirt/images/
Localización. Este es el grupo de almacenamiento predeterminado para las imágenes de VM Libvirt.
Tipos de agrupaciones de almacenamiento
Un grupo de almacenamiento puede ser de uno de los siguientes tipos:
- Grupo de directorios: utilice un directorio como grupo para alojar archivos de imagen. Los archivos pueden ser de cualquiera de los tipos de formato de disco válidos, como raw, qcow, qcow2, dmg, vmdk, vpc o imágenes ISO.
- Grupo de sistema de archivos: use un dispositivo de bloque (por ejemplo, una partición o un grupo LVM) como grupo en lugar de un directorio para usar en un sistema de archivos montado existente.
- Grupo de sistema de archivos de red: utilice un sistema de archivos de red (p. Ej.
cifs
,glusterfs
,nfs
etc.) como una agrupación para almacenar volúmenes de almacenamiento. En lugar de un directorio o dispositivo de bloque, requiere un host de red y la ruta de un directorio compartido. - Grupo de volúmenes lógicos: utilice un grupo de volúmenes LVM como grupo para almacenar volúmenes.
- Grupo de discos: utilice un disco físico como grupo. Los volúmenes se pueden crear agregando particiones al disco duro.
- Pool iSCSI: utilice un destino iSCSI para almacenar volúmenes. Todos los volúmenes deben estar preasignados en el servidor iSCSI.
- Grupo iSCSI directo: esta es una variante del grupo iSCSI. En lugar de usar iscsiadm, usa
libiscsi
. Requiere un host, una ruta que sea el IQN objetivo y un IQN iniciador. - Grupo SCSI: utilice un adaptador de bus de host SCSI de la misma forma que un destino iSCSI.
- Grupo de rutas múltiples: actualmente no se admiten rutas múltiples.
- Grupo RBD: este controlador de almacenamiento proporciona un grupo que contiene todas las imágenes RBD en un grupo RADOS. RBD (RADOS Block Device) es parte del proyecto Ceph Distributed Storage.
- Grupo de perros pastor: utilice el grupo de perros pastor como grupo para almacenar volúmenes.
- Grupo de Gluster: utilice el sistema de archivos distribuido de Gluster como grupo.
- Grupo ZFS: utilice el sistema de archivos ZFS como grupo.
- Vstorage Pool: utilice el almacenamiento definido por software distribuido de Virtuozzo como un pool.
Para los propósitos de esta guía, usamos Directory pool
.
1. Cambiar el grupo de almacenamiento KVM Libvirt predeterminado
Como se mencionó anteriormente, todas las imágenes KVM / Libvirt se almacenan en /var/lib/libvirt/images/
Ubicación por defecto. Dado que esta ubicación está en el rootfs
Partición, por ejemplo, si desea moverla a otra ubicación $HOME
Directorio.
Podemos cambiar la ubicación predeterminada de las imágenes de KVM Libvirt VM con virsh
Programa de línea de comandos y su interfaz gráfica denominada Administrador de virt, y también cabina Consola web.
Primero, veremos cómo usar la ruta del grupo de almacenamiento predeterminado de Libvirt usando. cambiar virsh
Programa.
1.1. Cambiar el grupo de almacenamiento KVM Libvirt predeterminado mediante el programa virsh
1.1.1. Inicie sesión en su sistema host KVM y apague todos los invitados en ejecución.
Para encontrar la lista de máquinas virtuales en ejecución, simplemente haga lo siguiente:
$ virsh list --all
Apague cuando las máquinas virtuales se estén ejecutando.
$ virsh shutdown
1.1.2. Enumere todos los grupos de almacenamiento configurados en su computadora host KVM:
$ virsh pool-list
Salida de muestra:
Name State Autostart default active no
Como puede ver, solo tengo un grupo de almacenamiento, que es el default
. Se creará automáticamente cuando lo instalemos. kvm/libvirt
.
1.1.3. Veamos los detalles del pool de almacenamiento predeterminado con el comando:
$ virsh pool-info default
Salida de muestra:
Name: default UUID: 76f47a3c-7656-4c34-9ab5-c87e5136d532 State: running Persistent: yes Autostart: no Capacity: 369.22 GiB Allocation: 65.60 GiB Available: 303.62 GiB
El resultado anterior enumera los detalles como el nombre del grupo de almacenamiento, UUID, estado, persistente, inicio automático, capacidad, espacio asignado del grupo de almacenamiento y el espacio disponible restante.
Dado que vamos a cambiar la ruta del grupo de almacenamiento, también debemos encontrarlo.
1.1.4. Para mostrar la ruta del grupo de almacenamiento predeterminado, usaremos grep Comando con virsh
Como a continuación:
$ virsh pool-dumpxml default | grep -i path
Salida de muestra:
<path>/var/lib/libvirt/images</path>
Como puede ver en el resultado anterior, el grupo de almacenamiento predeterminado es /var/lib/libvirt/images/
. Lo cambiaremos en los siguientes pasos.
1.1.5. Enumere todas las imágenes de VM existentes almacenadas en el grupo de almacenamiento predeterminado virsh
Como a continuación:
$ virsh vol-list default | grep "/var/lib/libvirt/images/"
Salida de muestra:
archlinux.img /var/lib/libvirt/images/archlinux.img
Tengo una imagen de VM de Arch Linux en el grupo de almacenamiento predeterminado.
1.1.6. Detenga y anule la definición del grupo de almacenamiento predeterminado con el comando:
$ virsh pool-destroy default
$ virsh pool-undefine default
1.1.7. Edite el grupo de almacenamiento predeterminado con el comando:
$ virsh pool-edit default
Esto abrirá el archivo XML de la VM en su editor predeterminado.
Encuentra la línea que dice "<path>/var/lib/libvirt/images</path>"
bajo la target
– declaración y cámbiela por una nueva ruta de su elección.
En mi caso he cambiado eso <path>
Elemento desactivado /var/lib/libvirt/images
a /home/sk/.local/share/libvirt/images
.
<pool type="dir">
<name>default</name>
<uuid>76f47a3c-7656-4c34-9ab5-c87e5136d532</uuid>
<capacity unit="bytes">396452147200</capacity>
<allocation unit="bytes">71178977280</allocation>
<available unit="bytes">325273169920</available>
<source>
</source>
<target>
<path>/home/sk/.local/share/libvirt/images</path>
<permissions>
<mode>0755</mode>
<owner>1000</owner>
<group>1000</group>
<label>unconfined_u:object_r:svirt_home_t:s0</label>
</permissions>
</target>
</pool>
Solo asegúrate de que exista la nueva ruta. Si existe, simplemente créelo y otorgue suficientes permisos al nuevo directorio de ruta. Guarde el archivo y ciérrelo.
INCLINAR:
Si por alguna razón no existe un grupo de almacenamiento predeterminado, puede crear uno de la siguiente manera:
$ virsh pool-define-as --name default --type dir --target /home/sk/.local/share/libvirt/images/
Reemplace la ruta de almacenamiento con la suya propia.
1.1.8. Finalmente, inicie el grupo de almacenamiento predeterminado:
$ virsh pool-start default
1.1.9. Configure el grupo de almacenamiento para que se inicie automáticamente al iniciar el sistema:
$ virsh pool-autostart default
1.1.10. Use el comando para verificar si la ruta del grupo de almacenamiento libvirt ha cambiado o no:
$ virsh pool-dumpxml default | grep -i path
Ahora debería ver la nueva ruta.
/home/sk/.local/share/libvirt/images
A partir de ahora, las imágenes virtuales se almacenarán en el nuevo grupo de almacenamiento.
1.1.11. Verifique el estado del grupo de almacenamiento:
$ virsh pool-list Name State Autostart ------------------------------- default active yes
1.1.12. Reinicie el servicio libvirtd:
$ sudo systemctl restart libvirtd
1.1.13. Tenemos una última cosa que hacer. Copie todas las imágenes de VM de la ruta de almacenamiento anterior a la nueva:
$ sudo mv /var/lib/libvirt/images/archlinux.qcow2 /home/sk/.local/share/libvirt/images/
¡Todo listo!
Entonces cambiamos el grupo de almacenamiento predeterminado de KVM Libivrt a uno nuevo a través de la línea de comando Virsh
Programa. Como puede ver, ¡cambiar la ruta de almacenamiento predeterminada para los invitados de KVM / Libvirt es bastante fácil!
Ahora veamos cómo cambiar la ruta del grupo de almacenamiento predeterminado de Libvirt usando una aplicación gráfica llamada Virt-manager
.
1.2. Cambiar el grupo de almacenamiento KVM Libvirt predeterminado usando Virt-manager
Administrador de virt, abreviatura de Virtual Machine Manager, es una aplicación de interfaz gráfica de usuario para administrar máquinas virtuales a través de libvirt
. En otras palabras, Virt-Manager es una interfaz puramente gráfica para libvirt
.
1.2.1. Abra la aplicación Virt-Manager. Haga clic derecho en QEMU / KVM y haga clic en detalles Posibilidad.
También puede hacer clic en Editar-> Detalles de la conexión a través de la interfaz de Virt Manager.
1.2.2. Bajo la depósito En la sección, verá la ubicación predeterminada del grupo de almacenamiento.
1.2.3. hacer clic Detener la piscina y entonces Eliminar grupo Opciones en el área inferior izquierda.
Esto desactiva y elimina el grupo predeterminado.
1.2.4. presione el Más (+) inicie sesión en el panel inferior izquierdo para crear un nuevo grupo de almacenamiento para que lo utilicen las máquinas virtuales.
Ingrese el nombre del grupo de almacenamiento (p. Ej. default
en mi caso). Elija el tipo de piscina. En nuestro caso, elegí Directorio del sistema de archivos. Especifique la ubicación de destino y haga clic en Finalizar.
1.2.5. La nueva memoria ahora está activa. Comprobar el Autoencendido para iniciar automáticamente el nuevo grupo de almacenamiento al iniciar el sistema.
1.2.6. Mueva todas las imágenes de VM del directorio de almacenamiento anterior al nuevo.
$ sudo mv /var/lib/libvirt/images/archlinux.qcow2 /home/sk/.local/share/libvirt/images/
1.2.7. Finalmente, reinicie el servicio libvirtd:
$ sudo systemctl restart libvirtd
1.3. Cambiar el grupo de almacenamiento predeterminado de KVM Libvirt con Cockpit
cabina es una herramienta gratuita de administración de servidores basada en web para monitorear y administrar servidores Linux a través de un navegador web.
1.3.1 Abra su navegador web e inicie sesión en la consola de la cabina yendo a http: // localhost: 9090 o http: // dirección IP: 9090 desde la barra de direcciones.
1.3.2. Haga clic en eso Maquinas virtuales Ficha en el panel izquierdo. Click a la derecha Grupo de almacenamiento Posibilidad.
1.3.3. En la sección Grupos de almacenamiento, puede ver el grupo de almacenamiento predeterminado. Haga clic en la pequeña flecha para expandir la pestaña Storage Pools y haga clic en Desactivar y Claro Llaves.
Nota: Como ya cambié la ubicación predeterminada, muestra la nueva ruta. La antigua ruta predeterminada se mostrará en su sistema, es decir /var/lib/libvirt/images
.
1.3.4. Ingrese el nombre, el tipo y la ruta de destino del grupo de almacenamiento y haga clic en Crear. Asegúrese de que la casilla de verificación Inicio esté seleccionada.
1.3.5. hacer clic activar Botón para poner en marcha la piscina.
1.3.6. Mueva todas las imágenes de VM del directorio de almacenamiento anterior al nuevo.
$ sudo mv /var/lib/libvirt/images/archlinux.qcow2 /home/sk/.local/share/libvirt/images/
1.3.7. Reinicie el servicio libvirtd:
$ sudo systemctl restart libvirtd
Conclusión
En esta guía discutimos un tema importante de KVM / Libvirt: Grupos de almacenamiento. Aprendimos qué son los grupos y volúmenes de almacenamiento, y luego cómo cambiar la ubicación predeterminada de kvm libvirt usando tres programas, a saber, VIrsh, Virt-manager y Cockpit. Espero que encuentres esto útil.
Recurso:
Imagen destacada de mohamed Hassan en Pixabay.