GNU/Linux >> Tutoriels Linux >  >> Linux

RAID1 augmente-t-il les performances avec Linux mdadm ?

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é.


Linux
  1. Comment surveiller les performances du système Linux avec Sysstat

  2. Commande JQ sous Linux avec exemples

  3. Comment augmenter la rétention des données "sar" à "N" jours sous Linux

  4. dd performances sur Mac OS X vs Linux

  5. Comment Linux gère-t-il les scripts shell ?

Commande Linux wc avec exemples

Comment surveiller les performances des systèmes Linux avec la commande iostat

Commande Linux ip avec exemples

15 Commande Linux ps avec exemples

Analyser les performances du serveur Linux avec atop

Dépanner et surveiller les performances du système Linux avec nmon