Configurations RAID des serveurs pour la protection des données

Configurations RAID des serveurs pour la protection des données avec InMotion Hosting

Le RAID (Redundant Array of Independent Disks) est un des trucs les plus mal compris dans le stockage serveur. On le voit souvent dans les spécifications d'hébergement sans qu'il y ait d'explication, et la méprise la plus courante, qui est de penser que le RAID remplace la sauvegarde, peut causer des pertes de données quand la configuration n'offre aucune protection.

Les serveurs InMotion Hosting utilisent le logiciel RAID 1 (mise en miroir) mdadm sur deux NVMe comme configuration par défaut. Cet article explique ce que ça veut dire, ce que ça protège, ce que ça ne protège pas, et quand différentes configurations RAID sont utiles pour différentes charges de travail.

Les bases du RAID

Ce que le RAID fait et ne fait pas

Le RAID répartit les données sur plusieurs disques physiques pour atteindre un ou deux objectifs : améliorer les performances grâce au parallélisme et assurer la tolérance aux pannes grâce à la redondance. Le niveau de RAID détermine l'objectif prioritaire.

Ce que le RAID ne fait pas : protéger contre les suppressions accidentelles, les logiciels corrompus, les ransomwares ou les pannes matérielles qui touchent plusieurs disques en même temps (comme un incendie, une inondation ou une surtension qui abîme les deux disques). Pour ces types de pannes, il faut une sauvegarde, pas un RAID.

Niveaux RAID sur deux NVMe

RAID 0 : Striping

Le RAID 0 répartit les données sur les deux disques en blocs alternés. Une écriture de 100 Mo devient 50 Mo sur le disque 1 et 50 Mo sur le disque 2 en même temps, ce qui prend à peu près la moitié du temps qu'une écriture sur un seul disque.

  • Capacité utile : capacité totale combinée (7,68 To sur deux disques de 3,84 To).
  • Performances en lecture : débit de lecture séquentielle jusqu'à deux fois supérieur.
  • Performances en écriture : débit d'écriture séquentielle jusqu'à deux fois supérieur.
  • Redondance : Aucune . Si un disque tombe en panne, toutes les données sur la matrice sont perdues.

RAID 0 est parfait pour le stockage temporaire, les caches de rendu et les données temporaires pas super importantes où le débit max est important et où les données peuvent être recréées. Ce n'est pas le bon choix pour les bases de données de production, les données d'application ou toute donnée qui ne peut pas être reconstituée à partir d'une source externe.

RAID 1 : Mise en miroir (InMotion Hosting )

RAID 1 écrit les mêmes données sur les deux disques en même temps. Les deux disques ont une copie complète de toutes les données. Si un disque plante, la matrice continue de marcher à partir du disque qui marche encore, sans perdre de données.

  • Capacité utile : 50 % de la capacité totale (3,84 To avec deux disques de 3,84 To).
  • Performances en lecture : peut lire sur n'importe quel disque ; un RAID logiciel peut répartir les opérations de lecture pour un gain de performances modeste.
  • Performances en écriture : l'écriture doit s'effectuer sur les deux disques ; le débit en écriture est limité à la vitesse d'écriture du disque le plus lent.
  • Redondance : ça tient le coup si un disque dur plante complètement, sans perdre de données.

RAID 1, c'est la configuration par défaut InMotion Hostingpour les serveurs dédiés avec deux NVMe . Pour les bases de données de production, les données d'applications et tout travail où la perte de données n'est pas envisageable, RAID 1 offre la protection de base qu'il faut. La perte de 50 % de capacité, c'est le prix à payer pour la redondance.

RAID 10 : miroirs entrelacés

Le RAID 10 a besoin d'au moins quatre disques : les disques sont mis par paires dans des miroirs RAID 1, puis ces miroirs sont regroupés en bandes dans un RAID 0. Ça combine les performances du striping avec la redondance du mirroring.

  • Capacité utile : 50 % de la capacité totale de tous les disques.
  • Performances en lecture : débit de lecture séquentielle doublé (répartition sur des paires de miroirs).
  • Performances en écriture : équivaut à la vitesse d'écriture d'un disque unique (l'écriture doit s'effectuer sur des paires de disques en miroir).
  • Redondance : résiste à la défaillance d'un disque par paire de miroirs ; peut résister à plusieurs défaillances si celles-ci surviennent sur des paires différentes.

