Control de E / S en bloque basado en el peso para máquinas virtuales


13

Yo uso KVM para administrar mis máquinas virtuales. Estoy tratando de limitar los recursos proporcionados para las máquinas virtuales. Puedo limitar la CPU y la memoria asignada para las máquinas virtuales usando libvirt / cgroups. Ahora quiero controlar el tiempo de disco asignado para cada VM aplicando algunos pesos. Miré el control blkio de cgroups. Dado que VM es solo un proceso de Linux, podré usar cgroups pero no estoy seguro de si funcionará también para IO asíncrono. Si no, ¿alguien puede sugerir una buena solución alternativa?

Respuestas:


2

Blkio en terminología de cgroup significa acceso a E / S en dispositivos de bloque . No parece tratarse de regular todas las diferentes formas en que los desarrolladores de software tienen a mano para fines relacionados con E / S.

Parece estar dirigido principalmente a E / S en dispositivos , no en la forma en que el software tiene acceso a los dispositivos. Puede limitar la cantidad de iops, el ancho de banda o un peso con otros procesos, en otras cosas. Parece que blockio no está soportado por blockio en este momento. Está en la documentación oficial :

Actualmente, el subsistema Block I / O no funciona para operaciones de escritura en búfer. Está dirigido principalmente a E / S directa, aunque funciona para operaciones de lectura almacenadas en búfer.

Si echas un vistazo a esta presentación de Linda Wang y Bob Kozdemba de Red Hat, en la página 20+, verás que el gráfico es sobre el ancho de banda del dispositivo por VM, no sobre aleatorio vs bloqueo vs E / S asíncrono.

Parece que ha habido un trabajo reciente de Red Hat para implementarlo directamente en virsh. Se lanzó la semana pasada en libvirt 0.9.9. En unos meses, podrá hacer algo como esto en su distribución favorita:

virsh blkiotune domA --device-weights /dev/sda,250
virsh blkiotune domB --device-weights /dev/sda,750

0

Es posible que desee utilizar ionice, es agradable pero para IO.


1
¿Es ioniceuna mejor alternativa que usar blkiode cgroups? ¿Proporciona algo que no ofrece la solución actual del OP? ¿Sabes cómo se relaciona con la E / S asíncrona?
Caleb

Caleb, será genial si puedes dar una idea de lo que es una E / S asíncrona y cómo se diferencia de la E / S sincrónica con respecto a un sistema operativo.
Sethu

@Caleb: Ver arriba.
Faheem Mitha
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.