Les systèmes RAID – Introduction

22 août 2016

Il y a quelques temps et dans le cadre de mes études en Informatique et systèmes finalité réseaux & télécommunications, j’ai réalisé une présentation sur la technologie RAID, ses avantages et inconvénients ainsi que les différentes technologies existantes.

Je vais donc vous proposer une petite série d’article sur les RAID, basée sur mon travail de l’époque remis à jour.

Dans un premier temps, nous évoquerons ce qu’est un RAID et quelques notions sur ceux-ci pour ensuite voir plus en détails dans de prochains articles les différents niveau de RAID ainsi que leurs mises en place, sous Debian.

Qu’est-ce qu’un RAID ?

En informatique, le mot RAID désigne les techniques permettant de
répartir des données sur plusieurs disques durs classiques afin d’améliorer, soit la tolérance aux pannes, soit la sécurité, soit les performances de l’ensemble, ou une répartition de tout cela.

L’acronyme RAID a été défini en 1987 par l’Université de Berkeley, dans un article nommé « A Case for Redundant Arrays of Inexpensive Disks (RAID) », soit « regroupement redondant de disques peu onéreux ». Aujourd’hui, le mot est devenu l’acronyme de « Redundant Array of Independent (or inexpensive) Disks », ce qui signifie « regroupement redondant de disques indépendants ».

Le coût au mégaoctet des disques durs ayant diminué d’un facteur 1 300 000 en 29 ans, aujourd’hui le RAID est choisi pour d’autres raisons que le coût de l’espace de stockage.

La technique RAID permet d’avoir une grande fiabilité, les données étant découpées en différents segment et chacun de ces segments sont dupliqués dans des disques physiquement différents.

/!\ Un RAID n’est pas un système de sauvegarde et ne peut vous protéger a 100% contre les pertes de données ! /!\

Le RAID offre des performances supérieures à l’utilisation d’un seul disque car les segments étant répartis sur plusieurs disques, l’ordinateur peut lire plusieurs disques durs simultanément et donc plusieurs segments de données. Certain type de RAID ne nécessitent pas la duplication complète des données pour assurer la fiabilité mais utilisent le principe de contrôle de parité, comme le RAID 5, dont nous parlerons plus en détails plus loin.

Un RAID regroupe les disques durs physiques en une seule unité logique gérée soit par le système d’exploitation, soit par le chipset de votre carte mère, soit via une solution de RAID Matériel nécessitant l’ajout d’une carte contrôleur dans l’ordinateur.

Les trois concepts fondamentaux du RAID :

Selon la configuration système choisie, les différents niveaux de RAID emploient un ou plusieurs de ces concepts.

Le RAID est habituellement utilisé sur les serveurs, là où la sécurité des données et/ou la performance d’accès est primordial. Toutefois cette technologie peut être installée sur n’importe quel poste de travail, dans des cas où le traitement de données est particulièrement lourd, comme pour des montages vidéo et audio, ou tout simplement pour une question de performance (vitesse de chargement des jeux, etc.).

Les contrôleurs RAID « matériels »

Introduction

Le RAID est très utilisé dans le monde professionnel. En effet, beaucoup d’Entreprises ne peuvent se permettre de perdre des données ou bien de voire le réseau paralysé à cause d’une panne sur un disque dur. C’est pourquoi de nombreux serveurs qui reçoivent beaucoup de requêtes (serveur Web, serveur de messagerie, serveur hébergeant une base de données, …) ou qui manipulent de gros volumes de données (serveur de fichiers) utilisent le RAID.

Dans le cas du RAID matériel, une carte ou un composant est dédié à la gestion des opérations. Le contrôleur RAID peut être interne à l’unité centrale (carte d’extension) ou déporté dans une baie de stockage.

LSI MegaRAID 9271-8i

Une carte RAID LSI MegaRAID 9271-8i

Avantage et inconvénient des contrôleurs RAID

Un contrôleur raid est en général doté d’un processeur spécifique, de mémoire, éventuellement d’une batterie de secours, et est capable de gérer tous les aspects du système de stockage RAID grâce au microcode embarqué (firmware).

Du point de vue du système d’exploitation, le contrôleur RAID matériel offre une virtualisation complète du système de stockage. Le système d’exploitation considère chaque volume RAID comme un disque et n’a pas connaissance de ses constituants physiques.

Avantage

Inconvénient

