Le RAID Linux est un RAID logiciel, à la différence du RAID matériel géré par un contrôleur (carte ou processeur). Pour la récupération de données du Raid Linux, une approche logicielle est nécessaire, basée sur un jeu de commande sous Linux. Le noyau logiciel Linux gère entièrement le RAID. Le volume de types "device" constitue l'élément de base de ce RAID, pouvant être un disque physique, un fichier ou bien une partition sur la totalité du disque ou bien seulement sur une partie du disque. Par exemple, trois partitions sur un seul disque, peuvent constituer un RAID 5 Linux . Également, il peut être construit sur un seul disque avec une seul partition ayant trois fichiers assimilés à un volume (disque virtuel).
Il n'y a aucune contrainte sur le volume qui sera utilisé pour le RAID. Ce qui donne une large liberté pour concevoir une solution RAID logiciel Linux.
Pourquoi le Raid Linux
Le RAID Linux fonctionne en mode blocs sur la plupart des périphériques (IDE, SCSI, SATA, ou un mixe de tout etc). Egalement, on peut créer un Linux complexe comme Raid 10, Raid 01 ou Raid 50. De plus, on peut placer le Raid ou une partition du Raid avec un système de fichier quelconque. L'ordre des disques dans un Raid logiciel Linux n'a aucune importance car les informations écrites sur les "devices" sont suffisantes pour repérer les membres du Raid.
RAID Linux logiciel, notions
Dans un RAID logiciel Linux, un volume peut jouer plusieurs rôles : Remplaçant, Défaut, ou Sain.
1. Disque remplaçant "Spare disk"
Le disque remplaçant est un disque ne faisant pas partie du RAID sauf en cas de panne d'un disque actif. Lorsqu'un disque est en panne, il sera comme "défectueux". Le premier disque "remplaçant" disponible remplacera le disque défaillant pour la reconstruction du Raid. Ainsi le disque remplaçant offre une sécurité supplémentaire, spécialement au RAID 5.
2. Disque en défaut
Lorsque la couche RAID logiciel rencontre un disque défectueux, il sera marqué "en défaut" et la reconstruction du RAID commence immédiatement sur le premier disque remplaçant disponible. Le disque en défaut reste faisant partie du RAID mais sera désactivé du système de fichiers..
3. Disque sain
Le disque sain est un disque actif et participe aux activités du RAID.
4. Chunk size
L'écriture dans une RAID ne peut être jamais parallèle sur l'ensemble des disques. Pour écrire un octet dans un RAID 0, il faut écrire 4 bits dans chaque disque. Le premier bit sur le premier disque et le second sur le deuxième disque. Le matériel informatique ne peut pas traiter cette demande d'écriture. Pour cette raison, la notion du "Chunk size" (bloc size ou taillle du bloc) a été introduite et définie par : la plus petite quantité de données pouvant être écrite sur un volume. Écrire 16 KO avec un bloc size de 4 KO divise les données en quatre blocs (bloc 1 &3 sur le premier volume et bloc 2&4 sur le second volume). Le bloc size est un des paramètres les plus importants du RAID.
Création et gestion du RAID Linux
Outils de création et de gestion
Il existe deux principaux outils pour la création et la gestion du Raid Linx logiciel : "raidtools" et "mdadm". Ce dernier est plus complet et préféré pour les raisons principales suivantes :
* "mdadm" peut diagnostiquer, surveiller et donner des informations détaillées sur la grappe Raid.
* Il s'agit d'un logiciel centralisant les fonctions les plus importantes. Ce qui permet d'avoir une syntaxe commune de commandes.
*L'outils "mdadm" fonctionne sans avoir besoin de fichier de configuration spécifique.
Création et surveillance du raid Linux
Avec l'outil "mdadm", on peut créer un Raid logiciel avec la commande :
mdadm --create /dev/md0 --metadata 1.0 <niveau du Raid, nombre des disques, nom des disques>
Pour obtenir des informations sur le Raid, on utilise cette commande :
sudo mdadm --detail /dev/md0
La littérature sur le Raid Linux est très abondante et détaillée sur les pages spécialisées. L'objectif est de noter que le Raid Linux est créé, administré et dépanné par des commandes Linux en ligne. Ces commandes ne peuvent s’exécuter que sur des supports de stockage sains et en bon état physique, au risque de compromettre le bon fonctionnement du Raid logiciel Linux.
Raid logiciel en panne !
Quels seraient les pannes possibles d'un Raid logiciel Linux ?
Pour résumer, un Raid logiciel Linux est construit avec des "devices", pouvant être disques durs physiques unitaires, partitions ou fichiers. Une inaccessibilité d'un "device", nous renvoie vers deux types de dysfonctionnement :
- Problèmes de type logique : déréglage du système de fichiers, manque d'informations sur le Raid, etc.
- Pannes physiques sur le disque dur directement : secteurs défectueux, court-circuit, dommages sur le bloc des têtes de lecture, etc.
Récupérer RAID Linux logiciel
La récupération de données d'un système RAID Linux dépend de l'état du RAID et de sa panne. Très souvent l'administrateur du RAID Linux (Raid logiciel) tente des manipulations afin de remettre le RAID en fonctionnement, tout en ignorant l'état physique des disques durs. Ce qui conduit très souvent à une aggravation de l'état du RAID. Le traitement du RAID Linux est effectué au cas par cas suivant les problèmes rencontrés. L'objectif d'un professionnel de récupération de données est bien arriver aux données et non pas administrer un RAID.
Voici quelques étapes essentielles à respecter avant de manipuler un RAID Linux.
1. Intégrité
Un RAID Linux ne doit jamais être manipulé en l'état, car un disque lent ou en panne peut créer une désynchronisation avec les autres disques.
2. Clonage des disques
Tous les disques du RAID doivent être clonés ou imagés afin de préparer une base saine de travail de reconstruction du RAID.
3. Identification des disques
A partit d'un disque sain, il faut récolter toutes les informations sur le RAID et identifier les disques actifs et les disques manquants.
4. Identification des paramètres du RAID
Les paramètres du RAID doivent être identifié : type de RAID, nombre des disques, block-size, ordre des disques.
5. Assemblage et analyse
Avec les informations recueillies, le RAID peut être reconstruit de manière logicielle afin d'en créer une image qui sera analysée plus tard pour extraire les données utiles.