En nuestro artículo anterior de la serie Linux KVM, explicamos cómo instalar Linux KVM y crear una VM invitada.
Pero, una vez que haya creado una VM invitada, debe saber cómo realizar algunas de las actividades de mantenimiento de rutina en la VM.
Este tutorial explicará cómo realizar las siguientes actividades de máquina virtual KVM de Linux:
- Añadir memoria a la máquina virtual
- Agregar vCPU a la máquina virtual
- Agregar disco a la máquina virtual
- Guardar configuración de máquina virtual
- Eliminar una máquina virtual
1. Agregar memoria a la máquina virtual
Para agregar memoria adicional a su VM, debe hacer lo siguiente:
- Apague su máquina virtual
- Edite el archivo de la VM y aumente el valor de la memoria máxima asignada a esta VM
- Reiniciar la máquina virtual
- Use virsh setmem para configurar la memoria hasta la memoria máxima asignada para esta máquina virtual.
En este ejemplo, aumentemos la memoria de la VM de myRHELVM1 de 2 GB a 4 GB.
Primero, apague la VM usando virsh shutdown como se muestra a continuación:
# virsh shutdown myRHELVM1 Domain myRHELVM1 is being shutdown
A continuación, edite la VM usando virsh edit:
# virsh edit myRHELVM1
Busque la línea de abajo y cambie el valor de la memoria a lo siguiente. En mi ejemplo, antes era 2097152:
<memory unit='KiB'>4194304</memory>
Tenga en cuenta que el valor anterior está en KB. Después de realizar el cambio, guarde y salga:
# virsh edit myRHELVM1 Domain myRHELVM1 XML configuration edited.
Reinicie la máquina virtual con el archivo de configuración actualizado. Ahora verá que la memoria máxima aumentó de 2G a 4G.
Ahora puede modificar dinámicamente la memoria de la máquina virtual hasta el límite máximo de 4G.
Cree el archivo XML de dominio usando virsh create
# virsh create /etc/libvirt/qemu/myRHELVM1.xml Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml
Ver la memoria disponible para este dominio. Como puede ver a continuación, aunque la memoria máxima disponible es de 4 GB, este dominio solo tiene 2 GB (memoria usada).
# virsh dominfo myRHELVM1 | grep memory Max memory: 4194304 KiB Used memory: 2097152 KiB
Configure la memoria para este dominio en 4 GB usando virsh setmem como se muestra a continuación:
# virsh setmem myRHELVM1 4194304
Ahora, lo siguiente indica que hemos asignado 4 GB (memoria usada) a este dominio.
# virsh dominfo myRHELVM1 | grep memory Max memory: 4194304 KiB Used memory: 4194304 KiB
2. Agregar VCPU a la máquina virtual
Para aumentar la CPU virtual que se asigna a la VM, edite virsh y cambie el parámetro vcpu como se explica a continuación.
En este ejemplo, aumentemos la memoria de la VM de myRHELVM1 de 2 GB a 4 GB.
Primero, apague la VM usando virsh shutdown como se muestra a continuación:
# virsh shutdown myRHELVM1 Domain myRHELVM1 is being shutdown
A continuación, edite la VM usando virsh edit:
# virsh edit myRHELVM1
Busque la línea de abajo y cambie el valor de vcpu a lo siguiente. En mi ejemplo, antes era 2.
<vcpu placement='static'>4</vcpu>
Cree el archivo XML de dominio usando virsh create
# virsh create /etc/libvirt/qemu/myRHELVM1.xml Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml
Vea las CPU virtuales asignadas a este dominio como se muestra a continuación. Esto indica que hemos aumentado la vCPU de 2 a 4.
# virsh dominfo myRHELVM1 | grep -i cpu CPU(s): 4 CPU time: 21.0s
3. Agregar disco a la máquina virtual
En este ejemplo, solo tenemos dos discos virtuales (vda1 y vda2) en esta VM.
# fdisk -l | grep vd Disk /dev/vda: 10.7 GB, 10737418240 bytes /dev/vda1 * 3 1018 512000 83 Linux /dev/vda2 1018 20806 9972736 8e Linux LVM
Hay dos pasos involucrados en la creación y conexión de un nuevo dispositivo de almacenamiento a la máquina virtual invitada Linux KVM:
- Primero, cree una imagen de disco virtual
- Adjunte la imagen del disco virtual a la máquina virtual
Vamos a crear un disco virtual más y adjuntarlo a nuestra máquina virtual. Para esto, primero necesitamos crear un archivo de imagen de disco usando el comando qemu-img create como se muestra a continuación.
En el siguiente ejemplo, estamos creando una imagen de disco virtual con un tamaño de 7 GB. Las imágenes de disco normalmente se encuentran en el directorio /var/lib/libvirt/images/.
# cd /var/lib/libvirt/images/ # qemu-img create -f raw myRHELVM1-disk2.img 7G Formatting 'myRHELVM1-disk2.img', fmt=raw size=7516192768
Para adjuntar la imagen de disco recién creada, use el comando virsh added-disk como se muestra a continuación:
# virsh attach-disk myRHELVM1 --source /var/lib/libvirt/images/myRHELVM1-disk2.img --target vdb --persistent Disk attached successfully
El comando virsh added-disk anterior tiene los siguientes parámetros:
- myRHELVM1 El nombre de la máquina virtual
- –source La ruta completa de la imagen de disco de origen. Este es el que creamos usando el comando qemu-image arriba. es decir:myRHELVM1-disk2.img
- –target Este es el punto de montaje del dispositivo. En este ejemplo, queremos adjuntar la imagen de disco dada como /dev/vdb. Tenga en cuenta que realmente no necesitamos especificar /dev. Es suficiente si solo especifica vdb.
- –persistent indica que el disco que se conectó a la VM será persistente.
Como puede ver a continuación, el nuevo /dev/vdb ya está disponible en la máquina virtual.
# fdisk -l | grep vd Disk /dev/vda: 10.7 GB, 10737418240 bytes /dev/vda1 * 3 1018 512000 83 Linux /dev/vda2 1018 20806 9972736 8e Linux LVM Disk /dev/vdb: 7516 MB, 7516192768 bytes
Ahora, puede particionar el dispositivo /dev/vdb y crear varias particiones /dev/vdb1, /dev/vdb2, etc., y montarlo en la máquina virtual. Use fdisk para crear las particiones como explicamos anteriormente.
De manera similar, para desconectar un disco de la VM invitada, puede usar el siguiente comando. Pero tenga cuidado de especificar el vd* correcto; de lo contrario, podría terminar eliminando el dispositivo incorrecto.
# virsh detach-disk myRHELVM1 vdb Disk detached successfully
4. Guardar la configuración de la máquina virtual
Si realiza muchos cambios en su VM, se recomienda que guarde las configuraciones.
Utilice el archivo virsh dumpxml para realizar una copia de seguridad y guardar la información de configuración de su VM como se muestra a continuación.
# virsh dumpxml myRHELVM1 > myrhelvm1.xml # ls myrhelvm1.xml myrhelvm1.xml
Una vez que tenga el archivo de configuración en formato XML, siempre puede volver a crear su máquina virtual invitada a partir de este archivo XML, usando el comando virsh create como se muestra a continuación:
virsh create myrhelvm1.xml
5. Eliminar máquina virtual KVM
Si ha creado varias máquinas virtuales con fines de prueba y desea eliminarlas, debe realizar los siguientes tres pasos:
- Apague la máquina virtual
- Destruir la máquina virtual (y anular su definición)
- Eliminar el archivo de imagen de disco
En este ejemplo, eliminemos myRHELVM2 VM. Primero, apague esta máquina virtual:
# virsh shutdown myRHELVM2 Domain myRHELVM2 is being shutdown
A continuación, destruya esta máquina virtual como se muestra a continuación:
# virsh destroy myRHELVM2 Domain myRHELVM2 destroyed
Además de destruirlo, también debe anular la definición de la VM como se muestra a continuación:
# virsh undefine myRHELVM2 Domain myRHELVM2 has been undefined
Finalmente, elimine cualquier archivo de imagen de disco que haya creado para esta máquina virtual del directorio /var/lib/libvirt/images:
Ahora puede eliminar el archivo de imagen de disco en /var/lib/libvirt/images
rm /var/lib/libvirt/images/myRHELVM2-disk1.img rm /var/lib/libvirt/images/myRHELVM2-disk2.img