Voici une série de trois articles pour tout savoir en ce qui concerne la technologie R.A.I.D.
Il va vous expliquer dans cette deuxième partie son fonctionnement.
Si vous n'avez pas lu la première partie elle est accessible ICI.
Bonne lecture !
***
A. Le RAID matériel et logiciel
1. Introduction
Lorsqu’on parle de RAID matériel ou logiciel, dans les faits, on parle du type de « contrôleur RAID » utilisé.
Le contrôleur RAID est ce qui permet de mettre en place, gérer et maintenir une ou plusieurs Grappes RAID.
2. Le RAID Matériel
Le Contrôleur RAID Matériel (« Carte RAID » ou « Carte contrôleur RAID ») est une Carte PCI ou PCI Express (PCIe) qui comporte plusieurs ports SATA et autres… (Je vais rester sur les ports SATA que tout le monde connait), ainsi qu’une puce de contrôle (un mini processeur, pour simplifier) qui va pouvoir gérer des grappes RAID à elle seule.
Voici un exemple de carte RAID
Ces cartes RAID ont un genre de « BIOS » intégré (Firmware), qui permet de mettre en place les systèmes RAID qu’elles supportent (selon le nombre de ports pour accueillir les disques durs et la « puce - contrôleur » intégrée).
C’est ce type de matériel qui pourra vous intéresser si vous souhaitez augmenter le nombre de disques durs dans votre ordinateur lorsque votre carte mère ne vous en propose pas suffisamment. (cf le point suivant 3. RAID Logiciel)
Le RAID matériel est principalement utilisé en entreprise, sur des machines de type SERVEUR (Windows ou Linux) qui intègrent, la plupart du temps, une carte RAID, et/ou dans des baies de stockage (ou baies de disques) rattachées à des serveurs pour afficher les Grappes RAID mises en place dans la(les) baie(s) de stockage.
Voici un exemple de serveur d’entreprise, il peut accueillir 6 disques durs et propose différent types de RAID acceptés par la carte RAID intégrée :
Voici un exemple de baie de stockage, cette solution doit être connectée à un serveur de manière à être administrée et y configurer les types de RAID que l’on souhaite :
Ces solutions matérielles (Serveurs / Baies de stockage) sont bien évidemment hors de prix, démesurées et inadaptées pour une utilisation personnelle. (À moins d’être un Geek avec une pièce dédiée et insonorisée, ou alors, aimer vivre dans une soufflerie)
Mais, sans aller vers les serveurs et baies de stockage, il est tout à fait possible d’ajouter une carte RAID pour créer un RAID Matériel dans un ordinateur de bureau.
Avantages
1. Le RAID matériel est autonome dans la gestion des grappes de disques (Grappe RAID), la carte RAID embarque toutes les ressources qu’il lui faut pour gérer tout cela.
2. Le RAID matériel est une solution relativement robuste pour la gestion des Grappes RAID.
Cependant, cela n’empêche pas les disques de tomber en panne moins souvent.
Simplement, les vérifications effectuées sur les Grappes RAID sont plus fréquentes et permettent, bien souvent, de détecter une panne (future ou actuelle) plus rapidement.
Le statut d’un disque peut donc passer en « Predictive Failure », c’est à dire, que celui-ci commence à présenter quelques défaillances et qu’il serait bon de le remplacer avant qu’il tombe définitivement en panne.
3. Grace au RAID matériel, il est possible d’installer le système d’exploitation sur une Grappe RAID.
(À condition que la carte RAID soit reconnue par votre système d’exploitation par défaut).
Dans le cas contraire il faudra intégrer les pilotes de la carte RAID dans l’ISO du système d’exploitation en question pour que cette dernière soit reconnue par le système d’installation, dans ce cas, je vous renvoie vers votre moteur de recherche préféré pour savoir comment faire… DISM, par exemple, pour Windows)
Ce dernier point peut être un avantage s’il est pris en charge par défaut par le système d’exploitation mais peut devenir un vrai casse-tête (inconvénient) si vous devez ajouter des pilotes…
Inconvénients
1. Si la carte RAID tombe en panne, la Grappe RAID est sévèrement mise en péril, car il vous faudra trouver exactement la même référence de carte RAID, avec la même version du Bios (Firmware).
C’est impératif si vous souhaitez récupérer les Grappes RAID créées avec la carte RAID originale.
Et il arrive parfois que, avec les mêmes références matérielles (série / puce de contrôle / Firmware), la Grappe RAID ne soit pas récupérable.
Les pannes de cartes RAID n’arrivent pas tous les matins, je vous rassure, mais quand ça arrive et que vos sauvegardes sont incomplètes ou inexistantes, alors vous pouvez commencer à vous faire du souci.
2. L’extension d’une Grappe RAID (Ajouter un disque à une Grappe RAID pour augmenter la capacité de stockage) n’est pas toujours possible.
Tous les contrôleurs RAID matériel ne le proposent pas.
Donc, le fait d’ajouter des disques sur une carte RAID ne veut pas forcément dire que vous pourrez étendre une Grappe RAID existante.
Parfois, vous serez obligé de créer une autre Grappe RAID ou alors « casser » la Grappe RAID existante (perte totale des données présentes) et en faire une nouvelle avec la totalité des disques durs rattachés.
3. Il n’est pas possible de combiner 2 cartes RAID pour faire un RAID matériel « global ». (En tout cas, ce n’est pas possible matériellement parlant, il vous faudra passer par un RAID Logiciel. Mais c’est très peu recommandé/utilisé)
Chaque carte RAID reste indépendante et ne peut gérer que les disques qui lui sont rattachés.
Si vous souhaitez mettre en place un RAID matériel avec « beaucoup » de disques, il faudra choisir une carte RAID avec autant de ports SATA que vous le souhaitez.
4. Plus une carte RAID présente de ports disques, plus le prix de celle-ci augmente.
3. Le RAID Logiciel (Semi-Logiciel)
Le RAID Logiciel, est un contrôleur RAID, géré par le système d’exploitation (OS) installé (Windows ou linux… Et presque exclusivement Linux).
Pour faire simple, il s’agit d’un contrôleur RAID « émulé ».
C’est-à-dire que tous les disques durs disponibles, provenant de la carte mère et/ou d’une ou plusieurs cartes RAID, seront présentés afin de les combiner en Grappe RAID.
(On considère ici qu’en cas de présence de carte RAID, aucun RAID matériel n’est en place et que tous les disques connectés aux cartes RAID sont présentés comme des disques uniques.)
La Grappe RAID, ainsi créée, sera gérée par l’OS.
Dans le cas d’un RAID logiciel, les cartes RAID ont l’avantage de servir à augmenter le nombre de ports SATA (Cartes d’extension, pour simplifier), afin de présenter au système d’exploitation, les disques branchés sur celle-ci.
Si votre carte mère n’a pas suffisamment de ports SATA pour créer la Grappe RAID que vous souhaitez, une ou 2 cartes RAID ajoutées à la carte mère pourront vous aider à atteindre votre objectif.
C’est évidemment à la condition que l’OS (Windows ou linux) intègre les pilotes adéquates pour reconnaitre la carte RAID (il sera, dans la plupart des cas, possible d’installer les pilotes nécessaires à la reconnaissance de la cartes RAID, et ainsi, d’avoir accès aux disques reliés à celle-ci).
La plupart des systèmes RAID Logiciel sont basés sur Linux (Très souvent, des variantes de Debian), avec le module « MDADM » comme logiciel (processus) de gestion des Grappes RAID.
C’est aussi le cas pour les serveurs NAS « grand public ».
Tous les constructeurs comme Synology, Qnap, Asus, D-Link etc… utilisent le principe du RAID Logiciel, basé sur MDADM.
Ils embarquent tous un OS Linux, qu’ils ont personnalisé, selon ce qu’ils voulaient mettre en place, et ont proposé ces solutions « clé en main » pour le grand public.
Pour résumer, acheter un NAS constructeur n’est absolument pas synonyme d’avoir une Grappe RAID matérielle. C’est même tout l’inverse.
Windows est aussi capable de créer des Grappes RAID via la configuration des disques en mode « dynamique » dans l’outil de gestion de disques (diskmgmt.msc).
C’est assez peu utilisé car la gestion du RAID reste assez mauvaise.
C’est un peu mieux sur les versions Windows Server, mais au niveau d’un Windows « Client » (7 / 8.1 / 10), c’est, très honnêtement (avec retour d’expérience), une mauvaise idée.
Les Cartes Mères sont, aujourd’hui, capables de gérer différents types de RAID.
Il est possible de configurer les Grappes RAID depuis le bios.
Bien que les Grappes RAID soient mises en place par le BIOS de la carte mère, ça n’en fait pas un RAID matériel à part entière, car, contrairement aux cartes RAID, une carte mère n’a pas de puce contrôleur, avec son processeur interne et sa mémoire propre, dédiés aux calculs.
Elle utilisera les ressources dont elle dispose pour gérer les Grappes RAID (une partie du processeur (CPU) en place, Intel/AMD, et une partie de la mémoire vive (RAM) installée).
On parle de RAID « semi-logiciel ». Certains parlent de « RAID matériel déguisé ».
La Grappe dépend donc de la carte mère, de la puissance du CPU ainsi que de la vitesse/capacité de la RAM.
Compte tenu de la puissance des machines aujourd’hui, l’utilisation de ces ressources reste légère, mais peut ralentir la machine dans certains cas.
J’avoue que je n’ai jamais eu de cas de panne de carte mère (PC de bureau) qui gérait des Grappes RAID.
De fait, je ne sais pas si reprendre le même modèle de carte mère (avec la même version du bios) permet de récupérer les Grappes RAID.
Avantages
1. Le RAID Logiciel est extrêmement flexible.
En effet, si votre système d’exploitation crashe pour x ou y raison, en cas de réinstallation, avec les mêmes modules de gestion de RAID (packages applicatifs), vous êtes en mesure de récupérer vos Grappes RAID (donc, vos données) dans plus de 90% des cas (pour ne pas dire, presqu’à 100%).
Cela reste à confirmer dans le cas d’un RAID semi-logiciel.
2. Le RAID logiciel permet aussi de modifier le type de RAID à chaud, pratiquement à 100% pour les RAID logiciels Linux.
Convertir un RAID 1 en RAID 5, par exemple…
Je n’en suis pas sûr à 100%, mais il me semble que les cartes RAID (pour un RAID matériel) ne supportent pas la conversion d’un type de RAID vers un autre.
3. Il est aussi tout à fait possible d’étendre la capacité d’une Grappe RAID à chaud (hors RAID 0).
Que vous ajoutiez un ou plusieurs disques à la carte mère ou à une carte RAID (en mode « extension »), ils pourront dans tous les cas être utilisés pour étendre/convertir vos Grappes RAID de la manière que vous voudrez.
Inconvénients
1. Le RAID logiciel (et semi-logiciel) effectue ses calculs de redondance et parité en fonction des ressources de la carte mère.
Cela accapare principalement les bus de transfert des disques durs (et demande un minimum de ressources processeur et RAM pour effectuer certains calculs).
Pour simplifier, cela ralentit les performances du système d’exploitation en cas de reconstruction d’une Grappe RAID (ce qui n’est pas le cas pour un RAID matériel, car la carte RAID gère tout cela de manière autonome et laisse toutes les ressources de la carte mère pour le système d’exploitation, seule la Grappe gérée par la carte RAID sera ralentie pendant la reconstruction).
Mais cela se ressent assez peu dans le cas d’une solution NAS avec les performances matérielles actuelles.
2. Il n’est pas possible d’installer le système d’exploitation sur une Grappe RAID.
En effet, le disque dur qui accueille l’OS installé sur un disque « simple » (non RAID) ne peut pas être converti vers un RAID quel qu’il soit.
Cette opération n’est tout simplement supportée par aucun OS existant.
Une conversion « disque simple vers Grappe RAID » n’est pas possible à chaud (pendant que l’OS est utilisé).
Cela provoquerait une instabilité (un plantage) de l’OS du fait du découpage, à chaud, des fichiers en cours d’utilisation par le système d’exploitation.
Il faudra passer par la solution RAID Matériel (cf 2. RAID Matériel ci-dessus : Avantages, point n°3) ou Semi-Logiciel (pris en charge par défaut pour la plupart des OS courants).
Cette Grappe RAID devra obligatoirement être préparée avant l’installation du système d’exploitation.
Par déduction, je ne suis pas sûr non plus qu’il soit possible d’étendre une Grappe RAID hébergeant l’OS, du fait de l’instabilité que cela suppose pendant l’opération…
Cela doit généralement être fait à froid (OS non démarré) et ne pourra être fait qu’avec un RAID matériel ou semi-logiciel
Généralement on place l’OS sur une Grappe RAID 0 ou 1, à 2 disques, soit :
o Très rarement, un RAID 0 pour les performances. (Dans les milieux particuliers principalement, pour les téméraires… cf chapitre III. A.)
o Très souvent, un RAID 1 pour la continuité de service en cas de panne d’un disque (dans les milieux professionnels et particuliers. cf chapitre III. B.)
Il est extrêmement rare qu’il soit nécessaire d’étendre la Grappe RAID accueillant l’OS.
B. Avant de commencer
Pour présenter les différents types de RAID, je vais partir du principe que tous les disques qui composeront les Grappes RAID sont de même capacité et même vitesse de rotation, de manière à ce que les schémas et explications restent lisibles et compréhensibles.
Dans ces schémas, les disques durs sont notés DD (je sais, vous n’êtes pas idiots, mais au moins ce sera clair pour tout le monde)
Il est possible des créer des grappes RAID avec des disques de capacités différentes, mais cette pratique impose quelques contraintes.
J’en parle plus précisément dans le chapitre III. K. 1.
Il est préférable que vous compreniez d’abord le fonctionnement de chaque type de RAID, avant de vous expliquer les contraintes liées à l’utilisation de disques différents.
C. Les Bits, les Octets et les Blocs
Pour parler des types de RAID, et comment les calculs de parité et de redondance sont effectués, il est important que vous compreniez ces 3 notions.
Les Bits sont une suite de 1 et de 0 qui composent un fichier. (Les valeurs Binaires)
Par exemple, un fichier de 16bits sera composé comme ceci :
1001111001100011
Attention à ne pas confondre les bits et les Bytes.
Byte, en anglais, se traduit par Octet en français.
D’ailleurs, les Anglais font la différenciation en écrivant Byte avec un B majuscule, de manière à le pas confondre les 2 valeurs.
Par exemple :
Kb pour Kilo-bits
Et
KB pour Kilo-Bytes
Les Octets sont formés de groupes de 8 bits.
L’exemple du fichier de 16bits, ci-dessus, représente une valeur de 2 Octets.
Les Blocs (ou « Clusters ») sont des découpages de la capacité de stockage d’un disque dur en plusieurs petits morceaux pouvant, chacun, accueillir une certaine quantité d’octets.
Les systèmes de fichiers les plus répandus (NTFS pour Windows, EXT3 ou EXT4 pour Linux) effectuent un découpage des capacités de stockage des disques en blocs de 4Ko (Kilo-Octets) soit 4096 octets, en moyenne.
Pour faire un point/rappel sur les normes de capacité quand on parle en octets :
1Ko = 1024 Octets
1Mo = 1024 Ko ou 1024 x 1024 Octets
1Go = 1024 Mo ou 1024 x 1024 Ko ou 1024 x 1024 x 1024 Octets
1To = 1024 Go ou 1024 x 1024 Mo ou 1024 x 1024 x 1024 Ko ou 1024 x 1024 x 1024 x 1024 Octets
Pour calculer la valeur en bits, vous ajouter « x 8 » à la formule de calcul en Octets.
Donc, un bloc de 4Ko d’un disque dur (formaté avec les normes par défaut) équivaut à :
4 x 1024 x 8 = 32 768 bits
Un fichier pesant 40Ko, sera découpé en 10 blocs de 4Ko sur un disque dur.
C’est bien beau tout ça, mais à quoi ça peut bien servir de le savoir ?
Tout simplement parce que, pour les calculs de redondance ou de parité d’une Grappe RAID, plus la valeur de la donnée à calculer est petite, plus le temps de calcul sera long.
Pour simplifier, faire un calcul de redondance ou parité, au niveau Bits, prendra plus de temps que de faire ces mêmes calculs au niveau Blocs.
Sachez que tous les calculs de parité et de redondance se font au niveau Blocs pour tous les RAID actuels, mais je vais avoir besoin de revenir au niveau bits pour vous expliquer le fonctionnement de certains types de RAID, afin que ce soit suffisamment compréhensible.
SOSPC c'est plus de 2000 articles,
Rejoignez la Communauté à partir de 2 € par mois !
Plus d'infos sur les avantages en cliquant ICI.
Christophe, Administrateur