console linux

mdadm problème de RAID durant un grow et optimisation RAID

Problème lors d’un grow mdadm

Durant un grow, l’opération sur le RAID à du être arrêtée par une coupure de courant… Si vous n’êtes pas équipé d’un UPS.

Voici l’état du RAID après redémarrage de la machine :

Pour reprendre le RAID à son état d’augmentation (reshape), il faut utiliser cette commande :

Voilà vous êtes sauvé, mais pensez à 3 choses à l’avenir : l’utilisation d’un fichier de sauvegarde de l’état du grow mdadm et aussi un UPS! Mais surtout pensez à sauvegarder vos données essentielles ailleurs! Un RAID n’est en rien une garantie de protection des données!

Source : unix.stackexchange.com

Éviter la perte de données lors d’un grow mdadm

Le reshape lors d’un crash prend du temps et peu ne pas aboutir!

Tout d’abord il faut vérifier l’état de votre RAID mdadm avant de faire un grow! S’il y a un secteur défectueux cela va foirer à tous les coups…

Voici comment vérifier et lancer un check manuel du RAID :

Vous pouvez voir l’état d’avancement du check via mdstat :

Une fois que c’est vérifié, pour éviter des problèmes lors d’un grow mdadm, le mieux est d’utiliser l’option de fichier de backup :

Cette option permet de reprendre un grow raid plus surement en cas d’arrêt de la machine.

Source : raid.wiki.kernel.org

Réduire le temps de synchronisation d’un RAID mdadm

Pour réduire le temps de synchronisation d’un RAID5 ou RAID6 mdadm lors d’un resync ou d’un grow, vous pouvez aller vérifier et modifier certains paramètres :

Vitesse min et max de la synchronisation mdadm

C’est une valeur en Kio :

  • le minimum peut être 50000 pour 50Mo/s
  • Le maximum peut être mise à 500000 pour 500Mo/s si votre raid n’est pas utilisé actuellement

Vous gagnez un peu en performance avec ces options :

Façon old school :

En utilisant sysctl :

Vous n’avez qu’à ajouter ces paramètres via le fichier /etc/sysctl.conf pour fixer au redémarrage de la machine.

Augmenter la taille de bloc

Cet option se fait pour chaque périphérique RAID mdadm, donc pour chaque mdX. Il s’agit du paramètre “readahead” qui est défini en bloc de 512 octets :

Pour un bloc de 32Mio :

Augmenter le cache

Pour moi, c’est option qui donne le meilleur résultat : l’optimisation de la taille du cache des tripes mdadm. L’option n’est donc valable que pour les RAID5 et RAID6.

La formule pour la taille est de la forme suivante :

Un nombre intéressant est 16Mio, si vous ne voulez pas aller plus loin. Voici pour md0 :

Vous réduirez déjà par 2 le temps de synchronisation comme dans mon cas :

Source : cyberciti.biz

Avec tout ça, vous êtes sur la bonne voie!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">