Depuis l’existe de la norme SATA, les cartes RAID fleurissent sur le marché. En effet, cette nouvelle interface est bien plus propice à la mise en place du RAID que l’ancienne interface P-ATA (IDE). D’une part grâce aux débits plus élevés (jusqu’à 6Gbps en SATA 3) et d’autre part grâce à la gestion du branchement/débranchement à chaud ou hotplug.

Les contrôleurs RAID « pseudo-matériel »

L’extrême majorité des contrôleurs RAID bon marché intégrés à de nombreuses cartes mères depuis 2004 gèrent souvent le RAID 0, 1 et 5 et leurs combinaisons respectives. Malgré le discours marketing qui tend systématiquement à induire en erreur sur ce point, il ne s’agit pas de RAID matériel à proprement parler mais plutôt d’un contrôleur de disque doté de quelques fonctions avancées.

D’un point de vue strictement matériel, cette solution hybride n’est pas différente d’un RAID logiciel. Elle diffère cependant sur l’emplacement des routines logicielles de gestion du RAID.

Avantages

Inconvénients

Les RAID « logiciel »

Dans le cas d’un RAID logiciel, toute la logique et la gestion du RAID est entièrement assurée par une couche applicative au sein de votre système d’exploitation. Cette applicatif (sous Debian, par exemple, il s’agit de « mdadm ») va venir s’intercaler entre les pilotes matériel et le système de fichiers en « émulant » un périphérique de stockage.

L’ensemble des opérations étant assurées par un applicatif, cela consomme des ressources système et du temps CPU. Suivant le niveau de RAID que vous utilisez et la puissance de la machine, les performances obtenue peuvent être variable allant du simple au double en terme d’écriture sur un RAID 5 par exemple.

Avantages

Inconvénients

Choix du contrôleur

De nombreuses cartes mères proposent un contrôleur RAID intégré (Intel, Marvel, etc.). Il est toujours préférable de choisir un contrôleur dédié ou bien encore d’utiliser un RAID logiciel. En effet, les contrôleur RAID dédié sont bien souvent plus performant et bien plus fiable tandis qu’un RAID logiciel apporte plus de flexibilité et une maintenabilité facilitée.

Quelques notions supplémentaires

Le hotspare

Certaine cartes RAID et/ou périphériques NAS permettent de brancher un ou plusieurs disques de rechange (spare disks). Ces disques ne sont pas utilisés sauf en cas de panne de l’un des disques. Voici un petit exemple :

Ici, nous avons mis en place un RAID 1 avec deux disques et on a aussi rajouté un disque de spare (bien entendu il faut un équipement qui supporte le hotspare).Exemple de RAID 1 avec un spare

Si l’un des disques de l’ensemble RAID un vient à tomber en panne, il sera immédiatement remplacé par le disque de spare. Ce disque est alors reconstruit à partir des données présentes sur les autres disques, ce qui peut durer plusieurs heures en fonction de la quantité de données. Une fois le disque reconstruit, le système revient à un niveau optimal de sécurité et de performances.

Une fois le disque de rechange mis en service, il faut procéder à l’échange physique du disque en panne par un nouveau disque qui pourra jouer le rôle de nouveau disque de rechange.

Cela permet d’augmenter la tolérance de panne de l’ensemble RAID car si on utilise un disque de spare, on peut se permettre de perdre un disque supplémentaire sans perte de données. Cela est bien entendu coûteux en termes d’équipement sur des petits ensembles RAID. Par contre sur de gros ensembles (5 disques et plus) cela peut devenir très intéressant.

Par exemple, si l’on a une carte RAID adaptée on peut créer un RAID 50 avec 16 disques durs (4 ensembles RAID 5 de quatre disques durs chacun montés en RAID 0) et rajouter un 17è disque de secours. Si l’un des disques de l’un des ensembles RAID 5 tombe en panne alors le disque de rechange prend instantanément le relais ce qui permet de conserver la tolérance de panne.

L’administrateur peut ensuite changer tranquillement le disque défectueux sachant que le système reste sécurisé.

Attention :

Il ne faut pas confondre le hotspare avec le hotplug. 

Le hotplug (encore appelé hotswap) est une technologie qui permet de brancher à chaud diverses équipement.

Par exemple, l’USB supporte le hotplug (on peut brancher/débrancher des périphériques USB même lorsque le système est en fonctionnement). Au niveau des périphériques de stockages, seuls deux interfaces supportent le branchement à chaud : les connectiques SCSI et le SATA.

