5 votes

Problèmes de TRIM avec le logiciel RAID1 (mdadm) sur deux SSD différents (taille et fabricant)

Je prévois de faire un serveur avec 2 SSD en RAID1 (pour le système d'exploitation et le démarrage) et 3 disques durs en RAID5 (pour les données). Tout en Linux (CentOS7) avec mdadm.

Nous avons dans le bureau 2 SSD non utilisés, mais ils sont de fabricants différents et ont des capacités différentes (120G et 250G).

J'ai lu récemment à propos du RAID1 sur les SSD et mes préoccupations sont les suivantes :

  1. Lorsque je crée le RAID, mdadm va insister sur sa synchronisation.

    1. Les deux SSD ont été utilisés auparavant. Que va exactement synchroniser mdadm lorsque les cellules des deux SSD contiennent déjà des données différentes ?
    2. Pourquoi cette synchronisation est-elle nécessaire ?
    3. Cela raccourcit-il la durée de vie du SSD (écriture sur toutes les cellules) ?
  2. La commande fstrim sera lancée par une tâche cron hebdomadaire sur /, qui sera le point de montage de /dev/md0, qui sera le RAID1. Les versions récentes de mdadm transmettront le trim aux disques durs individuels eux-mêmes. Cependant, j'ai lu que des SSD différents peuvent avoir des stratégies différentes en matière de trim. Par exemple, un SSD peut remplir immédiatement les cellules avec des zéros, tandis que l'autre peut ne pas le faire. Cela signifierait que les deux disques sont désormais désynchronisés. Maintenant, mdadm a une tâche cron qui, par défaut, s'exécute périodiquement et vérifie la cohérence des arrays RAID1. Ce contrôle signalera-t-il un échec en raison de comportements de trim différents ?

1voto

Thomas Points 4117

Vous pouvez désactiver la synchronisation initiale avec l'option --assume-clean, mais il est vivement recommandé de ne pas l'utiliser dans des circonstances normales.
Ce que cela fait, c'est lire chaque bloc alloué pour le tableau mdadm, remplir les blocs de zéros et de métadonnées. Cela garantit également que tous les blocs sont une fois sollicités et garantie que tous les blocs sont intacts. Donc vous devriez vraiment exécuter la synchronisation initiale.
Chaque bloc est sollicité une fois, ce qui réduira la durée de vie de votre SSD. Mais si vous vous inquiétez du fait qu'un seul écrit de chaque bloc puisse atteindre la fin de la durée de vie du SSD, il est temps d'en obtenir un nouveau.

En ce qui concerne le fstrim et les stratégies lors de l'effacement, je suppose que vous confusez fstrim avec le wear-leveling spécifique au fabricant.

  • fstrim est une opération du système de fichiers/du système d'exploitation, indiquant au périphérique de blocs spécifiques qu'ils peuvent être libérés. Normalement, lorsque vous supprimez un fichier, seul l'inode et l'entrée du répertoire sont déréférencés. fstrim libère également tous les blocs qui ont été alloués par ce fichier.
  • Le wear-leveling est la méthode de l'interne SSD sur la manière dont il gère les blocs libérés indiqués par fstrim. Certains fabricants n'écrivent pas immédiatement des zéros sur les blocs mais collectent plus d'opérations et les distribuent peut-être au fil du temps pour maintenir l'impact sur les performances faible. Ce processus n'est pas non plus visible pour le système d'exploitation et ne devrait pas entraîner d'erreurs à moins que votre disque ait un problème ou un bug.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X