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
|
|
 |
Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft
|
|