Pour conclure, le hotspare permet d’augmenter la sécurité d’un ensemble RAID. Il est généralement supporté par les cartes RAID « haut de gamme », par les NAS mais aussi certaine carte mère récente et haut de gamme.

Enfichage à chaud (hotplug/hotwap)

On parle abusivement de disques pouvant être enfichés à chaud (hotplug/hotswap), alors qu’en réalité, c’est la baie de disques du système ainsi que le contrôleur qui doivent être conçus de manière à permettre le retrait ou l’insertion de disques durs alors que le système est sous tension.

Cette fonctionnalité n’est pas disponible avec toutes les technologies :

Cette fonctionnalité est gérée par l’ensemble des disques SATA et SCSI (sous réserve que le contrôleur le gère également), bien que le bus puisse être perturbé au moment de l’échange (baisse de débit sur l’ensemble de celui-ci, etc.).

Cela permet d’ajouter des disques de manière dynamique, de sorte qu’il soit possible de faire évoluer le système de stockage de données, de remplacer un matériel défectueux sans qu’il soit nécessaire d’interrompre le fonctionnement du système informatique.

L’utilisation de systèmes de connexion à chaud permet donc d’éviter l’indisponibilité durant une opération de maintenance.

Cache

Le cache est une mémoire RAM qui permet de stocker des informations à lire ou à écrire sur l’ensemble RAID. Ce tampon a des performances très supérieures à celles des disques, il permet au système de lire ou d’écrire une rafale d’informations puis de passer à une autre tâche pendant que le contrôleur RAID se charge de « dépiler » les opérations à effectuer. Le cache a donc une influence positive très importante sur les performances globales du système.

Le cache de lecture ou « antémémoire de lecture » est une mémoire où sont pré-chargées les données dont le système va avoir besoin. Son fonctionnement est complexe dans la mesure où le contrôleur n’a aucune certitude sur les lectures qui vont lui être demandées, il n’apporte un gain de performance que dans le cas où la prédiction se révèle exacte. Les lectures de données entrent le plus souvent dans deux catégories : des lectures séquentielles de données et des accès répétés à de mêmes données. La majorité des caches de lecture reposent donc d’une part sur la conservation en RAM (sur le contrôleur) des données récemment écrites ou lues et d’autre part sur une lecture des données suivantes dans le cas où l’on vient d’effectuer une lecture séquentielle importante. La taille du cache de lecture et la pertinence du système de prédicat a un très grand impact sur les performances en lecture.

Le cache d’écriture est un tampon dans lesquelles sont placées les données à écrire sur les disques avant d’être transférées sur ceux-ci. Lorsqu’il n’est pas saturé, c’est-à-dire lorsque la quantité de données à écrire ne dépasse pas la taille du cache, le système peut envoyer les données à écrire très rapidement et effectuer d’autres tâches pendant que le contrôleur se charge d’écrire physiquement sur les disques. Le cache d’écriture accroît donc les performances en écriture du système. Cependant, dans le cas d’écritures dont le volume dépasse largement la capacité du cache, le système devra bien attendre que le cache d’écriture se vide avant de pouvoir envoyer davantage de données. L’effet accélérateur du cache devient alors presque nul voire négatif sur certains contrôleurs.

Le cache d’écriture pose un problème de sécurité important. En effet, La mémoire cache étant volatile, les données écrites par le système dans cette mémoire mais pas encore transférées sur les disques sont perdues en cas de rupture d’alimentation ou de défaillance. Il peut s’ensuivre de très lourdes pertes ou corruptions de données. Dans certains cas graves l’intégrité du système de fichier peut être affectée et tout le volume peut alors devenir illisible. Pour pallier ce problème, on recommande de n’activer le cache d’écriture que si la machine est alimentée par l’intermédiaire d’un onduleur et que si le contrôleur RAID possède une batterie (cette batterie permet de conserver le contenu du cache pendant 30 minutes à 6 heures selon les modèles de contrôleurs et la taille de la batterie).

Seuls les véritables contrôleurs « RAID matériel » sont munis d’une mémoire cache. Pour les autres, des équivalents logiciels peuvent tenir lieu de cache.

A noter également que les contrôleurs RAID récent peuvent notamment utilisée un disque SSD en tant que cache. Les SSD disposant de vitesse de lecture et d’écriture beaucoup plus importante que les disques a plateau, cela prend tout son sens notamment grâce au faible tarif des disques SSD de nos jours.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

*