Le RAID 10 sur InMotion Hosting a besoin de quatre NVMe , ce qui n'est pas la configuration standard à deux disques. Pour les charges de travail qui ont besoin d'un débit et d'une redondance max, une architecture multi-serveurs avec réplication au niveau de l'application (base de données principale/réplique) donne souvent de meilleurs résultats qu'un seul serveur avec quatre disques.

RAID logiciel vs RAID matériel

Comment marche le RAID mdadm d'InMotion

InMotion Hosting mdadm (Multiple Device Administration), l'implémentation RAID logicielle du noyau Linux. C'est une différence importante par rapport aux contrôleurs RAID matériels, qui utilisent un processeur dédié sur une carte contrôleur RAID pour gérer les opérations de la matrice.

Les opérations RAID logicielles (calcul de parité pour RAID 5/6, écriture en miroir pour RAID 1) tournent sur le processeur principal du serveur. Sur les processeurs multicœurs modernes, cette charge est minime pour RAID 1 : une écriture en miroir RAID 1 ne nécessite aucun calcul de parité, juste l'écriture simultanée sur deux périphériques. La charge CPU pour mdadm RAID 1 sur une NVMe est généralement inférieure à 1 % sur un processeur AMD EPYC à 16 cœurs.

Avantages du RAID logiciel

  • Pas de mode de défaillance du contrôleur : les contrôleurs RAID matériels peuvent tomber en panne. Quand un contrôleur RAID propriétaire tombe en panne, la matrice est souvent illisible sans un contrôleur de remplacement identique. Les matrices mdadm peuvent être lues sur n'importe quel système Linux avec la même version de mdadm.
  • Pas besoin de cache d'écriture avec batterie : les contrôleurs RAID matériels utilisent un cache d'écriture avec batterie pour retarder en toute sécurité les écritures sur le disque. Ce cache peut être un point de défaillance. Le RAID 1 mdadm écrit directement sur NVMe, qui a une protection intégrée contre les coupures de courant (PLP) sur NVMe de niveau entreprise.
  • Portabilité : une matrice RAID 1 mdadm peut être déplacée vers un autre serveur et réassemblée. Les métadonnées du disque permettent un réassemblage automatique.

Les avantages du RAID matériel (et pourquoi ils sont moins importants avec NVMe)

Les contrôleurs RAID matériels offraient avant deux avantages par rapport aux contrôleurs RAID logiciels : un cache d'écriture alimenté par batterie pour accélérer l'écriture en toute sécurité, et un traitement dédié pour éviter la surcharge du processeur sur les niveaux RAID complexes (RAID 5, RAID 6).

