SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

La technologie RAID - Les niveaux simples
Accueil > Articles > Matériels
Auteurs 
Matthieu MARTINEAU
PI SERVICES (GOLD PARTNER MICROSOFT)
Ingénieur systèmes et réseaux


 Tous les articles de cet auteur

4,4/5

Bien


357502
813/3619
New Page 1

I-3) le RAID 0 ou « stripping »

 

Le RAID 0 est un agrégat (ensemble) de disques formé d’au moins deux disques durs. Avec le RAID 0, les données sont réparties sur l’ensemble des disques de l’agrégat. Cela améliore les performances en lecture et en écriture. Par exemple si on copie un fichier de 99 Mo sur un agrégat composé de 3 disques, alors le contrôleur RAID va diviser de façon équitable le travail entre les trois disques qui écriront chacun 33 Mo. Cela va donc multiplier le débit par 3. De plus la capacité des disques s’additionne pour former un disque virtuel de plus grosse capacité. Attention cette partie de l'article définie l'ensemble des niveaux RAID dit "simples". Toutes les caractéristiques (débit, capacité, ...) sont données à titre théorique et ne reflètent pas forcément les perfomances réelles.


 

Supposons que l’on crée un agrégat (en RAID 0) avec 3 disques durs ayant les mêmes caractéristiques :

  • capacité de 160Go
  • débit de 100Mo/s en lecture
  • débit de 80Mo/s en écriture

Cet agrégat se comportera alors pour le système d’exploitation comme un disque dur virtuel de 480Go (3*160 Go = 480Go) avec :

ü      un débit en lecture de 300 Mo/s (3*100Mo/s)

ü      un débit en écriture de 240 Mo/s. (3*80Mo/s)


Si on crée un agrégat avec des disques possédant des caractéristiques différentes alors les caractéristiques du disque le moins performant sont utilisées.

Par exemple, si l’on met en place un niveau RAID 0 avec un disque d’une capacité de 60Go et un disque d’une capacité de 2Go, alors seulement deux giga-octets seront utilisés sur chaque disque et le système d’exploitation verra un disque de 4Go alors que la capacité réelle des deux disques réunis s’élève en réalité à 2Go + 60Go = 62Go. Il y aura donc un espace disque de 58Go (60Go – 2Go = 58Go) qui sera inutilisé sur le premier disque. Lorsque l’on implémente un niveau RAID 0, il est donc préférable de choisir des disques de même capacité. 

De plus si l’on crée un système RAID 0 avec un disque rapide avec un disque lent, on obtiendra un disque virtuel possédant environ le double des performances du disque lent. Le disque lent va donc brider le disque rapide. Il faut donc veiller à utiliser des disques proposant des caractéristiques similaires afin d’optimiser les performances. Par exemple associer un disque fonctionnant à 10 000 tr/min et possédant 8Mo de mémoire cache et un disque fonctionnant à 5400 tr/min et possédant 2Mo de mémoire cache) serait un véritable gâchis.

Pour résumer, un niveau RAID 0 doit utiliser des disques durs ayant des caractéristiques très proches (notamment en capacité et en performances). Pour bien illustrer ces propos voici un petit exemple :


On met en place un niveau RAID 0 au moyen de 4 disques avec les caractéristiques suivantes :

 

Disque 1

Disque 2

Disque 3

Disque 4

Capacité

300 Go

18Go

20Go

45Go

Débit en lecture

90Mo/s

160Mo/s

20Mo/s

35Mo/s

Débit en écriture

82Mo/s

125Mo/s

20Mo/s

15Mo/s


 

Les valeurs les plus faibles pour chacune des caractéristiques ont été misent en rouge sur le tableau ci-dessus.

Lorsque l’on branche ces disques sur une carte RAID et que l’on défini un niveau RAID 0, on obtient le disque virtuel suivant :

ü      capacité : 4*18Go = 72Go

ü      débit en lecture : 4*20Mo/s = 80Mo/s

ü      débit en écriture : 4*15Mo/s = 60Mo/s

Le disque virtuel composé des quatre disques physiques s’avère donc plus lent et plus petit que le disque dur N°1 utilisé seul. Cet exemple est donc une utilisation catastrophique du niveau RAID 0.


