Oui, L'implémentation Linux de RAID1 accélère les opérations de lecture de disque par un facteur de deux tant que deux opérations de lecture de disque distinctes sont effectuées en même temps . Cela signifie que la lecture d'un fichier de 10 Go ne sera pas plus rapide sur RAID1 que sur un seul disque, mais la lecture de deux fichiers distincts de 10 Go* sera plus rapide.
Pour le démontrer, il suffit de lire quelques données avec dd
. Avant d'effectuer quoi que ce soit, effacez le cache de lecture du disque avec sync && echo 3 > /proc/sys/vm/drop_caches
. Sinon hdparm
réclamera des lectures super rapides.
Fichier unique :
# COUNT=1000; dd if=/dev/md127 of=/dev/null bs=10M count=$COUNT &
(...)
10485760000 bytes (10 GB) copied, 65,9659 s, 159 MB/s
Deux fichiers :
# 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
La lecture de 10 Go de données a pris 65 secondes alors que la lecture de 10 Go + 10 Go =20 Go de données a pris 68,7 secondes au total, ce qui signifie que les lectures de plusieurs disques bénéficient grandement de RAID1 sur Linux. skip=$COUNT
partie est très importante. Le deuxième processus lit 10 Go de données à partir du décalage de 10 Go.
La réponse de Jared et les commentaires de ssh faisant référence à http://www.unicom.com/node/459 sont faux. La référence à partir de là prouve que les lectures de disque ne bénéficient pas de RAID1. Cependant, le test a été effectué avec l'outil d'analyse comparative bonnie++ qui n'effectue pas deux lectures distinctes à la fois. L'auteur déclare explicitement que bonnie++ n'est pas utilisable pour l'analyse comparative des matrices RAID (reportez-vous au fichier readme).
Oui, vous obtiendrez une amélioration des performances de lecture + la redondance. Vous pouvez facilement imaginer que vous pouvez lire les parties des fichiers en même temps à partir de deux disques durs différents, car les fichiers se trouvent sur les deux disques durs.
Donc théoriquement, si le contrôleur RAID fait bien son travail, vous pourriez gagner une accélération de O(n).
-
man 4 md
indique :"… Notez que l'équilibrage de lecture effectué par le pilote ne fait pas en sorte que le profil de performance RAID1 soit le même que pour RAID0; un seul flux d'entrée ne sera pas accéléré (par exemple, un seul jj), mais plusieurs flux séquentiels ou une charge de travail aléatoire utiliseront plus d'une broche. En théorie , avoir un N-disk RAID1 permettra à N threads séquentiels de lire à partir de tous les disques. …" -
Pour couronner le tout — en pratique , basé sur
iostat
la sortie étant observée sur une configuration RAID logicielle typique de 2 disques durs, il n'y a aucun équilibrage . En fait, il ressemble effectivement àmdadm
l'option--write-mostly
est toujours activé.