NVMe avec protection contre les coupures de courant ( NVMe d'entreprise, que InMotion utilise) ont des condensateurs intégrés qui transfèrent les tampons d'écriture vers un stockage non volatile en cas de coupure de courant. Ça élimine le principal souci de sécurité que le cache RAID alimenté par batterie devait gérer. Et l'argument de la charge CPU était pertinent quand les serveurs utilisaient des processeurs monocœur ou double cœur pour gérer de gros calculs de parité. Sur un EPYC à 16 cœurs faisant du RAID 1, la surcharge est négligeable.

Caractéristiques de performance NVMe

ConfigurationLecture séquentielleÉcriture séquentielleIOPS en lecture aléatoireTolérance aux pannes
NVMe simple de 3,84 ToEnviron 5 500 Mo/s~4 000 Mo/s~500,000Aucun
RAID 0 (2x 3,84 To NVMe)Environ 7 000 Mo/sEnviron 6 000 Mo/s~800,000Aucun
RAID 1 (2x 3,84 To NVMe)Environ 5 500 Mo/s~4 000 Mo/s~500,000Panne d'un seul disque dur

Les performances de lecture séquentielle RAID 1 peuvent être un peu meilleures qu'avec un seul disque si le pilote RAID logiciel répartit les lectures consécutives sur les deux disques. En gros, les performances de lecture mdadm RAID 1 sont à peu près équivalentes à celles d'un disque unique pour les charges de travail séquentielles et un peu meilleures pour les lectures aléatoires en accès simultané.

Les performances d'écriture du RAID 1 sont les mêmes que celles d'un disque simple, car les deux disques doivent recevoir l'écriture avant qu'elle soit considérée comme terminée. Sur NVMe avec une vitesse d'écriture séquentielle de 4 Go/s, le débit d'écriture du RAID 1 est d'environ 4 Go/s. C'est assez rapide pour pratiquement toutes les charges de travail sur un serveur unique.

Panne du disque dur et comment le réparer

Que se passe-t-il quand un disque dur plante ?

Quand un disque dur dans une matrice RAID 1 mdadm plante, la matrice continue de tourner en mode dégradé à partir du disque dur qui marche encore. Les performances peuvent baisser un peu pendant le fonctionnement dégradé, car toutes les lectures viennent maintenant d'un seul disque dur, mais le serveur reste en ligne et les données restent intactes.

Le système de surveillance InMotion Hostingrepère les pannes de disque et lance le remplacement du matériel. Une fois le disque de remplacement installé, mdadm reconstruit la matrice en copiant toutes les données du disque qui marche encore vers le nouveau disque.

Temps de reconstruction sur NVMe

Les temps NVMe sont bien plus rapides que SSD SATA SSD des disques rotatifs :

  • Reconstruction d'un RAID 1 à disques rotatifs : 12 à 24 heures pour un disque de 3 à 4 To à une vitesse de reconstruction typique de 50 à 100 Mo/s.
  • Reconstruction SSD 1 SSD SATA : 2 à 4 heures pour un disque de 1,92 To à 150-200 Mo/s.
  • ReconstructionNVMe 1NVMe : moins d'une heure pour un disque de 3,84 To à une vitesse de reconstruction constante de 1 à 2 Go/s.

La vitesse de reconstruction est importante parce que pendant la reconstruction, le disque qui fonctionne gère à la fois les E/S de production et les E/S de reconstruction en même temps. Plus la fenêtre de reconstruction est courte, moins la matrice passe de temps dans un état dégradé où une deuxième panne de disque entraînerait une perte de données.

Le RAID, c'est pas une sauvegarde : la différence qui compte vraiment

Cette distinction mérite d'être soulignée, car la confusion est courante et les conséquences sont graves.

RAID 1 protège contre la panne d'un seul disque physique. Il ne protège pas contre :

  • Suppression accidentelle de fichiers (les deux disques suppriment le fichier en même temps)
  • Corruption de la base de données à cause d'un bug logiciel (les deux disques stockent les données corrompues)
  • Ransomware (les deux disques sont cryptés en même temps)
  • Plusieurs pannes simultanées de disques durs à cause d'une surtension ou d'un incendie
  • Vol de serveur ou problème dans le centre de données

Pour se protéger contre ces problèmes, il faut sauvegarder ses données dans un endroit physique différent. InMotion Premier Care offre 500 Go de stockage de sauvegarde automatique hors serveur. C'est la couche de sauvegarde qui complète la protection contre les pannes de disque RAID.

Une stratégie de protection des données bien pensée utilise les deux : RAID 1 pour une tolérance aux pannes continue sans interruption de service, et des sauvegardes hors serveur pour tout ce que RAID ne peut pas protéger. Aucun des deux ne remplace l'autre.

Choisir la bonne configuration pour ta charge de travail

Charge de travailRAID recommandéRaison
Base de données de productionRAID 1 (par défaut)Intégrité des données ; une panne de disque dur ne doit pas entraîner de perte de données.
Cache de rendu / scratchRAID 0 ou pas de RAIDLes données peuvent être recréées ; ce qui compte, c'est surtout la performance et la capacité.
Application + base de données sur le même serveurRAID 1 (par défaut)L'appli et la base de données ont toutes les deux besoin d'être protégées.
Environnement de développementRAID pas acceptéLa perte de données, c'est juste embêtant, pas grave ; utilisez le contrôle de version.
Serveur de fichiers / archivesRAID 1 + sauvegarde hors siteIl faut à la fois une bonne tolérance aux pannes et une protection contre les catastrophes.
Partager cet article

Laisser une réponse

Ton adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués *