16.4.2. Estrangulamiento de E/S de disco en máquinas virtuales
Cuando varias máquinas virtuales se ejecutan simultáneamente, pueden interferir con el rendimiento del sistema mediante el uso excesivo de E/S de disco. El estrangulamiento de E/S de disco en la virtualización KVM proporciona la capacidad de establecer un límite en las solicitudes de E/S de disco enviadas desde las VMs a la máquina anfitriona. Esto puede evitar que una máquina virtual sobreutilice los recursos compartidos y afecte al rendimiento de otras máquinas virtuales.
Para activar el estrangulamiento de E/S de disco, establezca un límite en las solicitudes de E/S de disco enviadas desde cada dispositivo de bloque conectado a las máquinas virtuales a la máquina anfitriona.
Procedimiento
Utilice el comando
virsh domblklist
para listar los nombres de todos los dispositivos de disco en una VM especificada.# virsh domblklist rollin-coal Target Source ------------------------------------------------ vda /var/lib/libvirt/images/rollin-coal.qcow2 sda - sdb /home/horridly-demanding-processes.iso
Busque el dispositivo de bloque del host en el que está montado el disco virtual que desea estrangular.
Por ejemplo, si quiere acelerar el disco virtual
sdb
del paso anterior, la siguiente salida muestra que el disco está montado en la partición/dev/nvme0n1p3
.$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT zram0 252:0 0 4G 0 disk [SWAP] nvme0n1 259:0 0 238.5G 0 disk ├─nvme0n1p1 259:1 0 600M 0 part /boot/efi ├─nvme0n1p2 259:2 0 1G 0 part /boot └─nvme0n1p3 259:3 0 236.9G 0 part └─luks-a1123911-6f37-463c-b4eb-fxzy1ac12fea 253:0 0 236.9G 0 crypt /home
Establezca los límites de E/S para el dispositivo de bloque utilizando el comando
virsh blkiotune
.# virsh blkiotune VM-name --parameter device,limit
El siguiente ejemplo regula el disco
sdb
en la VMrollin-coal
a 1000 operaciones de E/S de lectura y escritura por segundo y a 50 MB por segundo de rendimiento de lectura y escritura.# virsh blkiotune rollin-coal --device-read-iops-sec /dev/nvme0n1p3,1000 --device-write-iops-sec /dev/nvme0n1p3,1000 --device-write-bytes-sec /dev/nvme0n1p3,52428800 --device-read-bytes-sec /dev/nvme0n1p3,52428800
Información adicional
- El estrangulamiento de E/S de disco puede ser útil en varias situaciones, por ejemplo, cuando se ejecutan máquinas virtuales pertenecientes a diferentes clientes en el mismo host, o cuando se dan garantías de calidad de servicio para diferentes máquinas virtuales. El estrangulamiento de E/S de disco también puede utilizarse para simular discos más lentos.
- El estrangulamiento de E/S puede aplicarse de forma independiente a cada dispositivo de bloque conectado a una máquina virtual y admite límites de rendimiento y operaciones de E/S.
-
Red Hat no soporta el uso del comando
virsh blkdeviotune
para configurar el estrangulamiento de E/S en las VMs. Para más información sobre las características no soportadas cuando se utiliza RHEL 8 como anfitrión de VM, consulte Sección 20.3, “Características no soportadas en la virtualización de RHEL 8”.