Sim, a implementação Linux do RAID1 acelera as operações de leitura de disco duas vezes enquanto duas operações de leitura de disco separadas são executadas por vez . Isso significa que ler um arquivo de 10 GB não será mais rápido no RAID1 do que no disco único, mas ler dois arquivos distintos de 10 GB * será mais rápido.
Para demonstrá-lo, basta ler alguns dados com dd
. Antes de executar qualquer coisa, limpe o cache de leitura de disco com sync && echo 3 > /proc/sys/vm/drop_caches
. Caso contrário, hdparm
solicitará leituras super rápidas.
Arquivo único:
# COUNT=1000; dd if=/dev/md127 of=/dev/null bs=10M count=$COUNT &
(...)
10485760000 bytes (10 GB) copied, 65,9659 s, 159 MB/s
Dois arquivos:
# COUNT=1000; dd if=/dev/md127 of=/dev/null bs=10M count=$COUNT &; dd if=/dev/md127 of=/dev/null bs=10M count=$COUNT skip=$COUNT &
(...)
10485760000 bytes (10 GB) copied, 64,9794 s, 161 MB/s
10485760000 bytes (10 GB) copied, 68,6484 s, 153 MB/s
A leitura de 10 GB de dados levou 65 segundos, enquanto a leitura de 10 GB + 10 GB = 20 GB levou 68,7 segundos no total, o que significa que várias leituras de disco se beneficiam muito do RAID1 no Linux. skip=$COUNT
part é muito importante. O segundo processo lê 10 GB de dados do deslocamento de 10 GB.
A resposta de Jared e os comentários de ssh referentes ao link estão errados. O benchmark de lá prova que as leituras de disco não se beneficiam do RAID1. No entanto, o teste foi realizado com a ferramenta de benchmarking bonnie ++, que não realiza duas leituras separadas ao mesmo tempo. O autor declara explicitamente que o bonnie ++ não é utilizável para a comparação de matrizes RAID ( consulte o readme ).