¿Puede Linux RAID 1 tener en cuenta la alta latencia?

¿Puede Linux RAID 1 tener en cuenta la alta latencia?

Escenario: estamos ejecutando una instalación de Solr grande (3 TB en total en el clúster) en EC2. Sólo me preocupa el rendimiento del disco en el lado de lectura. Sospechamos que estamos limitados por la E/S del disco y específicamente tenemos problemas cuando un volumen de EBS decide volverse inestable y lento.

Estoy considerando probar RAID 1. Por lo que tengo entendido, el software RAID de Linux dividirá las lecturas entre discos, pero no estoy seguro de qué tan inteligente sea. Si se realiza una copia de seguridad de las lecturas de uno de los discos de un par RAID 1, ¿enviará más lecturas al otro disco? Si una lectura ha estado pendiente por mucho tiempo, ¿reprogramará esa lectura en el otro disco?

No se me ocurre ninguna forma de probar este comportamiento. Estaría feliz de revisar el código, pero ni siquiera estoy seguro de si esto sería manejado por el programador de E/S o si es parte de los controladores raid. No puedo encontrar ninguna documentación que profundice más que el software RAID HowTo.

Respuesta1

El equilibrio de lectura se maneja en los controladores md del kernel; controladores/md/raid1.c

No es muy inteligente. Intenta minimizar las búsquedas y eso es todo. No estoy seguro de si alguna de las implementaciones de RAID es tan inteligente como desea...

¿Tiene suficiente memoria en sus sistemas? Si tiene mucha lectura, el almacenamiento en caché debería ayudar un poco.

información relacionada