Lorsque l’on utilise un niveau RAID 0, nous avons vu que les données sont réparties entre les différents disques, ce qui permet d’augmenter les performances. Pour répartir les données sur l’ensemble des disques de la façon la plus optimisée, la carte RAID (ou bien le système d’exploitation dans le cas d’un RAID logiciel) doit les découper en petites unités appelées segments. Lorsque l’on met en place un niveau RAID 0, on doit spécifier la taille de ces segments (ou block size, et parfois nommé chunk size). Cette taille est un multiple de la capacité d’un secteur de disque dur (soit 512octets). Ainsi, la plus petite taille possible pour un segment est de 512octets et peut attendre plusieurs Méga-octets (parfois plus de 4Mo).

La taille sélectionnée va influencer sur les performances en lecture et en écriture. Pour le stockage de gros fichiers, il est recommandé de choisir une taille élevée (256Ko, ou plus) alors que pour les petits fichiers une petite taille est à privilégier (ex. : 512octets, 1024 octets, …). Mais il ne faut surtout pas mettre une taille de 2048 Ko pour stocker des petits fichiers de 4Ko chacun car cela occuperait énormément d’espace disque inutilement et les performances seraient désastreuses.

Voici une petite représentation logique du travail de segmentation effectué par le contrôleur RAID.
 

Dans l’exemple ci-contre, on a crée un agrégat en mode RAID 0 à l’aide de trois disques durs. On a sélectionné une taille de segment de 3072 octets. Un segment occupe donc 6 secteurs de disque dur (car 3072 octets = 6 * 512 octets).

On vient de créer un nouveau document texte nommé « raid.txt » et on souhaite le sauvegarder sur le disque. Ce fichier a une taille de 8Ko (soit 8000 octets).

Le fichier est envoyé au contrôleur RAID qui le découpe en 3 segments de 3072 octets. Une fois le découpage des données terminé, le contrôleur réparti les segments entre les trois disques qui les écrivent en même temps.

Le troisième segment n’est pas utilisé au maximum car il contient uniquement 1856 octets (8000 octets – 2 * 3072 octets = 1856 octets) sur les 3072. On perd donc un espace de stockage de 3072 – 1856 = 1216 octets.

C’est pourquoi il ne faut pas choisir une taille de blocks trop élevée.

Pour avoir un ordre d’idée des tailles de segments que l’on rencontre généralement, voici une capture d’écran du BIOS de la carte RocketRAID 1820 (carte RAID de marque HightPoint qui gère les niveaux RAID 0, 1, 5, 10 et JBOD et qui possède 8 canaux SATA, une carte récente donc). On remarque qu’elle permet de sélectionner une taille de segments comprise entre 16Ko et 2048Ko.

 

 

Une fois que le niveau de RAID est crée, on doit ensuite partitionner et formater avec un système de fichier (ex. : NTFS), le disque virtuel de manière logicielle (à l’aide de l’utilitaire fdisk.exe par exemple). Selon le système de fichiers sélectionné, on peut paramétrer diverses options dont la tailles des unités d’allocation (ou clusters). Pour maximiser les performances et éviter de perdre trop d’espace disque, il est fortement recommandé de mettre une taille de segments (ou blocks) égale à celle des unités d’allocation (ou clusters). C’est d’ailleurs ce que propose Windows lorsque l’on crée un niveau RAID 0 de manière logicielle.

 

Pour conclure, l’avantage du RAID 0 est une augmentation des performances proportionnelle au nombre de disque et ce sans perte de capacité. Cependant ce mode ne tolère pas les pannes (si un des disques tombe en panne alors toutes les données stockées sur l’agrégat sont perdues) et induit une augmentation de la probabilité d’une panne (plus il y a de disques plus il y a de chances pour que l’un d’eux tombe en panne).

 


Introduction Générale
           1. Introduction
           2. Le JBOD
           3. Le RAID 0
           4. Le RAID 1
           5. Le RAID 2
           6. Le RAID 3
           7. Le RAID 4
           8. Le RAID 5
           9. L'orthogonal RAID 5
           10. Le RAID 6
           11. Le RAID 7
           12. Conclusion



En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft