web-dev-qa-db-fra.com

Passage de mdadm à un bitmap externe

Je viens de lire ceci dans n autre article sur l'amélioration des vitesses d'écriture RAID5/6 :

Après avoir augmenté le cache par bandes et basculé vers un bitmap externe, mes vitesses sont de 160 Mo/s en écriture et de 260 Mo/s en lecture. :-RÉ

J'ai déjà découvert comment augmenter le cache de bandes et cela fonctionnait plutôt bien, mais j'aimerais en savoir plus sur un bitmap externe. J'ai un SSD RAID0 incroyablement rapide (540 Mo/s) qui ferait bien si une image bitmap fait ce que je pense, mais je ne suis toujours pas sûr. Je ne les connais que depuis que je connais ce post .

Quelques questions:

  • Qu'est-ce qu'un bitmap (en termes de mdadm)?
  • Quels sont les avantages d'un bitmap interne (par rapport à externe)?
  • Quels sont les avantages d'un bitmap externe (par rapport à interne)?
  • Comment puis-je basculer entre les deux?

Je devrais ajouter que, même s’il s’agit d’un fil de discussion ennuyeux, j’apprécie les données stockées sur la matrice RAID. Si vous envisagez de placer des données à un risque significatif , veuillez me le faire savoir.

7
Oli

Qu'est-ce qu'un bitmap:

Un bitmap mdadm, également appelé "bitmap d'intention d'écriture", est un mécanisme permettant d'accélérer les reconstructions RAID après un arrêt impropre ou après le retrait et l'ajout d'un disque.

Avec un bitmap, écrire des données sur le RAID se passe comme ceci:

  • Mettre à jour le bitmap: marquez les morceaux RAID sur lesquels vous êtes sur le point d'écrire comme étant sales.
  • Écrivez les données sur le RAID.
  • Mettre à jour le bitmap: Marquez les fragments RAID qui viennent d'être écrits propres.

L'avantage d'un bitmap est que si le système tombe en panne au milieu d'une écriture, la reconstruction doit uniquement vérifier les blocs marqués comme étant sales, plutôt que l'ensemble du RAID multi-TB. Cela peut accélérer le processus de reconstruction de plusieurs heures à quelques secondes.

L'inconvénient est que les performances en écriture sont moindres dans des conditions normales d'utilisation (en dehors des reconstructions), car mdadm crée un accès disque supplémentaire pour mettre à jour le bitmap.

Externe vs interne:

  • external : stocké sous forme de fichier sur un disque en dehors du RAID. L'avantage par rapport à un bitmap interne est de meilleures performances en écriture lors d'une utilisation normale (reconstructions extérieures).
  • internal : stocké sous forme de métadonnées RAID. L'avantage par rapport à un bitmap externe est que vous n'avez pas besoin d'un disque non-RAID et vous enregistrez un peu sur la configuration (le chemin d'accès au bitmap).

Selon la page de manuel mdadm:

Note:  external bitmaps are only known to work on ext2 and ext3.
       Storing bitmap files on other filesystems may result in  serious
       problems.

Selon un article de Neil Brown , l'auteur de mdadm, les bitmaps externes devraient également fonctionner sur ext4:

I haven't looked inside ext4 but I am fairly confident that external bitmaps 
will work properly.

HOWTO:

Les bitmaps sont ajoutés et supprimés à l'aide de mdadm --grow --bitmap=XXX ..., où XXX est l'un des éléments suivants:

  • --bitmap=internal: Crée un bitmap interne.
  • --bitmap=/var/my_bitmap.bin: Crée un bitmap externe sur le chemin spécifié. Le chemin doit résider en dehors du RAID. Un paramètre bitmap=... doit être ajouté à l'entrée ARRAY dans /etc/mdadm/mdadm.conf, et le paramètre --bitmap=... doit être transmis si vous assemblez le RAID à partir de la ligne de commande.
  • --bitmap=none: Supprimer/désactiver les bitmaps.

Références:

Commentaires:

Pour l’OMI, les bitmaps sont peut-être surtout intéressants pour les niveaux RAID 5 et 6, car ils ont les reconstructions les plus lentes.

Je suis passé de RAID 5 à RAID 1 moi-même; les reconstructions sont tellement plus rapides que je ne ressens pas le besoin d'une image bitmap, et RAID 10 semble nécessiter beaucoup moins de reconstructions en premier lieu.

Ma configuration RAID 5 utilisait généralement un disque une fois par mois, ce qui entraînait des reconstructions de 12 à 14 heures. Le RAID 10 n’a lâché un disque qu’une fois par an, reconstruit en moins d’une heure.

Je ne sais pas si les fréquents délestages de disque que j'ai connus étaient imputables à un facteur autre que le niveau RAID, mais le RAID 10 a été beaucoup plus stable et la vitesse de reconstruction ne pose plus vraiment problème.

8
j-g-faustus

J'utilise md RAID 5 depuis un certain temps et je n'ai pas eu de pertes de disque. J'étais intéressé de voir ce que m'apporterait l'ajout d'un stockage bitmap externe.

Ma configuration actuelle inclut un disque de démarrage, puis 4 disques de 3 To en tant que RAID 5. La nuit dernière, j'ai ajouté un autre disque de 3 To et, après 20 heures de jeu, 70% du temps total a été modifié. Depuis la lecture de cet article, j’ai décidé qu’après sa transformation, j’ajouterais définitivement le bitmap externe au disque de démarrage (1 To).

J'ai md RAID 5 couche de base, LVM2 dessus et certaines cibles ISCS vers certaines des partitions LVM2 avec diverses machines virtuelles en cours de test sur ISCSI.

J'ai fait un tas d'images de référence, posté ici si cela vous intéresse.

1
Andrew