Quels types de matrices de raid existent ? Réseau RAID. Qu'est-ce que c'est? Pour quoi? Et comment créer

Aujourd'hui, nous allons apprendre des informations intéressantes sur ce qu'est une matrice RAID et quel rôle ces matrices jouent dans la vie. disques durs, oui, oui, exactement en eux.

Les disques durs eux-mêmes jouent un rôle assez important dans un ordinateur, car avec l'aide d'eux, nous faisons fonctionner le système et y stockons de nombreuses informations.

Le temps passe et n'importe qui Disque dur peut refuser, cela peut être n'importe lequel, dont nous ne parlons pas aujourd'hui.

J'espère que beaucoup ont entendu parler de ce qu'on appelle tableaux de raid, qui permettent non seulement d'accélérer travailler dur disques, mais aussi si quelque chose arrive, évitez que les données importantes ne disparaissent, peut-être pour toujours.

De plus, ces baies ont des numéros de série, ce qui les différencie. Tout le monde le fait différentes fonctions. Par exemple, il y a RAID0, 1, 2, 3, 4, 5 etc. Aujourd'hui, nous parlerons de ces mêmes tableaux, puis j'écrirai un article sur la façon d'utiliser certains d'entre eux.

Qu'est-ce qu'une matrice RAID ?

RAID est une technologie qui permet de combiner plusieurs appareils, à savoir des disques durs, dans notre cas il y en a quelque chose comme un tas. Ainsi, nous augmentons la fiabilité du stockage des données et la vitesse de lecture/écriture. Peut-être une de ces fonctions.

Donc, si vous souhaitez accélérer votre disque ou simplement sécuriser vos informations, c'est à vous de décider. Plus précisément, cela dépend du choix de la configuration Raid souhaitée ; ces configurations sont repérées par les numéros de série 1, 2, 3...

Les raids sont très fonctionnalité utile et je le recommande à tout le monde. Par exemple, si vous utilisez 0 configuration, vous constaterez une augmentation de la vitesse disque dur, après tout, les disques durs sont presque les appareils les plus rapides.

Si vous demandez pourquoi, alors je pense que tout est clair. chaque année, ils deviennent plus puissants, ils sont équipés de plus haute fréquence, grande quantité m cœurs, et bien d’autres. La même chose avec et. Mais jusqu'à présent, le volume des disques durs ne fait qu'augmenter, mais le taux de rotation reste le même, soit 7 200. Bien entendu, il existe également des modèles plus rares. La situation a été sauvée jusqu'à présent par ce qu'on appelle, qui accélèrent le système à plusieurs reprises.

Disons que tu es venu pour construire RAID1, dans ce cas, vous bénéficierez d'une haute garantie de protection de vos données, puisqu'elles seront dupliquées sur un autre appareil (disque) et, en cas de panne d'un disque dur, toutes les informations resteront sur l'autre.

Comme vous pouvez le voir sur les exemples, les raids sont très importants et utiles, ils doivent être utilisés.

Ainsi, une matrice RAID est physiquement une combinaison de deux disques durs connectés à la carte mère, ou de trois ou quatre. À propos, il devrait également prendre en charge la création de matrices RAID. Connexion difficile les disques sont réalisés selon la norme, et la création de raids s'effectue au niveau logiciel.

Lorsque nous avons créé le raid par programme, rien n'a beaucoup changé à l'œil nu, vous travaillerez simplement dans le BIOS et tout le reste restera tel qu'il était, c'est-à-dire que lorsque vous regardez dans Poste de travail, vous verrez tous les mêmes lecteurs connectés.

Pour créer un tableau, vous n'avez pas besoin de grand chose : carte mère avec support RAID, deux identiques disques durs (C'est important). Ils doivent être identiques non seulement en taille, mais également en cache, en interface, etc. Il est souhaitable que le fabricant soit le même. Maintenant, allumez l'ordinateur et recherchez le paramètre là-bas Configuration SATA et mets-le RAID. Après avoir redémarré l'ordinateur, une fenêtre devrait apparaître dans laquelle nous verrons des informations sur les disques et les raids. Là, il faut cliquer CTRL+I pour commencer à configurer le raid, c'est-à-dire y ajouter ou supprimer des disques. Ensuite, sa configuration commencera.

Combien y a-t-il de ces raids ? Il en existe plusieurs, à savoir RAID1, RAID2, RAID3, RAID4, RAID5, RAID6. Je parlerai plus en détail de seulement deux d'entre eux.

  1. RAID0– permet de créer une baie de disques afin d'augmenter la vitesse de lecture/écriture.
  2. RAID1– vous permet de créer des baies de disques en miroir pour protéger les données.

RAID 0, qu'est-ce que c'est ?

Tableau RAID0, qu'on appelle aussi "Décapage" utilise de 2 à 4 disques durs, rarement plus. En travaillant ensemble, ils améliorent la productivité. Ainsi, les données d'un tel tableau sont divisées en blocs de données, puis écrites sur plusieurs disques à la fois.

Les performances augmentent du fait qu'un bloc de données est écrit sur un disque, sur un autre disque, un autre bloc, etc. Je pense qu'il est clair que 4 disques augmenteront les performances de plus de deux. Si nous parlons de sécurité, elle en souffre dans tout le réseau. Si l'un des disques tombe en panne, dans la plupart des cas, toutes les informations seront perdues à jamais.

Le fait est que dans une matrice RAID 0, les informations se trouvent sur tous les disques, c'est-à-dire que les octets d'un fichier sont situés sur plusieurs disques. Par conséquent, si un disque tombe en panne, une certaine quantité de données sera également perdue et la récupération sera impossible.

Il s'ensuit qu'il est nécessaire d'en réaliser des permanents sur des supports externes.

Le RAID 1, qu'est-ce que c'est ?

Tableau RAID1, on l'appelle aussi Mise en miroir- miroir. Si nous parlons de l'inconvénient, alors dans RAID 1, le volume de l'un des disques durs vous est pour ainsi dire « indisponible », car il est utilisé pour dupliquer le premier disque. En RAID 0, cet espace est disponible.

Parmi les avantages, comme vous l'avez probablement déjà deviné, il s'ensuit que la baie offre une fiabilité élevée des données, c'est-à-dire que si un disque tombe en panne, toutes les données resteront sur le second. Une panne de deux disques à la fois est peu probable. Une telle matrice est souvent utilisée sur des serveurs, mais cela ne l'empêche pas d'être utilisée sur des ordinateurs ordinaires.

Si vous choisissez RAID 1, sachez que les performances chuteront, mais si les données sont importantes pour vous, utilisez une approche basée sur les données.

RAID 2-6, qu'est-ce que c'est ?

Je vais maintenant décrire brièvement les tableaux restants, pour ainsi dire, pour le développement général, et tout cela parce qu'ils ne sont pas aussi populaires que les deux premiers.

RAID2– nécessaire pour les tableaux qui utilisent du code Hamming (je n’étais pas intéressé par quel type de code il s’agissait). Le principe de fonctionnement est à peu près le même que dans RAID 0, c'est-à-dire que les informations sont également divisées en blocs et écrites un par un sur les disques. Les disques restants sont utilisés pour stocker les codes de correction d'erreurs, à l'aide desquels, en cas de panne de l'un des disques, les données peuvent être récupérées.

Certes, pour cette baie, il est préférable d'utiliser 4 disques, ce qui est assez cher, et il s'est avéré qu'en utilisant autant de disques, le gain de performances est assez controversé.

RAID3, 4, 5, 6– Je n'écrirai pas ici sur ces tableaux, puisque les informations nécessaires sont déjà sur Wikipédia, si vous voulez en savoir plus sur ces tableaux, lisez-les.

Quelle matrice RAID choisir ?

Disons que vous installez souvent divers programmes, jeux et copiez beaucoup de musique ou de films, alors il est recommandé d'utiliser RAID 0. Lors du choix des disques durs, soyez prudent, ils doivent être très fiables pour ne pas perdre d'informations. Assurez-vous de faire sauvegardes données.

Y a-t-il des informations importantes qui doivent être conservées en toute sécurité ? Ensuite, le RAID 1 vient à la rescousse. Lors du choix des disques durs, leurs caractéristiques doivent également être identiques.

Conclusion

Nous avons donc trié certaines informations nouvelles et anciennes sur les matrices RAID. J'espère que vous trouverez les informations utiles. Bientôt, j'écrirai sur la façon de créer ces tableaux.

De nombreux utilisateurs ont entendu parler du concept de matrices de disques RAID, mais en pratique, peu de gens imaginent de quoi il s'agit. Mais il s’avère qu’il n’y a rien de compliqué ici. Regardons l'essence de ce terme, comme on dit, sur les doigts, sur la base de l'explication des informations pour la personne moyenne.

Que sont les matrices de disques RAID ?

Examinons d’abord l’interprétation générale proposée par les publications en ligne. Les baies de disques sont des systèmes complets de stockage d'informations constitués d'une combinaison de deux disques durs ou plus qui servent soit à augmenter la vitesse d'accès aux informations stockées, soit à les dupliquer, par exemple lors de l'enregistrement de copies de sauvegarde.

Dans cette combinaison, le nombre de disques durs en termes d'installation n'a théoriquement aucune restriction. Tout dépend du nombre de connexions prises en charge par la carte mère. En fait, pourquoi les matrices de disques RAID sont-elles utilisées ? Ici, il convient de prêter attention au fait que dans le sens du développement technologique (par rapport aux disques durs), ils se sont longtemps figés à un moment donné (vitesse de broche 7 200 tr/min, taille du cache, etc.). Les seules exceptions à cet égard sont les modèles SSD, mais même eux, ils ne font généralement qu'augmenter le volume. Parallèlement, dans la production de processeurs ou de bandes mémoire vive les progrès sont plus visibles. Ainsi, grâce à l'utilisation de matrices RAID, le gain de performances lors de l'accès aux disques durs est augmenté.

Baies de disques RAID : types, objectif

Quant aux tableaux eux-mêmes, ils peuvent être conditionnellement divisés selon la numérotation utilisée (0, 1, 2, etc.). Chacun de ces numéros correspond à l'exécution de l'une des fonctions déclarées.

Les principaux de cette classification sont les baies de disques portant les numéros 0 et 1 (on comprendra plus tard pourquoi), puisque ce sont elles qui sont chargées des tâches principales.

Lors de la création de baies avec plusieurs disques durs connectés, vous devez d'abord utiliser les paramètres du BIOS, où la section de configuration SATA est définie sur RAID. Il est important de noter que les disques connectés doivent avoir des paramètres absolument identiques en termes de volume, d'interface, de connexion, de cache, etc.

RAID 0 (entrelacement)

Les baies zéro disque sont essentiellement conçues pour accélérer l’accès aux informations stockées (écriture ou lecture). En règle générale, ils peuvent avoir de deux à quatre disques durs en combinaison.

Mais le principal problème ici est que lorsque vous supprimez des informations sur l'un des disques, elles disparaissent sur les autres. Les informations sont écrites sous forme de blocs alternativement sur chaque disque et l'augmentation des performances est directement proportionnelle au nombre de disques durs (c'est-à-dire que quatre disques sont deux fois plus rapides que deux). Mais la perte d'informations est uniquement due au fait que les blocs peuvent être situés sur des disques différents, bien que l'utilisateur dans le même « Explorateur » voie les fichiers dans un affichage normal.

RAID1

Les baies de disques avec une seule désignation appartiennent à la catégorie Mirroring et sont utilisées pour sauvegarder des données par duplication.

En gros, dans cet état de fait, l'utilisateur perd quelque peu en productivité, mais il peut être sûr que si des données disparaissent d'une partition, elles seront sauvegardées dans une autre.

RAID 2 et supérieur

Les tableaux numérotés 2 et supérieurs ont un double objectif. D'une part, ils sont conçus pour enregistrer des informations, d'autre part, ils sont utilisés pour corriger des erreurs.

En d'autres termes, les baies de disques de ce type combinent les capacités du RAID 0 et du RAID 1, mais ne sont pas particulièrement appréciées des informaticiens, bien que leur fonctionnement repose sur l'utilisation

Quoi de mieux à utiliser dans la pratique ?

Bien entendu, si l'ordinateur est censé utiliser des programmes gourmands en ressources, par exemple, jeux modernes, il est préférable d'utiliser des matrices RAID 0. Si vous travaillez avec des informations importantes qui doivent être enregistrées de quelque manière que ce soit, vous devrez vous tourner vers les matrices RAID 1. En raison du fait que les bundles avec les numéros deux et plus ne sont pas devenus populaires , leur utilisation est déterminée uniquement par le souhait de l'utilisateur. À propos, l'utilisation de tableaux zéro est également pratique si l'utilisateur télécharge souvent des fichiers multimédias sur l'ordinateur, par exemple des films ou de la musique avec un débit binaire élevé au format MP3 ou au standard FLAC.

Pour le reste, vous devrez vous fier à vos propres préférences et besoins. L'utilisation de tel ou tel tableau en dépendra. Et bien sûr, lors de l’installation d’un bundle, il est préférable de privilégier Disques SSD, car par rapport aux disques durs conventionnels, ils ont déjà initialement des vitesses d'écriture et de lecture plus élevées. Mais ils doivent être absolument identiques dans leurs caractéristiques et paramètres, sinon la combinaison connectée ne fonctionnera tout simplement pas. Et c’est précisément l’une des conditions les plus importantes. Il faudra donc faire attention à cet aspect.

Le changement d’orientation des applications centrées sur le processeur vers les applications centrées sur les données entraîne l’importance croissante des systèmes de stockage de données. Dans le même temps, le problème du faible débit et de la tolérance aux pannes caractéristiques de tels systèmes a toujours été très important et a toujours nécessité une solution.

Dans l'industrie informatique moderne, les disques magnétiques sont largement utilisés comme système de stockage de données secondaire car, malgré toutes leurs lacunes, ils meilleures caractéristiques pour le type d'appareil approprié à un prix abordable.

Caractéristiques de la technologie de la construction disques magnétiques conduit à un écart significatif entre l'augmentation des performances des modules de processeur et les disques magnétiques eux-mêmes. Si en 1990, les meilleurs disques série étaient les disques 5,25″ avec un temps d'accès moyen de 12 ms et un temps de latence de 5 ms (à une vitesse de broche d'environ 5 000 tr/min 1), alors aujourd'hui la palme appartient aux disques 3,5″ avec un temps d'accès moyen de 5 ms et temps de retard de 1 ms (à une vitesse de broche de 10 000 tr/min). Nous constatons ici une amélioration caractéristiques techniques d'un montant d'environ 100 %. Dans le même temps, les performances du processeur ont augmenté de plus de 2 000 %. Ceci est largement possible car les processeurs bénéficient directement des avantages de l’utilisation du VLSI (Very Large Scale Integration). Son utilisation permet non seulement d'augmenter la fréquence, mais également le nombre de composants pouvant être intégrés dans la puce, ce qui permet d'introduire des avantages architecturaux permettant le calcul parallèle.

1 - Données moyennes.

La situation actuelle peut être caractérisée comme une crise d’E/S du système de stockage secondaire.

Augmentation des performances

L'impossibilité d'augmenter de manière significative les paramètres technologiques des disques magnétiques entraîne la nécessité de rechercher d'autres moyens, dont le traitement parallèle.

Si vous disposez un bloc de données sur N disques d'une matrice et organisez ce placement de manière à ce qu'il soit possible de lire les informations simultanément, alors ce bloc peut être lu N fois plus rapidement (sans tenir compte du temps de formation du bloc). Puisque toutes les données sont transférées en parallèle, cette solution architecturale est appelée tableau à accès parallèle(tableau avec accès parallèle).

Les baies parallèles sont généralement utilisées pour les applications nécessitant des transferts de données volumineux.

Certaines tâches, au contraire, se caractérisent par un grand nombre de petites demandes. De telles tâches incluent, par exemple, des tâches de traitement de bases de données. En répartissant les enregistrements de base de données sur les disques de la matrice, vous pouvez répartir la charge en positionnant les disques indépendamment. Cette architecture est habituellement appelée tableau à accès indépendant(tableau avec accès indépendant).

Augmentation de la tolérance aux pannes

Malheureusement, à mesure que le nombre de disques dans une baie augmente, la fiabilité de l’ensemble de la baie diminue. Avec des pannes indépendantes et une loi de distribution exponentielle du temps entre les pannes, le MTTF de l'ensemble de la baie (temps moyen jusqu'à panne) est calculé à l'aide de la formule MTTF array = MMTF hdd /N hdd (MMTF hdd est le temps moyen jusqu'à panne d'un disque ; NHDD est le nombre de disques).

Il est donc nécessaire d’augmenter la tolérance aux pannes des baies de disques. Pour augmenter la tolérance aux pannes des baies, un codage redondant est utilisé. Il existe deux principaux types de codage utilisés dans les baies de disques redondantes : la duplication et la parité.

La duplication, ou mise en miroir, est le plus souvent utilisée dans les baies de disques. Les systèmes miroir simples utilisent deux copies de données, chaque copie étant située sur des disques distincts. Ce schéma est assez simple et ne nécessite pas de coûts matériels supplémentaires, mais présente un inconvénient important : il utilise 50 % espace disque pour stocker une copie des informations.

La deuxième façon de mettre en œuvre des baies de disques redondantes consiste à utiliser un codage redondant utilisant le calcul de parité. La parité est calculée en effectuant un XOR sur tous les caractères du mot de données. L'utilisation de la parité dans les baies de disques redondantes réduit la surcharge à une valeur calculée par la formule : HP hdd = 1/N hdd (HP hdd - surcharge ; N hdd - nombre de disques dans la baie).

Histoire et développement du RAID

Bien que les systèmes de stockage basés sur disques magnétiques, sont produits depuis 40 ans ; la production en série de systèmes tolérants aux pannes a commencé assez récemment. Les baies de disques redondantes, communément appelées RAID (redundant arrays of cheap disks), ont été introduites par des chercheurs (Petterson, Gibson et Katz) de l'Université de Californie à Berkeley en 1987. Mais les systèmes RAID ne se sont répandus que lorsque des disques adaptés à une utilisation dans des baies redondantes sont devenus disponibles et suffisamment productifs. Depuis le livre blanc sur le RAID en 1988, la recherche sur les baies de disques redondantes a explosé dans le but de fournir un large éventail de compromis coût-performance-fiabilité.

Il y a eu un incident avec l'abréviation RAID à un moment donné. Le fait est qu'au moment de la rédaction de cet article, tous les disques utilisés dans les PC étaient appelés disques bon marché, par opposition aux disques coûteux pour les mainframes (ordinateurs centraux). Mais pour une utilisation dans des matrices RAID, il était nécessaire d'utiliser un équipement assez coûteux par rapport à d'autres configurations PC, c'est pourquoi RAID a commencé à être déchiffré comme une matrice redondante de disques indépendants 2 - une matrice redondante de disques indépendants.

2 - Définition du Conseil Consultatif RAID

RAID 0 a été introduit par l'industrie comme définition d'une matrice de disques non tolérante aux pannes. Berkeley a défini RAID 1 comme une matrice de disques en miroir. RAID 2 est réservé aux baies utilisant le code Hamming. Les niveaux RAID 3, 4 et 5 utilisent la parité pour protéger les données contre des pannes uniques. Ce sont ces niveaux, dont le niveau 5, qui ont été présentés à Berkeley, et cette taxonomie RAID a été adoptée comme norme de facto.

Les niveaux RAID 3,4,5 sont très populaires et ont une bonne utilisation de l'espace disque, mais ils présentent un inconvénient majeur : ils ne résistent qu'à des pannes uniques. Cela est particulièrement vrai lors de l'utilisation d'un grand nombre de disques, lorsque la probabilité d'indisponibilité simultanée de plusieurs appareils augmente. De plus, ils se caractérisent par une longue récupération, ce qui impose également certaines restrictions quant à leur utilisation.

Aujourd'hui, un assez grand nombre d'architectures ont été développées pour assurer le fonctionnement de la baie même en cas de panne simultanée de deux disques sans perte de données. Parmi l'ensemble, il convient de noter la parité bidimensionnelle et EVENODD, qui utilisent la parité pour le codage, et RAID 6, qui utilise le codage Reed-Solomon.

Dans un schéma utilisant la parité double espace, chaque bloc de données participe à la construction de deux mots de code indépendants. Ainsi, si un deuxième disque dans le même mot de code tombe en panne, un mot de code différent est utilisé pour reconstruire les données.

La redondance minimale dans un tel tableau est obtenue avec un nombre égal de colonnes et de lignes. Et est égal à : 2 x Carré (N Disk) (en « carré »).

Si le réseau à deux espaces n'est pas organisé en « carré », alors lors de la mise en œuvre du schéma ci-dessus, la redondance sera plus élevée.

L'architecture EVENEDD a un schéma de tolérance aux pannes similaire à la parité double espace, mais un placement différent des blocs d'informations qui garantit une utilisation redondante minimale de la capacité. Comme dans la parité dual-espace, chaque bloc de données participe à la construction de deux mots de code indépendants, mais les mots sont placés de telle sorte que le coefficient de redondance soit constant (contrairement au schéma précédent) et soit égal à : 2 x Carré (N Disque).

En utilisant deux caractères de contrôle, des codes de parité et non binaires, le mot de données peut être conçu pour fournir une tolérance aux pannes lorsqu'une double panne se produit. Cette conception est connue sous le nom de RAID 6. Le code non binaire, construit sur le codage Reed-Solomon, est généralement calculé à l'aide de tables ou sous forme de processus itératif utilisant registres linéaires avec feedback, qui est une opération relativement complexe nécessitant du matériel spécialisé.

Considérant que l'utilisation d'options RAID classiques, qui offrent une tolérance aux pannes suffisante pour de nombreuses applications, présente souvent des performances inacceptablement faibles, les chercheurs mettent de temps en temps en œuvre diverses mesures permettant d'augmenter les performances des systèmes RAID.

En 1996, Savage et Wilks ont proposé AFRAID – Un réseau fréquemment redondant de disques indépendants. Cette architecture sacrifie dans une certaine mesure la tolérance aux pannes au profit des performances. Pour tenter de compenser le problème de petites écritures typique des matrices RAID de niveau 5, il est possible de laisser le striping sans calcul de parité pendant un certain temps. Si le disque désigné pour l'enregistrement par parité est occupé, l'enregistrement par parité est retardé. Il a été théoriquement prouvé qu'une réduction de 25 % de la tolérance aux pannes peut augmenter les performances de 97 %. AFRAID modifie efficacement le modèle de défaillance des baies tolérantes aux pannes uniques, car un mot de code qui n'a pas de parité mise à jour est susceptible de provoquer des pannes de disque.

Au lieu de sacrifier la tolérance aux pannes, vous pouvez utiliser des techniques de performances traditionnelles telles que la mise en cache. Étant donné que le trafic sur les disques est intense, vous pouvez utiliser un cache en écriture différée pour stocker les données lorsque les disques sont occupés. Et si la mémoire cache est réalisée sous forme de mémoire non volatile, alors, en cas de panne de courant, les données seront sauvegardées. De plus, les opérations de disque différées permettent de combiner de manière aléatoire de petits blocs pour effectuer des opérations de disque plus efficaces.

Il existe également de nombreuses architectures qui sacrifient le volume pour augmenter les performances. Parmi eux figurent la modification retardée sur le disque de journal et divers schémas de modification du placement logique des données dans le placement physique, qui vous permettent de répartir plus efficacement les opérations dans la baie.

Une des options - journalisation de parité(enregistrement parité), qui consiste à résoudre le problème des petites écritures et à utiliser plus efficacement les disques. La journalisation de parité reporte les changements de parité vers RAID 5 en les enregistrant dans un journal FIFO, situé en partie dans la mémoire du contrôleur et en partie sur le disque. Étant donné que l'accès à une piste complète est en moyenne 10 fois plus efficace que l'accès à un secteur, la journalisation de parité collecte de grandes quantités de données de parité modifiées, qui sont ensuite écrites ensemble sur un disque dédié au stockage de la parité sur l'ensemble de la piste.

Architecture données flottantes et parité(flottant et parité), qui permet de réaffecter le placement physique des blocs de disque. Des secteurs libres sont placés sur chaque cylindre pour réduire latence de rotation(délais de rotation), les données et la parité sont allouées à ces espaces libres. Pour garantir le fonctionnement lors d'une panne de courant, la parité et la carte des données doivent être stockées dans une mémoire non volatile. Si vous perdez la carte de placement, toutes les données du tableau seront perdues.

Décapage virtuel- est une architecture de données flottantes et de parité utilisant un cache en écriture différée. Naturellement, prendre conscience des côtés positifs des deux.

De plus, il existe d'autres moyens d'améliorer les performances, telles que les opérations RAID. À une certaine époque, Seagate avait intégré la prise en charge des opérations RAID dans ses disques dotés d'interfaces Fibre Channel et SCSI. Cela a permis de réduire le trafic entre le contrôleur central et les disques de la matrice pour les systèmes RAID 5. Il s'agissait d'une innovation fondamentale dans le domaine des implémentations RAID, mais la technologie n'a pas démarré dans la vie, car certaines fonctionnalités de Fiber Les normes Chanel et SCSI affaiblissent le modèle de défaillance des baies de disques.

Pour le même RAID 5, l'architecture TickerTAIP a été introduite. Cela ressemble à ceci : le nœud d'origine du mécanisme de contrôle central (nœud initiateur) reçoit les demandes des utilisateurs, sélectionne un algorithme de traitement, puis transfère le travail du disque et la parité au nœud de travail (nœud de travail). Chaque nœud de travail traite un sous-ensemble des disques de la baie. Identique au modèle de Seagate Les nœuds travailleurs transmettent des données entre eux sans la participation du nœud initiateur. Si un nœud de travail tombe en panne, les disques qu'il sert deviennent indisponibles. Mais si le mot de passe est construit de telle manière que chacun de ses symboles est traité par un nœud de travail distinct, alors le schéma de tolérance aux pannes répète RAID 5. Pour éviter les pannes du nœud initiateur, il est dupliqué, nous obtenons ainsi une architecture qui est résistant aux pannes de l’un de ses nœuds. Malgré toutes ses caractéristiques positives, cette architecture souffre du problème du « trou d’écriture ». Ce qui signifie qu'une erreur se produit lorsque plusieurs utilisateurs modifient le mot de passe en même temps et que le nœud échoue.

Il convient également de mentionner une méthode assez populaire prompt rétablissement RAID-utilisation disque libre(de rechange). Si l'un des disques de la matrice tombe en panne, le RAID peut être restauré en utilisant un disque libre au lieu de celui en panne. La principale caractéristique de cette implémentation est que le système revient à son état précédent (état de sécurité sans intervention externe). Lors de l'utilisation d'une architecture de secours distribuée, les blocs logiques d'un disque de secours sont physiquement répartis sur tous les disques de la baie, éliminant ainsi le besoin de reconstruire la baie en cas de panne d'un disque.

Afin d'éviter le problème de récupération typique des niveaux RAID classiques, une architecture appelée dégroupage paritaire(répartition paritaire). Cela implique de placer moins de disques logiques de plus grande capacité sur des disques physiques plus petits et de plus grande capacité. Grâce à cette technologie, le temps de réponse du système à une requête lors de la reconstruction est amélioré de plus de moitié et le temps de reconstruction est considérablement réduit.

Architecture des niveaux RAID de base

Examinons maintenant plus en détail l'architecture des niveaux de base du RAID. Avant d'y réfléchir, faisons quelques hypothèses. Pour démontrer les principes de construction de systèmes RAID, considérons un ensemble de N disques (pour plus de simplicité, nous supposerons que N est un nombre pair), chacun étant constitué de M blocs.

Nous désignerons les données - D m,n, où m est le nombre de blocs de données, n est le nombre de sous-blocs en lesquels le bloc de données D est divisé.

Les disques peuvent se connecter à un ou plusieurs canaux de transfert de données. L’utilisation de plus de canaux augmente débit systèmes.

RAID 0. Matrice de disques rayés sans tolérance aux pannes

Il s'agit d'une baie de disques dans laquelle les données sont divisées en blocs et chaque bloc est écrit (ou lu) sur un disque distinct. Ainsi, plusieurs opérations d'E/S peuvent être effectuées simultanément.

Avantages:

  • performances les plus élevées pour les applications nécessitant un traitement intensif de requêtes d'E/S et de gros volumes de données ;
  • Facilité de mise en œuvre;
  • faible coût par unité de volume.

Défauts:

  • ce n'est pas une solution tolérante aux pannes ;
  • La panne d'un disque entraîne la perte de toutes les données de la baie.

RAID 1. Baie de disques redondante ou mise en miroir

La mise en miroir est un moyen traditionnel d'augmenter la fiabilité d'une petite baie de disques. Dans la version la plus simple, on utilise deux disques sur lesquels les mêmes informations sont enregistrées, et si l'un d'eux tombe en panne, il en reste un duplicata, qui continue de fonctionner dans le même mode.

Avantages:

  • Facilité de mise en œuvre;
  • facilité de récupération de la baie en cas de panne (copie) ;
  • des performances suffisamment élevées pour les applications à forte intensité de demande.

Défauts:

  • coût élevé par unité de volume - redondance à 100 % ;
  • faible vitesse de transfert de données.

RAID 2. Baie de disques tolérante aux pannes utilisant Hamming Code ECC.

Le codage redondant utilisé dans RAID 2 est appelé code de Hamming. Le code de Hamming permet de corriger des défauts simples et de détecter des défauts doubles. Aujourd'hui, il est activement utilisé dans la technologie de codage des données dans la RAM de type ECC. Et encodage des données sur des disques magnétiques.

Dans ce cas, un exemple est présenté avec un nombre fixe de disques en raison de la lourdeur de la description (un mot de données est constitué de 4 bits, respectivement, le code ECC est de 3).

Avantages:

  • correction d'erreur rapide (« à la volée ») ;
  • vitesse de transfert de données très élevée pour les gros volumes ;
  • à mesure que le nombre de disques augmente, les frais généraux diminuent ;
  • mise en œuvre assez simple.

Défauts:

  • coût élevé avec un petit nombre de disques ;
  • faible vitesse de traitement des requêtes (ne convient pas aux systèmes orientés transactions).

RAID 3. Baie tolérante aux pannes avec transfert de données parallèle et parité (Disques de transfert parallèle avec parité)

Les données sont divisées en sous-blocs au niveau des octets et écrites simultanément sur tous les disques de la matrice sauf un, qui est utilisé pour la parité. L'utilisation de RAID 3 résout le problème de redondance élevée dans RAID 2. La plupart des disques de contrôle utilisés dans RAID niveau 2 sont nécessaires pour déterminer la position du bit défaillant. Mais cela n'est pas nécessaire, puisque la plupart des contrôleurs sont capables de déterminer quand un disque est en panne à l'aide de signaux spéciaux ou d'un codage supplémentaire des informations écrites sur le disque et utilisées pour corriger des pannes aléatoires.

Avantages:

  • vitesse de transfert de données très élevée ;
  • une panne de disque a peu d'effet sur la vitesse de la baie ;

Défauts:

  • mise en œuvre difficile ;
  • faibles performances avec des requêtes de haute intensité pour de petites données.

RAID 4. Baie de disques indépendants tolérante aux pannes avec disque de parité partagé (disques de données indépendants avec disque de parité partagé)

Les données sont décomposées au niveau du bloc. Chaque bloc de données est écrit sur un disque distinct et peut être lu séparément. La parité pour un groupe de blocs est générée en écriture et vérifiée en lecture. Le niveau RAID 4 améliore les performances des petits transferts de données grâce au parallélisme, permettant d'effectuer simultanément plusieurs accès E/S. La principale différence entre RAID 3 et RAID 4 est que dans ce dernier, la répartition des données est effectuée au niveau du secteur plutôt qu'au niveau des bits ou des octets.

Avantages:

  • très grande vitesse de lecture de gros volumes de données ;
  • hautes performances à haute intensité de demandes de lecture de données ;
  • faible surcharge pour mettre en œuvre la redondance.

Défauts:

  • très faibles performances lors de l'écriture des données ;
  • faible vitesse de lecture de petites données avec des requêtes uniques ;
  • asymétrie de performance en lecture et en écriture.

RAID 5. Baie de disques indépendants tolérante aux pannes avec parité distribuée (disques de données indépendants avec blocs de parité distribués)

Ce niveau est similaire au RAID 4, mais contrairement au précédent, la parité est répartie de manière cyclique sur tous les disques de la matrice. Ce changement améliore les performances d'écriture de petites quantités de données sur les systèmes multitâches. Si les opérations d'écriture sont correctement planifiées, il est possible de traiter jusqu'à N/2 blocs en parallèle, où N est le nombre de disques dans le groupe.

Avantages:

  • vitesse d'enregistrement des données élevée;
  • vitesse de lecture des données assez élevée ;
  • hautes performances à haute intensité de requêtes de lecture/écriture de données ;
  • faible surcharge pour mettre en œuvre la redondance.

Défauts:

  • La vitesse de lecture des données est inférieure à celle du RAID 4 ;
  • faible vitesse de lecture/écriture de petites données avec des requêtes uniques ;
  • mise en œuvre assez complexe ;
  • récupération de données complexe.

RAID 6. Baie de disques indépendants tolérante aux pannes avec deux schémas de parité distribués indépendants (disques de données indépendants avec deux schémas de parité distribués indépendants)

Les données sont partitionnées au niveau des blocs, comme dans RAID 5, mais en plus de l'architecture précédente, un deuxième schéma est utilisé pour améliorer la tolérance aux pannes. Cette architecture est tolérante aux doubles pannes. Cependant, lors d'une écriture logique, il y a en réalité six accès au disque, ce qui augmente considérablement le temps de traitement d'une requête.

Avantages:

  • tolérance élevée aux pannes ;
  • rapidité de traitement des demandes assez élevée ;
  • frais généraux relativement faibles pour la mise en œuvre de la redondance.

Défauts:

  • mise en œuvre très complexe ;
  • récupération de données complexes ;
  • vitesse d'écriture des données très faible.

Les contrôleurs RAID modernes vous permettent de combiner différents niveaux RAID. De cette manière, il est possible de mettre en œuvre des systèmes combinant les avantages de différents niveaux, ainsi que des systèmes comportant un grand nombre de disques. Il s'agit généralement d'une combinaison de niveau zéro (suppression) et d'une sorte de niveau de tolérance aux pannes.

RAID 10. Baie tolérante aux pannes avec duplication et traitement parallèle

Cette architecture est une matrice RAID 0 dont les segments sont des matrices RAID 1. Elle combine une tolérance aux pannes et des performances très élevées.

Avantages:

  • tolérance élevée aux pannes ;
  • haute performance.

Défauts:

  • coût très élevé ;
  • mise à l'échelle limitée.

RAID 30. Baie tolérante aux pannes avec transfert de données parallèle et performances accrues.

Il s'agit d'une matrice RAID 0 dont les segments sont des matrices RAID 3. Il allie tolérance aux pannes et hautes performances. Généralement utilisé pour les applications nécessitant de gros volumes de transfert de données en série.

Avantages:

  • tolérance élevée aux pannes ;
  • haute performance.

Défauts:

  • prix élevé;
  • mise à l'échelle limitée.

RAID 50 : matrice tolérante aux pannes avec parité distribuée et performances accrues

Il s'agit d'une matrice RAID 0 dont les segments sont des matrices RAID 5. Il allie tolérance aux pannes et hautes performances pour les applications à forte intensité de requêtes et taux de transfert de données élevés.

Avantages:

  • tolérance élevée aux pannes ;
  • vitesse de transfert de données élevée;
  • grande vitesse de traitement des demandes.

Défauts:

  • prix élevé;
  • mise à l'échelle limitée.

RAID 7 : matrice tolérante aux pannes optimisée pour les performances. (Asynchronie optimisée pour des débits d'E/S élevés ainsi que des taux de transfert de données élevés). RAID 7® est une marque déposée de Storage Computer Corporation (SCC)

Pour comprendre l'architecture RAID 7, regardons ses fonctionnalités :

  1. Toutes les demandes de transfert de données sont traitées de manière asynchrone et indépendante.
  2. Toutes les opérations de lecture/écriture sont mises en cache via le bus X à haut débit.
  3. Le disque de parité peut être placé sur n'importe quel canal.
  4. Le microprocesseur du contrôleur RAID utilise un système d'exploitation en temps réel axé sur les processus de traitement.
  5. Le système a une bonne évolutivité : jusqu'à 12 interfaces hôtes et jusqu'à 48 disques.
  6. système opérateur contrôle les canaux de communication.
  7. Des disques, bus, cartes mères et modules de mémoire SCSI standard sont utilisés.
  8. Un bus X à grande vitesse est utilisé pour fonctionner avec la mémoire cache interne.
  9. La procédure de génération de parité est intégrée au cache.
  10. Les disques connectés au système peuvent être déclarés séparément.
  11. Un agent SNMP peut être utilisé pour gérer et surveiller le système.

Avantages:

  • vitesse de transfert de données élevée et vitesse de traitement des requêtes élevée (1,5 à 6 fois supérieure aux autres niveaux RAID standard) ;
  • haute évolutivité des interfaces hôtes ;
  • la vitesse d'écriture des données augmente avec le nombre de disques dans la baie ;
  • Il n'est pas nécessaire de transmettre des données supplémentaires pour calculer la parité.

Défauts:

  • propriété d'un fabricant ;
  • coût unitaire de volume très élevé ;
  • courte période de garantie;
  • ne peut pas être réparé par l'utilisateur ;
  • il faut utiliser le bloc Alimentation sans interruption pour éviter la perte de données de la mémoire cache.

Regardons maintenant ensemble les niveaux standards pour comparer leurs caractéristiques. La comparaison est faite dans le cadre des architectures mentionnées dans le tableau.

RAIDLe minimum
disques
Besoin
dans les disques
Échec
durabilité
Vitesse
transmission de données
Intensité
traitement
demandes
Pratique
usage
0 2 N très haut
jusqu'à N x 1 disque
Graphiques, vidéo
1 2 2N* R > 1 disque
W = 1 disque
jusqu'à 2 x 1 disque
W = 1 disque
petits serveurs de fichiers
2 7 2N ~RAID3Faibleordinateurs centraux
3 3 N+1 FaibleGraphiques, vidéo
4 3 N+1 RWR = RAID 0
W
serveurs de fichiers
5 3 N+1 RWR = RAID 0
W
serveurs de base de données
6 4 N+2le plus grandfaibleR > 1 disque
W
utilisé extrêmement rarement
7 12 N+1 le plus grandle plus granddifférents types d'applications

Précisions:

  • * - l'option couramment utilisée est prise en compte ;
  • k - nombre de sous-segments ;
  • R - lecture ;
  • W - enregistrement.

Quelques aspects de la mise en œuvre des systèmes RAID

Considérons trois options principales pour la mise en œuvre des systèmes RAID :

  • logiciels (basés sur des logiciels);
  • matériel - basé sur un bus ;
  • matériel - sous-système autonome (basé sur un sous-système).

Il est impossible d’affirmer sans équivoque qu’une mise en œuvre est meilleure qu’une autre. Chaque option d'organisation d'un tableau répond aux besoins de l'un ou l'autre utilisateur, en fonction des capacités financières, du nombre d'utilisateurs et des applications utilisées.

Chacune des implémentations ci-dessus est basée sur l'implémentation code de programme. En réalité, ils diffèrent par l’endroit où ce code est exécuté : dans le processeur central de l’ordinateur (implémentation logicielle) ou dans un processeur spécialisé sur un contrôleur RAID (implémentation matérielle).

Le principal avantage de la mise en œuvre d’un logiciel est son faible coût. Mais en même temps, il présente de nombreux inconvénients : faibles performances, charge sur le processeur central avec travail supplémentaire et trafic de bus accru. Les niveaux RAID simples 0 et 1 sont généralement implémentés par logiciel, car ils ne nécessitent pas de calculs importants. Compte tenu de ces fonctionnalités, les systèmes RAID logiciels sont utilisés dans les serveurs d'entrée de gamme.

Les implémentations matérielles RAID coûtent donc plus cher que les implémentations logicielles, car elles utilisent du matériel supplémentaire pour effectuer les opérations d'E/S. Ce faisant, ils déchargent ou libèrent CPU et le bus système et, par conséquent, vous permettent d'augmenter les performances.

Les implémentations orientées bus sont des contrôleurs RAID qui utilisent le bus haut débit de l'ordinateur sur lequel ils sont installés (dans Dernièrement le bus PCI est généralement utilisé). À leur tour, les implémentations orientées bus peuvent être divisées en bas niveau et haut niveau. Les premiers n'ont généralement pas de puces SCSI et utilisent ce que l'on appelle le port RAID de la carte mère avec un contrôleur SCSI intégré. Dans ce cas, les fonctions de traitement du code RAID et les opérations d'E/S sont réparties entre le processeur du contrôleur RAID et les puces SCSI de la carte mère. Ainsi, le processeur central est libéré du traitement code supplémentaire et le trafic des bus est réduit par rapport à l'option logicielle. Le coût de ces cartes est généralement faible, surtout si elles sont destinées aux systèmes RAID 0 ou 1 (il existe également des implémentations de RAID 3, 5, 10, 30, 50, mais elles sont plus chères), grâce à quoi elles sont progressivement remplaçant les implémentations logicielles du marché des serveurs d’entrée de gamme. Les contrôleurs de haut niveau avec implémentation de bus ont une structure légèrement différente de celle de leurs jeunes frères. Ils prennent en charge toutes les fonctions liées aux E/S et à l'exécution du code RAID. De plus, ils ne dépendent pas tellement de la mise en œuvre de la carte mère et, en règle générale, ont plus de capacités (par exemple, la possibilité de connecter un module pour stocker des informations dans un cache en cas de panne de la carte mère ou de coupure de courant) . Ces contrôleurs sont généralement plus chers que les contrôleurs bas de gamme et sont utilisés dans les serveurs milieu et haut de gamme. En règle générale, ils implémentent les niveaux RAID 0,1, 3, 5, 10, 30, 50. Étant donné que les implémentations orientées bus sont connectées directement au bus PCI interne de l'ordinateur, elles sont les plus productives parmi les systèmes considérés ( lors de l'organisation de systèmes à hôte unique). Les performances maximales de tels systèmes peuvent atteindre 132 Mo/s (PCI 32 bits) ou 264 Mo/s (PCI 64 bits) à une fréquence de bus de 33 MHz.

Outre les avantages énumérés, l'architecture orientée bus présente les inconvénients suivants :

  • dépendance vis-à-vis du système d'exploitation et de la plate-forme ;
  • évolutivité limitée ;
  • capacités limitées pour organiser des systèmes tolérants aux pannes.

Tous ces inconvénients peuvent être évités en utilisant des sous-systèmes autonomes. Ces systèmes ont une organisation externe totalement autonome et, en principe, constituent un ordinateur distinct utilisé pour organiser les systèmes de stockage d'informations. De plus, si la technologie des canaux à fibre optique se développe avec succès, les performances des systèmes autonomes ne seront en aucun cas inférieures à celles des systèmes orientés bus.

Généralement, un contrôleur externe est placé dans un rack séparé et, contrairement aux systèmes avec une organisation en bus, peut avoir un grand nombre de canaux d'entrée/sortie, y compris des canaux hôtes, ce qui permet de connecter plusieurs ordinateurs hôtes au système et d'organiser un cluster. systèmes. Dans les systèmes dotés d'un contrôleur autonome, des contrôleurs de secours automatique peuvent être implémentés.

L’un des inconvénients des systèmes autonomes est leur coût élevé.

Compte tenu de ce qui précède, nous notons que les contrôleurs autonomes sont généralement utilisés pour mettre en œuvre des systèmes de stockage de données et de cluster de haute capacité.

Les disques durs jouent un rôle important dans un ordinateur. Il est stocké sur eux diverses informations utilisateur, le système d'exploitation est lancé à partir de lui, etc. Les disques durs ne durent pas éternellement et disposent d’une certaine marge de sécurité. Et chaque disque dur a ses propres caractéristiques.

Très probablement, vous avez entendu à un moment donné que les soi-disant matrices RAID peuvent être créées à partir de disques durs ordinaires. Cela est nécessaire pour améliorer les performances des disques et garantir la fiabilité du stockage des informations. De plus, ces tableaux peuvent avoir leurs propres numéros (0, 1, 2, 3, 4, etc.). Dans cet article, nous vous parlerons des matrices RAID.

RAID est un ensemble de disques durs ou une baie de disques. Comme nous l'avons déjà dit, un tel tableau assure un stockage fiable des données et augmente également la vitesse de lecture ou d'écriture des informations. Il existe différentes configurations de matrice RAID, marquées des numéros 1, 2, 3, 4, etc. et diffèrent par les fonctions qu'ils remplissent. En utilisant de telles baies avec la configuration 0, vous obtiendrez des améliorations significatives des performances. Une seule matrice RAID garantit une sécurité totale de vos données, puisque si l'un des disques tombe en panne, les informations se retrouveront sur le deuxième disque dur.

En fait, matrice RAID– il s’agit de 2 ou n nombres de disques durs connectés à la carte mère, qui prennent en charge la possibilité de créer des raids. Par programme, vous pouvez sélectionner la configuration RAID, c'est-à-dire spécifier comment ces mêmes disques doivent fonctionner. Pour ce faire, vous devrez spécifier les paramètres dans le BIOS.

Pour installer la baie, nous avons besoin d'une carte mère prenant en charge la technologie RAID, de 2 disques durs identiques (à tous égards), que nous connectons à la carte mère. Dans le BIOS, vous devez définir le paramètre Configuration SATA: RAID. Lorsque l'ordinateur démarre, appuyez sur la combinaison de touches CTR-I, et déjà là, nous configurons le RAID. Et après cela, nous installons Windows comme d'habitude.

Il convient de prêter attention au fait que si vous créez ou supprimez un raid, toutes les informations présentes sur les disques sont supprimées. Vous devez donc d’abord en faire une copie.

Regardons les configurations RAID dont nous avons déjà parlé. Il en existe plusieurs : RAID 1, RAID 2, RAID 3, RAID 4, RAID 5, RAID 6, etc.

RAID-0 (entrelacement), également connu sous le nom de tableau de niveau zéro ou « tableau nul ». Ce niveau augmente la vitesse de travail avec les disques d'un ordre de grandeur, mais n'offre pas de tolérance aux pannes supplémentaire. En fait, cette configuration est purement formellement une matrice RAID, car avec cette configuration il n'y a pas de redondance. L'enregistrement dans un tel paquet s'effectue par blocs, écrits alternativement dans différents disques tableau. Le principal inconvénient ici est le manque de fiabilité du stockage des données : si l'un des disques de la baie tombe en panne, toutes les informations sont détruites. Pourquoi cela arrive-t-il? Cela se produit parce que chaque fichier peut être écrit en blocs sur plusieurs disques durs à la fois, et si l'un d'entre eux tombe en panne, l'intégrité du fichier est violée et, par conséquent, il n'est pas possible de le restaurer. Si vous accordez de l'importance aux performances et effectuez régulièrement des sauvegardes, ce niveau de baie peut être utilisé sur votre PC domestique, ce qui entraînera une augmentation notable des performances.

RAID-1 (mise en miroir)– « mode miroir ». Vous pouvez appeler ce niveau de matrices RAID le niveau paranoïaque : ce mode n'augmente pratiquement pas les performances du système, mais protège absolument vos données contre les dommages. Même si l'un des disques tombe en panne, une copie exacte de celui perdu sera stockée sur un autre disque. Ce mode, comme le premier, peut également être mis en œuvre sur un PC domestique pour les personnes qui apprécient extrêmement les données sur leurs disques.

Lors de la construction de ces tableaux, un algorithme de récupération d'informations est utilisé à l'aide des codes de Hamming (un ingénieur américain qui a développé cet algorithme en 1950 pour corriger les erreurs de fonctionnement des ordinateurs électromécaniques). Pour assurer le fonctionnement de ce contrôleur RAID, deux groupes de disques sont créés - un pour stocker les données, le deuxième groupe pour stocker les codes de correction d'erreurs.

Ce type de RAID est devenu moins répandu dans les systèmes domestiques en raison de la redondance excessive du nombre de disques durs - par exemple, dans une matrice de sept disques durs, seuls quatre seront alloués aux données. À mesure que le nombre de disques augmente, la redondance diminue, comme le reflète le tableau ci-dessous.

Le principal avantage du RAID 2 est la possibilité de corriger les erreurs à la volée sans réduire la vitesse d'échange des données entre la matrice de disques et le processeur central.

RAID 3 et RAID 4

Ces deux types de baies de disques sont de conception très similaire. Les deux utilisent plusieurs disques durs pour stocker les informations, dont l'un est utilisé exclusivement pour stocker les sommes de contrôle. Trois disques durs suffisent pour créer du RAID 3 et du RAID 4. Contrairement au RAID 2, la récupération des données à la volée n'est pas possible : les informations sont restaurées après le remplacement d'un disque dur défaillant sur une période donnée.

La différence entre RAID 3 et RAID 4 réside dans le niveau de partitionnement des données. Dans RAID 3, les informations sont décomposées en octets individuels, ce qui entraîne un ralentissement important lors de l'écriture/lecture d'un grand nombre de petits fichiers. RAID 4 divise les données en blocs séparés dont la taille ne dépasse pas la taille d'un secteur du disque. En conséquence, la vitesse de traitement des petits fichiers augmente, ce qui est essentiel pour les ordinateurs personnels. C'est pour cette raison que le RAID 4 est devenu plus répandu.

Un inconvénient important des baies considérées est la charge accrue sur le disque dur destiné au stockage des sommes de contrôle, ce qui réduit considérablement ses ressources.

RAID-5. La matrice dite tolérante aux pannes de disques indépendants avec stockage distribué des sommes de contrôle. Cela signifie que sur une matrice de n disques, n-1 disque sera alloué au stockage direct des données, et le dernier stockera la somme de contrôle de l'itération de n-1 stripe. Pour expliquer plus clairement, imaginons que nous devions écrire un fichier. Il sera divisé en parties de même longueur et commencera alternativement à être écrit de manière cyclique sur tous les n-1 disques. Une somme de contrôle d'octets de parties de données de chaque itération sera écrite sur le dernier disque, où la somme de contrôle sera implémentée par une opération XOR au niveau du bit.

Il convient de prévenir tout de suite que si l'un des disques tombe en panne, il passera tous en mode d'urgence, ce qui réduira considérablement les performances, car Pour reconstituer le fichier, des manipulations inutiles seront effectuées pour restaurer ses parties « manquantes ». Si deux disques ou plus tombent en panne en même temps, les informations qui y sont stockées ne peuvent pas être restaurées. En général, la mise en œuvre d'une matrice RAID de niveau 5 offre des vitesses d'accès assez élevées, un accès parallèle à divers fichiers et une bonne tolérance aux pannes.

Dans une large mesure, le problème ci-dessus est résolu en construisant des matrices utilisant le schéma RAID 6. Dans ces structures, un volume de mémoire égal au volume de deux disques durs est alloué pour stocker les sommes de contrôle, qui sont également réparties de manière cyclique et uniforme sur différents disques. . Au lieu d'une, deux sommes de contrôle sont calculées, ce qui garantit l'intégrité des données en cas de panne simultanée de deux disques durs de la baie.

Les avantages du RAID 6 sont un degré élevé de sécurité des informations et une perte de performances moindre qu'en RAID 5 lors de la récupération des données lors du remplacement d'un disque endommagé.

L'inconvénient du RAID 6 est que la vitesse globale d'échange de données est réduite d'environ 10 % en raison d'une augmentation du volume des calculs de somme de contrôle nécessaires, ainsi qu'en raison d'une augmentation de la quantité d'informations écrites/lues.

Types RAID combinés

En plus des principaux types évoqués ci-dessus, diverses combinaisons d'entre eux sont largement utilisées, qui compensent certains inconvénients du RAID simple. En particulier, l'utilisation des schémas RAID 10 et RAID 0+1 est largement répandue. Dans le premier cas, deux matrices en miroir sont combinées en RAID 0, dans le second, au contraire, deux RAID 0 sont combinées en un miroir. Dans les deux cas, les performances accrues du RAID 0 s'ajoutent à la sécurité des informations du RAID 1.

Souvent afin d'augmenter le niveau de protection une information important Des schémas de construction RAID 51 ou RAID 61 sont utilisés - la mise en miroir de matrices déjà hautement protégées garantit une sécurité exceptionnelle des données en cas de panne. Cependant, il n’est pas pratique de mettre en œuvre de tels réseaux à la maison en raison d’une redondance excessive.

Construire une baie de disques - de la théorie à la pratique

Un contrôleur RAID spécialisé est responsable de la création et de la gestion du fonctionnement de tout RAID. Au grand soulagement de l'utilisateur moyen ordinateur personnel, dans la plupart des cartes mères modernes, ces contrôleurs sont déjà implémentés au niveau du chipset Southbridge. Ainsi, pour constituer une matrice de disques durs, il vous suffit d'en acheter le nombre requis et de déterminer le type RAID souhaité dans la section appropriée des paramètres du BIOS. Après cela, au lieu de plusieurs disques durs dans le système, vous n'en verrez qu'un, qui peut être divisé en partitions et lecteurs logiques si vous le souhaitez. Veuillez noter que ceux qui utilisent encore Windows XP devront installer un pilote supplémentaire.

Et enfin, encore un conseil : pour créer un RAID, achetez des disques durs de même capacité, du même fabricant, du même modèle, et de préférence du même lot. Ils seront alors équipés des mêmes ensembles logiques et le fonctionnement de la matrice de ces disques durs sera le plus stable.

Mots clés: , https://site/wp-content/uploads/2017/01/RAID1-400x333.jpg 333 400 Léonid Borislavski /wp-content/uploads/2018/05/logo.pngLéonid Borislavski 2017-01-16 08:57:09 2017-01-16 07:12:59 Que sont les matrices RAID et pourquoi sont-elles nécessaires ?

Toutes les cartes mères modernes sont équipées d'un contrôleur RAID intégré, et les modèles haut de gamme disposent même de plusieurs contrôleurs RAID intégrés. La question de savoir dans quelle mesure les contrôleurs RAID intégrés sont demandés par les utilisateurs à domicile est une autre question. Dans tous les cas, une carte mère moderne offre à l'utilisateur la possibilité de créer une matrice RAID de plusieurs disques. Cependant, tous les utilisateurs à domicile ne savent pas comment créer une matrice RAID, quel niveau de matrice choisir et n'ont généralement aucune idée des avantages et des inconvénients de l'utilisation de matrices RAID.
Dans cet article, nous donnerons de brèves recommandations sur la création de matrices RAID sur les PC domestiques et sur exemple spécifique Montrons comment vous pouvez tester indépendamment les performances d'une matrice RAID.

Histoire de la création

Le terme «matrice RAID» est apparu pour la première fois en 1987, lorsque les chercheurs américains Patterson, Gibson et Katz de l'Université de Californie à Berkeley ont décrit dans leur article «A Case for Redundant Arrays of Inexpensive Discs, RAID» comment de cette manière, vous pouvez combiner plusieurs disques durs à faible coût en un seul périphérique logique afin que la capacité et les performances du système soient augmentées, et en cas de panne disques séparés n’a pas conduit à la défaillance de l’ensemble du système.

Plus de 20 ans se sont écoulés depuis la publication de cet article, mais la technologie de construction de matrices RAID n'a pas perdu de sa pertinence aujourd'hui. La seule chose qui a changé depuis, c'est le décodage de l'acronyme RAID. Le fait est qu'au départ, les matrices RAID n'étaient pas du tout construites sur des disques bon marché, c'est pourquoi le mot bon marché (peu coûteux) a été remplacé par indépendant (indépendant), ce qui était plus vrai.

Principe de fonctionnement

Ainsi, RAID est une matrice redondante de disques indépendants (Redundant Arrays of Independent Discs), chargée d'assurer la tolérance aux pannes et d'augmenter les performances. La tolérance aux pannes est obtenue grâce à la redondance. Autrement dit, une partie de la capacité de l'espace disque est allouée à des fins officielles, devenant inaccessible à l'utilisateur.

Des performances accrues du sous-système de disque sont assurées par le fonctionnement simultané de plusieurs disques et, en ce sens, plus il y a de disques dans la matrice (jusqu'à une certaine limite), mieux c'est.

Le fonctionnement conjoint des disques d'une matrice peut être organisé en utilisant un accès parallèle ou indépendant. Avec un accès parallèle, l'espace disque est divisé en blocs (bandes) pour l'enregistrement des données. De même, les informations à écrire sur le disque sont divisées en mêmes blocs. Lors de l'enregistrement, des blocs individuels sont écrits sur différents disques, plusieurs blocs étant écrits sur divers disques se produit simultanément, ce qui entraîne une augmentation des performances dans les opérations d'écriture. Les informations nécessaires sont également lues simultanément dans des blocs séparés à partir de plusieurs disques, ce qui augmente également les performances proportionnellement au nombre de disques dans la matrice.

Il convient de noter que le modèle d'accès parallèle n'est mis en œuvre que si la taille de la demande d'écriture de données est supérieure à la taille du bloc lui-même. Sinon, l’enregistrement parallèle de plusieurs blocs est quasiment impossible. Imaginons une situation où la taille d'un bloc individuel est de 8 Ko et la taille d'une demande d'écriture de données est de 64 Ko. Dans ce cas, les informations sources sont découpées en huit blocs de 8 Ko chacun. Si vous disposez d'une baie de quatre disques, vous pouvez écrire quatre blocs, soit 32 Ko, à la fois. Évidemment, dans l'exemple considéré, les vitesses d'écriture et de lecture seront quatre fois supérieures à celles d'un seul disque. Cela n'est vrai que dans une situation idéale, mais la taille de la requête n'est pas toujours un multiple de la taille du bloc et du nombre de disques dans la baie.

Si la taille des données enregistrées est inférieure à la taille du bloc, un modèle fondamentalement différent est alors mis en œuvre : l'accès indépendant. De plus, ce modèle peut également être utilisé lorsque la taille des données en cours d’écriture est supérieure à la taille d’un bloc. Avec un accès indépendant, toutes les données d'une seule requête sont écrites sur un disque séparé, c'est-à-dire que la situation est identique à celle d'un travail avec un seul disque. L'avantage du modèle d'accès indépendant est que si plusieurs requêtes d'écriture (lecture) arrivent simultanément, elles seront toutes exécutées sur des disques distincts indépendamment les unes des autres. Cette situation est typique, par exemple, pour les serveurs.

Conformément à divers types accès, il existe différents types de matrices RAID, généralement caractérisées par des niveaux RAID. Outre le type d'accès, les niveaux RAID diffèrent dans la manière dont ils accueillent et génèrent des informations redondantes. Les informations redondantes peuvent être placées sur un disque dédié ou réparties sur tous les disques. Il existe de nombreuses façons de générer ces informations. Le plus simple d'entre eux est la duplication complète (redondance à 100 %) ou la mise en miroir. De plus, des codes de correction d'erreurs sont utilisés, ainsi que des calculs de parité.

Niveaux RAID

Actuellement, plusieurs niveaux RAID peuvent être considérés comme standardisés : RAID 0, RAID 1, RAID 2, RAID 3, RAID 4, RAID 5 et RAID 6.

Différentes combinaisons de niveaux RAID sont également utilisées, ce qui permet de combiner leurs avantages. Il s'agit généralement d'une combinaison d'une sorte de niveau de tolérance aux pannes et d'un niveau zéro utilisé pour améliorer les performances (RAID 1+0, RAID 0+1, RAID 50).

Notez que tous les contrôleurs RAID modernes prennent en charge la fonction JBOD (Just a Bench Of Disks), qui n'est pas destinée à créer des matrices - elle offre la possibilité de connecter des disques individuels au contrôleur RAID.

A noter que les contrôleurs RAID intégrés aux cartes mères pour PC domestiques ne supportent pas tous les niveaux RAID. Les contrôleurs RAID à double port ne prennent en charge que les niveaux 0 et 1, tandis que les contrôleurs RAID dotés de plus de ports (par exemple, le contrôleur RAID à 6 ports intégré au pont sud du chipset ICH9R/ICH10R) prennent également en charge les niveaux 10 et 5.

De plus, si l'on parle de cartes mères basées sur des chipsets Intel, elles implémentent également la fonction Intel Matrix RAID, qui permet de créer simultanément des matrices RAID de plusieurs niveaux sur plusieurs disques durs, en allouant une partie de l'espace disque à chacun d'eux.

RAID0

Le niveau RAID 0, à proprement parler, n'est pas une matrice redondante et, par conséquent, ne permet pas un stockage de données fiable. Néanmoins, ce niveau est activement utilisé dans les cas où il est nécessaire d'assurer des performances élevées du sous-système de disque. Lors de la création d'une matrice RAID de niveau 0, les informations sont divisées en blocs (parfois ces blocs sont appelés bandes), qui sont écrits sur des disques séparés, c'est-à-dire qu'un système avec accès parallèle est créé (si, bien sûr, la taille des blocs le permet ). En autorisant les E/S simultanées à partir de plusieurs disques, RAID 0 offre les vitesses de transfert de données les plus rapides et une efficacité maximale de l'espace disque car aucun espace de stockage n'est requis pour les sommes de contrôle. La mise en œuvre de ce niveau est très simple. RAID 0 est principalement utilisé dans les zones où un transfert rapide de grandes quantités de données est requis.

RAID 1 (disque en miroir)

Le niveau RAID 1 est une matrice de deux disques avec une redondance à 100 %. Autrement dit, les données sont simplement complètement dupliquées (mises en miroir), grâce à quoi un niveau très élevé de fiabilité (ainsi que de coût) est atteint. Notez que pour implémenter le niveau 1, il n’est pas nécessaire de partitionner au préalable les disques et les données en blocs. Dans le cas le plus simple, deux disques contiennent les mêmes informations et constituent un seul disque logique. Si un disque tombe en panne, ses fonctions sont assurées par un autre (ce qui est absolument transparent pour l'utilisateur). Récupération de la baie en cours copie simple. De plus, ce niveau double la vitesse de lecture des informations, puisque cette opération peut être effectuée simultanément à partir de deux disques. Ce type de système de stockage d'informations est principalement utilisé dans les cas où le coût de la sécurité des données est bien supérieur au coût de mise en œuvre d'un système de stockage.

RAID5

RAID 5 est une matrice de disques tolérante aux pannes avec stockage de somme de contrôle distribué. Lors de l'enregistrement, le flux de données est divisé en blocs (bandes) au niveau des octets et écrit simultanément sur tous les disques de la matrice dans un ordre cyclique.

Supposons que le tableau contienne n disques et la taille des bandes d. Pour chaque portion de n-1 rayures, la somme de contrôle est calculée p.

Bande j 1 enregistré sur le premier disque, stripe j 2- sur le deuxième et ainsi de suite jusqu'à la rayure dn-1, qui est écrit dans ( n–1)ème disque. Suivant n-la somme de contrôle du disque est écrite pn, et le processus est répété cycliquement à partir du premier disque sur lequel la bande est écrite dn.

Processus d'enregistrement (n-1) les rayures et leur somme de contrôle sont produites simultanément pour tous n disques.

La somme de contrôle est calculée à l'aide d'une opération ou exclusif au niveau du bit (XOR) appliquée aux blocs de données en cours d'écriture. Donc, s'il y a n disques durs, d- bloc de données (stripe), puis la somme de contrôle est calculée à l'aide de la formule suivante :

pn=d1 j 2 ... ré 1–1.

En cas de panne d'un disque, les données qu'il contient peuvent être restaurées à l'aide des données de contrôle et des données restantes sur les disques de travail.

A titre d'illustration, considérons des blocs de quatre bits. Qu'il n'y ait que cinq disques pour stocker les données et enregistrer les sommes de contrôle. S'il existe une séquence de bits 1101 0011 1100 1011, divisée en blocs de quatre bits, alors pour calculer la somme de contrôle, il est nécessaire d'effectuer l'opération au niveau du bit suivante :

1101 0011 1100 1011 = 1001.

Ainsi, la somme de contrôle écrite sur le cinquième disque est de 1001.

Si l'un des disques, par exemple le quatrième, tombe en panne, alors le bloc j 4= 1100 ne sera pas disponible lors de la lecture. Cependant, sa valeur peut être facilement restaurée à l'aide de la somme de contrôle et des valeurs des blocs restants en utilisant la même opération « OU exclusif » :

d4 = d1 j 2j 4p5.

Dans notre exemple nous obtenons :

d4 = (1101) (0011) (1100) (1011) = 1001.

Dans le cas du RAID 5, tous les disques de la matrice ont la même taille, mais la capacité totale du sous-système de disque disponible pour l'écriture devient exactement un disque plus petit. Par exemple, si cinq disques ont une taille de 100 Go, la taille réelle de la baie est de 400 Go, car 100 Go sont alloués aux informations de contrôle.

RAID 5 peut être construit sur trois disques durs ou plus. À mesure que le nombre de disques durs dans une baie augmente, sa redondance diminue.

RAID 5 dispose d'une architecture d'accès indépendante, qui permet d'effectuer plusieurs lectures ou écritures simultanément.

RAID10

Le niveau RAID 10 est une combinaison des niveaux 0 et 1. La configuration minimale requise pour ce niveau est de quatre disques. Dans une matrice RAID 10 de quatre disques, ils sont combinés par paires dans des matrices de niveau 0, et ces deux matrices en tant que disques logiques sont combinées dans une matrice de niveau 1. Une autre approche est également possible : initialement, les disques sont combinés en matrices en miroir de niveau 1, puis les disques logiques basés sur ces matrices - dans une matrice de niveau 0.

RAID matriciel Intel

Les matrices RAID considérées des niveaux 5 et 1 sont rarement utilisées à la maison, ce qui est principalement dû au coût élevé de telles solutions. Le plus souvent, pour les PC domestiques, une matrice de niveau 0 sur deux disques est utilisée. Comme nous l'avons déjà noté, le niveau RAID 0 ne fournit pas de stockage de données sécurisé, et les utilisateurs finaux sont donc confrontés à un choix : créer une matrice RAID de niveau 0 rapide mais peu fiable ou, en doublant le coût de l'espace disque, RAID- une matrice de niveau 1 qui fournit un stockage de données fiable, mais n'offre pas d'avantages significatifs en termes de performances.

Pour résoudre ce problème difficile, Intel a développé la technologie Intel Matrix Storage, qui combine les avantages des baies de niveau 0 et de niveau 1 sur seulement deux disques physiques. Et afin de souligner que dans ce cas nous ne parlons pas seulement d'une matrice RAID, mais d'une matrice qui combine à la fois des disques physiques et logiques, le mot « matrice » est utilisé dans le nom de la technologie au lieu du mot « matrice » ».

Alors, qu'est-ce qu'une matrice RAID à deux disques utilisant la technologie Intel Matrix Storage ? L'idée de base est que si le système dispose de plusieurs disques durs et d'une carte mère avec un chipset Intel prenant en charge la technologie Intel Matrix Storage, il est possible de diviser l'espace disque en plusieurs parties, dont chacune fonctionnera comme une matrice RAID distincte.

Regardons un exemple simple de matrice RAID composée de deux disques de 120 Go chacun. N'importe lequel des disques peut être divisé en deux disques logiques, par exemple 40 et 80 Go. Ensuite, deux disques logiques de même taille (par exemple, 40 Go chacun) peuvent être combinés dans une matrice RAID de niveau 1, et les disques logiques restants dans une matrice RAID de niveau 0.

En principe, à partir de deux disques physiques, il est également possible de créer uniquement une ou deux matrices RAID de niveau 0, mais il est impossible d'obtenir uniquement des matrices de niveau 1. Autrement dit, si le système ne dispose que de deux disques, la technologie Intel Matrix Storage vous permet de créer les types de matrices RAID suivants :

  • une matrice de niveau 0 ;
  • deux matrices de niveau 0 ;
  • matrice de niveau 0 et matrice de niveau 1.

Si le système dispose de trois disques durs, les types de matrices RAID suivants peuvent être créés :

  • une matrice de niveau 0 ;
  • une matrice de niveau 5 ;
  • deux matrices de niveau 0 ;
  • deux matrices de niveau 5 ;
  • matrice de niveau 0 et matrice de niveau 5.

Si le système dispose de quatre disques durs, il est alors possible de créer une matrice RAID de niveau 10, ainsi que des combinaisons de niveau 10 et de niveau 0 ou 5.

De la théorie à la pratique

Si nous parlons d'ordinateurs personnels, les plus populaires sont les matrices RAID de niveaux 0 et 1. L'utilisation de matrices RAID de trois disques ou plus dans les PC domestiques est plutôt une exception à la règle. Cela est dû au fait que, d'une part, le coût des matrices RAID augmente proportionnellement au nombre de disques impliqués, et d'autre part, pour les ordinateurs personnels, la capacité de la matrice de disques est d'une importance primordiale. , et non ses performances et sa fiabilité.

Par conséquent, à l'avenir, nous considérerons les niveaux RAID 0 et 1 basés sur seulement deux disques. L'objectif de notre recherche sera de comparer les performances et les fonctionnalités des matrices RAID de niveaux 0 et 1, créées sur la base de plusieurs contrôleurs RAID intégrés, ainsi que d'étudier la dépendance des caractéristiques de vitesse de la matrice RAID sur la bande. taille.

Le fait est que même si théoriquement, lors de l'utilisation d'une matrice RAID de niveau 0, la vitesse de lecture et d'écriture devrait doubler, en pratique, l'augmentation des caractéristiques de vitesse est beaucoup moins modeste et varie selon les différents contrôleurs RAID. Il en va de même pour une matrice RAID de niveau 1 : même si en théorie la vitesse de lecture devrait doubler, en pratique, ce n'est pas aussi fluide.

Pour nos tests comparatifs de contrôleur RAID, nous avons utilisé la carte mère Gigabyte GA-EX58A-UD7. Cette carte est basée sur le chipset Intel X58 Express avec le Southbridge ICH10R, qui dispose d'un contrôleur RAID intégré pour six ports SATA II, qui prend en charge l'organisation de matrices RAID de niveaux 0, 1, 10 et 5 avec la fonction Intel Matrix RAID. De plus, la carte Gigabyte GA-EX58A-UD7 intègre le contrôleur RAID GIGABYTE SATA2, qui dispose de deux ports SATA II avec la possibilité d'organiser des matrices RAID de niveaux 0, 1 et JBOD.

La carte GA-EX58A-UD7 contient également un contrôleur SATA III intégré Marvell 9128, sur la base duquel deux ports SATA III sont implémentés avec la possibilité d'organiser des matrices RAID de niveaux 0, 1 et JBOD.

Ainsi, la carte Gigabyte GA-EX58A-UD7 dispose de trois contrôleurs RAID distincts, sur la base desquels vous pouvez créer des matrices RAID de niveaux 0 et 1 et les comparer entre elles. Rappelons que la norme SATA III est rétrocompatible avec la norme SATA II, donc basée sur le contrôleur Marvell 9128, qui prend en charge les disques avec Interface SATA III, vous pouvez également créer des matrices RAID à l'aide de disques dotés d'une interface SATA II.

Le banc d'essai avait la configuration suivante :

  • processeur - Intel Core i7-965 Édition Extrême;
  • carte mère - Gigabyte GA-EX58A-UD7 ;
  • Version du BIOS - F2a ;
  • disques durs - deux disques Western Digital WD1002FBYS, un disque Western Digital WD3200AAKS ;
  • contrôleurs RAID intégrés :
  • ICH10R,
  • GIGABYTE SATA2,
  • Marvell 9128 ;
  • mémoire - DDR3-1066 ;
  • capacité de mémoire - 3 Go (trois modules de 1 024 Mo chacun);
  • mode de fonctionnement de la mémoire - DDR3-1333, mode de fonctionnement à trois canaux ;
  • carte vidéo - Gigabyte GeForce GTS295 ;
  • alimentation - Tagan 1300W.

Les tests ont été effectués sous le contrôle du système d'exploitation Microsoft Windows 7 Ultime (32 bits). Le système d'exploitation a été installé sur un disque Western Digital WD3200AAKS, qui était connecté au port du contrôleur SATA II intégré au Southbridge ICH10R. La matrice RAID a été assemblée sur deux disques WD1002FBYS avec une interface SATA II.

Pour mesurer les caractéristiques de vitesse des matrices RAID créées, nous avons utilisé l'utilitaire IOmeter, qui est la norme industrielle pour mesurer les performances. systèmes de disques.

Utilitaire IOmeter

Puisque nous avons conçu cet article comme une sorte de guide d'utilisation pour créer et tester des matrices RAID, il serait logique de commencer par une description de l'utilitaire IOmeter (Input/Output Meter), qui, comme nous l'avons déjà noté, est une sorte de norme industrielle pour mesurer les performances des systèmes de disques. Cet utilitaire est gratuit et peut être téléchargé depuis http://www.iometer.org.

L'utilitaire IOmeter est un test synthétique et vous permet de travailler avec des disques durs qui ne sont pas partitionnés en partitions logiques, vous pouvez donc tester les disques quelle que soit la structure des fichiers et réduire à zéro l'influence du système d'exploitation.

Lors des tests, il est possible de créer un modèle d'accès spécifique, ou « modèle », qui vous permet de spécifier l'exécution disque dur opérations spécifiques. Si vous créez un modèle d'accès spécifique, vous êtes autorisé à modifier les paramètres suivants :

  • taille de la demande de transfert de données ;
  • distribution aléatoire/séquentielle (en %) ;
  • répartition des opérations de lecture/écriture (en %) ;
  • Nombre d'opérations d'E/S individuelles exécutées en parallèle.

L'utilitaire IOmeter ne nécessite pas d'installation sur un ordinateur et se compose de deux parties : IOmeter lui-même et Dynamo.

IOmeter est une partie de surveillance du programme avec un utilisateur défini interface graphique, vous permettant d'effectuer tous les réglages nécessaires. Dynamo est un générateur de charge sans interface. Chaque fois que vous exécutez IOmeter.exe, le générateur de charge Dynamo.exe démarre automatiquement.

Pour commencer à travailler avec le programme IOmeter, exécutez simplement le fichier IOmeter.exe. Cela ouvre la fenêtre principale du programme IOmeter (Fig. 1).

Riz. 1. Fenêtre principale du programme IOmeter

Il convient de noter que l'utilitaire IOmeter vous permet de tester non seulement les systèmes de disques locaux (DAS), mais également les périphériques de stockage en réseau (NAS). Par exemple, il peut être utilisé pour tester les performances du sous-système de disque d'un serveur (serveur de fichiers) à l'aide de plusieurs clients réseau. Par conséquent, certains signets et outils de la fenêtre de l'utilitaire IOmeter se rapportent spécifiquement à paramètres réseau programmes. Il est clair que lors du test des disques et des matrices RAID, nous n'aurons pas besoin de ces capacités du programme et nous n'expliquerons donc pas le but de tous les onglets et outils.

Ainsi, lorsque vous démarrez le programme IOmeter, une arborescence de tous les générateurs de charge en cours d'exécution (instances Dynamo) sera affichée sur le côté gauche de la fenêtre principale (dans la fenêtre Topologie). Chaque instance du générateur de charge Dynamo en cours d'exécution est appelée un gestionnaire. De plus, le programme IOmeter est multithread et chaque thread individuel exécuté sur une instance du générateur de charge Dynamo est appelé Worker. Le nombre de Workers en cours d'exécution correspond toujours au nombre de cœurs de processeur logique.

Dans notre exemple, nous utilisons un seul ordinateur avec processeur quatre coeurs, qui prend en charge la technologie Hyper-Threading, donc un seul gestionnaire (une instance Dynamo) et huit (selon le nombre de cœurs de processeur logiques) Workers sont lancés.

En fait, pour tester les disques dans cette fenêtre, il n'est pas nécessaire de modifier ou d'ajouter quoi que ce soit.

Si vous sélectionnez le nom de l'ordinateur avec la souris dans l'arborescence des instances Dynamo en cours d'exécution, alors dans la fenêtre Cible sur l'onglet Cible du disque Tous les disques, baies de disques et autres lecteurs (y compris les lecteurs réseau) installés sur l'ordinateur seront affichés. Ce sont les lecteurs avec lesquels IOmeter peut fonctionner. Les supports peuvent être marqués en jaune ou en bleu. Les partitions logiques des supports sont marquées en jaune et les périphériques physiques sur lesquels aucune partition logique n'est créée sont marqués en bleu. Une section logique peut être barrée ou non. Le fait est que pour que le programme fonctionne avec une partition logique, il doit d'abord être préparé en créant dessus un fichier spécial, de taille égale à la capacité de l'ensemble de la partition logique. Si la partition logique est barrée, cela signifie que la section n'est pas encore préparée pour le test (elle sera préparée automatiquement lors de la première étape du test), mais si la section n'est pas barrée, cela signifie qu'un fichier a déjà été créé sur la partition logique, complètement prêt pour les tests.

Notez que, malgré la possibilité de travailler avec des partitions logiques, il est optimal de tester les disques qui ne sont pas partitionnés en partitions logiques. Vous pouvez supprimer une partition de disque logique très simplement - via un composant logiciel enfichable Gestion de disque. Pour y accéder, faites un clic droit sur l'icône Ordinateur sur le bureau et sélectionnez l'élément dans le menu qui s'ouvre Gérer. Dans la fenêtre qui s'ouvre Gestion d'ordinateur sur le côté gauche, vous devez sélectionner l'élément Stockage, et dedans - Gestion de disque. Après cela, sur le côté droit de la fenêtre Gestion d'ordinateur Tous les lecteurs connectés seront affichés. En faisant un clic droit sur le lecteur souhaité et en sélectionnant l'élément dans le menu qui s'ouvre Supprimer le volume..., vous pouvez supprimer une partition logique sur un disque physique. Rappelons que lorsque vous supprimez une partition logique d'un disque, toutes les informations qu'elle contient sont supprimées sans possibilité de récupération.

En général, à l'aide de l'utilitaire IOmeter, vous ne pouvez tester que des disques ou des baies de disques vierges. Autrement dit, vous ne pouvez pas tester un disque ou une baie de disques sur lequel le système d'exploitation est installé.

Revenons donc à la description de l'utilitaire IOmeter. Dans la fenêtre Cible sur l'onglet Cible du disque vous devez sélectionner le disque (ou la baie de disques) qui sera testé. Ensuite, vous devez ouvrir l'onglet Accéder aux spécifications(Fig. 2), sur laquelle il sera possible de déterminer le scénario de test.

Riz. 2. Accédez à l'onglet Spécifications de l'utilitaire IOmeter

Dans la fenêtre Spécifications d'accès global Il existe une liste de scripts de test prédéfinis qui peuvent être attribués au gestionnaire de démarrage. Cependant, nous n’aurons pas besoin de ces scripts, ils peuvent donc tous être sélectionnés et supprimés (il y a un bouton pour cela). Supprimer). Après cela, cliquez sur le bouton Nouveau pour créer un nouveau script de test. Dans la fenêtre qui s'ouvre Modifier la spécification d'accès Vous pouvez définir le scénario de démarrage pour un disque ou une matrice RAID.

Supposons que nous voulions connaître la dépendance de la vitesse de lecture et d'écriture séquentielles (linéaires) sur la taille du bloc de demande de transfert de données. Pour ce faire, nous devons générer une séquence de scripts de démarrage en mode lecture séquentielle avec différentes tailles de blocs, puis une séquence de scripts de démarrage en mode écriture séquentielle avec différentes tailles de blocs. En règle générale, les tailles de bloc sont choisies sous forme d'une série, dont chaque membre est deux fois plus grand que le précédent, et le premier membre de cette série fait 512 octets. Autrement dit, les tailles de bloc sont les suivantes : 512 octets, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Ko, 1 Mo. Il ne sert à rien de rendre la taille de bloc supérieure à 1 Mo pour les opérations séquentielles, car avec des tailles de blocs de données aussi grandes, la vitesse des opérations séquentielles ne change pas.

Créons donc un script de chargement en mode lecture séquentielle pour un bloc de 512 octets.

Sur le terrain Nom fenêtre Modifier la spécification d'accès entrez le nom du script de chargement. Par exemple, Sequential_Read_512. Suivant sur le terrain Taille de la demande de transfert nous définissons la taille du bloc de données à 512 octets. Glissière Pourcentage de distribution aléatoire/séquentielle(le rapport en pourcentage entre les opérations séquentielles et sélectives), nous nous déplaçons complètement vers la gauche pour que toutes nos opérations soient uniquement séquentielles. Eh bien, le curseur , qui définit le rapport en pourcentage entre les opérations de lecture et d'écriture, est décalé complètement vers la droite afin que toutes nos opérations soient en lecture seule. Autres paramètres dans la fenêtre Modifier la spécification d'accès pas besoin de changer (Fig. 3).

Riz. 3. Modifier la fenêtre de spécification d'accès pour créer un script de chargement de lecture séquentielle
avec une taille de bloc de données de 512 octets

Cliquez sur le bouton D'accord, et le premier script que nous avons créé apparaîtra dans la fenêtre Spécifications d'accès global sur l'onglet Accéder aux spécifications Utilitaires IOmeter.

De la même manière, vous devez créer des scripts pour les blocs de données restants, cependant, pour faciliter votre travail, il est plus simple de ne pas créer le script à chaque fois en cliquant sur le bouton Nouveau, et après avoir sélectionné le dernier scénario créé, appuyez sur le bouton Modifier la copie(éditer la copie). Après cela, la fenêtre s'ouvrira à nouveau Modifier la spécification d'accès avec les paramètres de notre dernier script créé. Il suffira de changer uniquement le nom et la taille du bloc. Après avoir effectué une procédure similaire pour toutes les autres tailles de bloc, vous pouvez commencer à créer des scripts pour l'enregistrement séquentiel, ce qui se fait exactement de la même manière, sauf que le curseur Pourcentage de distribution lecture/écriture, qui définit le rapport en pourcentage entre les opérations de lecture et d'écriture, doit être déplacé complètement vers la gauche.

De même, vous pouvez créer des scripts pour une écriture et une lecture sélectives.

Une fois que tous les scripts sont prêts, ils doivent être attribués au gestionnaire de téléchargement, c'est-à-dire indiquer avec quels scripts fonctionneront Dynamo.

Pour ce faire, on vérifie à nouveau ce qu'il y a dans la fenêtre Topologie Le nom de l'ordinateur (c'est-à-dire le gestionnaire de chargement sur le PC local) est mis en surbrillance, et non celui du Worker individuel. Cela garantit que les scénarios de charge seront attribués à tous les travailleurs en même temps. Suivant dans la fenêtre Spécifications d'accès global sélectionnez tous les scénarios de chargement que nous avons créés et appuyez sur le bouton Ajouter. Tous les scénarios de chargement sélectionnés seront ajoutés à la fenêtre (Fig. 4).

Riz. 4. Affectation des scénarios de charge créés au gestionnaire de charge

Après cela, vous devez aller dans l'onglet Configuration des tests(Fig. 5), où vous pouvez définir le temps d'exécution de chaque script que nous avons créé. Pour le faire en groupe Durée définir le temps d'exécution du scénario de chargement. Il suffira de régler le temps sur 3 minutes.

Riz. 5. Définition du temps d'exécution du scénario de chargement

De plus, sur le terrain Description du test Vous devez préciser le nom de l'ensemble du test. En principe, cet onglet comporte de nombreux autres paramètres, mais ils ne sont pas nécessaires à nos tâches.

Une fois tous les réglages nécessaires effectués, il est recommandé de sauvegarder le test créé en cliquant sur le bouton avec l'image d'une disquette dans la barre d'outils. Le test est enregistré avec l'extension *.icf. Par la suite, vous pouvez utiliser le scénario de chargement créé en exécutant non pas le fichier IOmeter.exe, mais le fichier enregistré avec l'extension *.icf.

Vous pouvez maintenant commencer les tests directement en cliquant sur le bouton avec un drapeau. Il vous sera demandé de préciser le nom du fichier contenant les résultats des tests et de sélectionner son emplacement. Les résultats des tests sont enregistrés dans un fichier CSV, qui peut ensuite être facilement exporté vers Excel et, en définissant un filtre sur la première colonne, sélectionnez les données souhaitées avec les résultats des tests.

Pendant les tests, les résultats intermédiaires sont visibles sur l'onglet Affichage des résultats, et vous pouvez déterminer à quel scénario de chargement ils appartiennent dans l'onglet Accéder aux spécifications. Dans la fenêtre Spécification d'accès attribué un script en cours d'exécution apparaît en vert, les scripts terminés en rouge et les scripts non exécutés en bleu.

Nous avons donc examiné les techniques de base pour travailler avec l'utilitaire IOmeter, qui seront nécessaires pour tester des disques individuels ou des matrices RAID. Notez que nous n'avons pas parlé de toutes les capacités de l'utilitaire IOmeter, mais une description de toutes ses capacités dépasse le cadre de cet article.

Création d'une matrice RAID basée sur le contrôleur GIGABYTE SATA2

Nous commençons donc à créer une matrice RAID basée sur deux disques en utilisant le contrôleur RAID GIGABYTE SATA2 intégré à la carte. Bien entendu, Gigabyte lui-même ne produit pas de puces, et donc sous la puce GIGABYTE SATA2 se cache une puce renommée d'une autre société. Comme vous pouvez le découvrir dans le fichier INF du pilote, nous parlons d'un contrôleur de la série JMicron JMB36x.

L'accès au menu de configuration du contrôleur est possible au stade du démarrage du système, pour lequel vous devez appuyer sur la combinaison de touches Ctrl+G lorsque l'inscription correspondante apparaît à l'écran. Naturellement, d'abord Paramètres du BIOS vous devez définir le mode de fonctionnement de deux ports SATA appartenant au contrôleur GIGABYTE SATA2 comme RAID (sinon l'accès au menu du configurateur de matrice RAID ne sera pas possible).

Le menu de configuration du contrôleur RAID GIGABYTE SATA2 est assez simple. Comme nous l'avons déjà noté, le contrôleur est à double port et vous permet de créer des matrices RAID de niveau 0 ou 1. Grâce au menu des paramètres du contrôleur, vous pouvez supprimer ou créer une matrice RAID. Lors de la création d'une matrice RAID, vous pouvez spécifier son nom, sélectionner le niveau de la matrice (0 ou 1), définir la taille de bande pour RAID 0 (128, 84, 32, 16, 8 ou 4K) et également déterminer la taille de la matrice RAID. tableau.

Une fois le tableau créé, toute modification n’est plus possible. Autrement dit, vous ne pouvez pas modifier ultérieurement le tableau créé, par exemple son niveau ou sa taille de bande. Pour ce faire, vous devez d'abord supprimer le tableau (avec perte de données), puis le recréer. En fait, ce n'est pas propre au contrôleur GIGABYTE SATA2. L'impossibilité de modifier les paramètres des matrices RAID créées est une caractéristique de tous les contrôleurs, qui découle du principe même de mise en œuvre d'une matrice RAID.

Une fois qu'une matrice basée sur le contrôleur GIGABYTE SATA2 a été créée, ses informations actuelles peuvent être visualisées à l'aide de l'utilitaire GIGABYTE RAID Configurer, qui est installé automatiquement avec le pilote.

Création d'une matrice RAID basée sur le contrôleur Marvell 9128

La configuration du contrôleur RAID Marvell 9128 n'est possible que via les paramètres BIOS de la carte Gigaoctet GA-EX58A-UD7. De manière générale, il faut dire que le menu du configurateur du contrôleur Marvell 9128 est quelque peu rudimentaire et peut induire en erreur les utilisateurs inexpérimentés. Cependant, nous parlerons de ces défauts mineurs un peu plus tard, mais pour l'instant nous considérerons les principaux Fonctionnalité Contrôleur Marvell 9128.

Ainsi, bien que ce contrôleur prenne en charge les disques SATA III, il est également entièrement compatible avec les disques SATA II.

Le contrôleur Marvell 9128 permet de créer une matrice RAID de niveaux 0 et 1 basée sur deux disques. Pour un tableau de niveau 0, vous pouvez définir la taille de bande sur 32 ou 64 Ko et également spécifier le nom du tableau. De plus, il existe une option telle que Gigabyte Rounding, qui nécessite une explication. Malgré le nom qui ressemble à celui du fabricant, la fonction Gigabyte Rounding n'a rien à voir avec cela. De plus, il n'est en aucun cas lié à la matrice RAID de niveau 0, bien que dans les paramètres du contrôleur il puisse être défini spécifiquement pour une matrice de ce niveau. En fait, c'est la première de ces lacunes du configurateur de contrôleur Marvell 9128 que nous avons mentionnée. La fonctionnalité Gigabyte Rounding est définie uniquement pour le niveau RAID 1. Elle vous permet d'utiliser deux disques (par exemple, de fabricants différents ou différents modèles), dont la capacité est légèrement différente les unes des autres. La fonction Gigabyte Rounding définit précisément la différence de taille des deux disques utilisés pour créer une matrice RAID de niveau 1. Dans le contrôleur Marvell 9128, la fonction Gigabyte Rounding permet de définir la différence de taille des disques à 1 ou 10. GB.

Un autre défaut du configurateur du contrôleur Marvell 9128 est que lors de la création d'une matrice RAID de niveau 1, l'utilisateur a la possibilité de sélectionner la taille de la bande (32 ou 64 Ko). Cependant, la notion de stripe n'est pas du tout définie pour le niveau RAID 1.

Création d'une matrice RAID basée sur le contrôleur intégré à l'ICH10R

Le contrôleur RAID intégré au Southbridge ICH10R est le plus courant. Comme déjà indiqué, ce contrôleur RAID est doté de 6 ports et prend en charge non seulement la création de matrices RAID 0 et RAID 1, mais également RAID 5 et RAID 10.

L'accès au menu de configuration du contrôleur est possible au stade du démarrage du système, pour lequel vous devez appuyer sur la combinaison de touches Ctrl + I lorsque l'inscription correspondante apparaît à l'écran. Naturellement, vous devez d'abord définir dans les paramètres du BIOS le mode de fonctionnement de ce contrôleur comme RAID (sinon l'accès au menu du configurateur de matrice RAID sera impossible).

Le menu de configuration du contrôleur RAID est assez simple. Grâce au menu des paramètres du contrôleur, vous pouvez supprimer ou créer une matrice RAID. Lors de la création d'une matrice RAID, vous pouvez spécifier son nom, sélectionner le niveau de la matrice (0, 1, 5 ou 10), définir la taille de bande pour RAID 0 (128, 84, 32, 16, 8 ou 4K) et également déterminer la taille du tableau.

Comparaison des performances RAID

Pour tester les matrices RAID à l'aide de l'utilitaire IOmeter, nous avons créé des scénarios de lecture séquentielle, d'écriture séquentielle, de lecture sélective et de charge d'écriture sélective. Les tailles des blocs de données dans chaque scénario de chargement étaient les suivantes : 512 octets, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Ko, 1 Mo.

Sur chacun des contrôleurs RAID, nous avons créé une matrice RAID 0 avec toutes les tailles de stripe autorisées et une matrice RAID 1. De plus, afin de pouvoir évaluer le gain de performances obtenu grâce à l'utilisation d'une matrice RAID, nous avons également testé un seul disque. sur chacun des contrôleurs RAID.

Voyons donc les résultats de nos tests.

Contrôleur GIGABYTE SATA2

Tout d'abord, examinons les résultats des tests des matrices RAID basées sur le contrôleur GIGABYTE SATA2 (Fig. 6-13). En général, le contrôleur s'est avéré littéralement mystérieux et ses performances étaient tout simplement décevantes.

Riz. 6.Vitesse séquentielle
et opérations de disque sélectives
Western Digital WD1002FBYS

Riz. 7.Vitesse séquentielle

avec une taille de bande de 128 Ko
(Contrôleur GIGABYTE SATA2)

Riz. 12.Vitesse série
et opérations sélectives pour RAID 0
avec une taille de bande de 4 Ko
(Contrôleur GIGABYTE SATA2)

Riz. 13.Vitesse série
et opérations sélectives
pour RAID 1 (contrôleur GIGABYTE SATA2)

Si vous examinez les caractéristiques de vitesse d'un disque (sans matrice RAID), la vitesse de lecture séquentielle maximale est de 102 Mo/s et la vitesse d'écriture séquentielle maximale est de 107 Mo/s.

Lors de la création d'une matrice RAID 0 avec une taille de bande de 128 Ko, la vitesse de lecture et d'écriture séquentielle maximale augmente à 125 Mo/s, soit une augmentation d'environ 22 %.

Avec des tailles de bande de 64, 32 ou 16 Ko, la vitesse de lecture séquentielle maximale est de 130 Mo/s et la vitesse d'écriture séquentielle maximale est de 141 Mo/s. Autrement dit, avec les tailles de bande spécifiées, la vitesse de lecture séquentielle maximale augmente de 27 % et la vitesse d'écriture séquentielle maximale augmente de 31 %.

En fait, cela ne suffit pas pour un tableau de niveau 0, et j'aimerais que la vitesse maximale des opérations séquentielles soit plus élevée.

Avec une taille de bande de 8 Ko, la vitesse maximale des opérations séquentielles (lecture et écriture) reste à peu près la même qu'avec une taille de bande de 64, 32 ou 16 Ko, cependant, il existe des problèmes évidents de lecture sélective. À mesure que la taille du bloc de données augmente jusqu'à 128 Ko, la vitesse de lecture sélective (comme elle devrait) augmente proportionnellement à la taille du bloc de données. Cependant, lorsque la taille du bloc de données est supérieure à 128 Ko, la vitesse de lecture sélective chute jusqu'à presque zéro (à environ 0,1 Mo/s).

Avec une taille de bande de 4 Ko, non seulement la vitesse de lecture sélective diminue lorsque la taille du bloc est supérieure à 128 Ko, mais également la vitesse de lecture séquentielle lorsque la taille du bloc est supérieure à 16 Ko.

L'utilisation d'une matrice RAID 1 sur un contrôleur GIGABYTE SATA2 ne modifie pas significativement la vitesse de lecture séquentielle (par rapport à un seul disque), mais la vitesse d'écriture séquentielle maximale est réduite à 75 Mo/s. Rappelons que pour une matrice RAID 1, la vitesse de lecture doit augmenter et la vitesse d'écriture ne doit pas diminuer par rapport à la vitesse de lecture et d'écriture d'un seul disque.

Sur la base des résultats des tests du contrôleur GIGABYTE SATA2, une seule conclusion peut être tirée. Il est logique d'utiliser ce contrôleur pour créer des matrices RAID 0 et RAID 1 uniquement si tous les autres contrôleurs RAID (Marvell 9128, ICH10R) sont déjà utilisés. Même s'il est assez difficile d'imaginer une telle situation.

Contrôleur Marvell 9128

Le contrôleur Marvell 9128 a démontré des caractéristiques de vitesse beaucoup plus élevées que le contrôleur GIGABYTE SATA2 (Fig. 14-17). En fait, les différences apparaissent même lorsque le contrôleur fonctionne avec un seul disque. Si pour le contrôleur GIGABYTE SATA2, la vitesse de lecture séquentielle maximale est de 102 Mo/s et est obtenue avec une taille de bloc de données de 128 Ko, alors pour le contrôleur Marvell 9128, la vitesse de lecture séquentielle maximale est de 107 Mo/s et est obtenue avec une taille de bloc de données de 128 Ko. taille de bloc de 16 Ko.

Lors de la création d'une matrice RAID 0 avec des tailles de bande de 64 et 32 ​​Ko, la vitesse de lecture séquentielle maximale augmente à 211 Mo/s et la vitesse d'écriture séquentielle augmente à 185 Mo/s. Autrement dit, avec les tailles de bande spécifiées, la vitesse de lecture séquentielle maximale augmente de 97 % et la vitesse d'écriture séquentielle maximale augmente de 73 %.

Il n'y a pas de différence significative dans les performances de vitesse d'une matrice RAID 0 avec une taille de bande de 32 et 64 Ko, cependant, l'utilisation d'une bande de 32 Ko est préférable, car dans ce cas, la vitesse des opérations séquentielles avec une taille de bloc de moins de 128 Ko sera légèrement plus élevé.

Lors de la création d'une matrice RAID 1 sur un contrôleur Marvell 9128, la vitesse de fonctionnement séquentielle maximale reste pratiquement inchangée par rapport à un seul disque. Ainsi, si pour un seul disque la vitesse maximale des opérations séquentielles est de 107 Mo/s, alors pour RAID 1, elle est de 105 Mo/s. Notez également que pour RAID 1, les performances de lecture sélective se dégradent légèrement.

En général, il convient de noter que le contrôleur Marvell 9128 présente de bonnes caractéristiques de vitesse et peut être utilisé à la fois pour créer des matrices RAID et pour y connecter des disques uniques.

Contrôleur ICH10R

Le contrôleur RAID intégré à l'ICH10R s'est avéré être le plus performant de tous ceux que nous avons testés (Figure 18-25). Lorsque vous travaillez avec un seul disque (sans créer de matrice RAID), ses performances sont pratiquement les mêmes que celles du contrôleur Marvell 9128. La vitesse de lecture et d'écriture séquentielle maximale est de 107 Mo et est obtenue avec une taille de bloc de données de 16 Ko.

Riz. 18. Vitesse séquentielle
et opérations sélectives
pour disque Western Digital WD1002FBYS (contrôleur ICH10R)

Si nous parlons de la matrice RAID 0 sur le contrôleur ICH10R, alors la vitesse de lecture et d'écriture séquentielle maximale ne dépend pas de la taille de la bande et est de 212 Mo/s. Seule la taille du bloc de données auquel la vitesse séquentielle maximale de lecture et d'écriture est atteinte dépend de la taille de la bande. Les résultats des tests montrent que pour RAID 0 basé sur le contrôleur ICH10R, il est optimal d'utiliser une bande de 64 Ko. Dans ce cas, la vitesse de lecture et d'écriture séquentielle maximale est atteinte avec une taille de bloc de données de seulement 16 Ko.

Donc, pour résumer, nous soulignons une fois de plus que le contrôleur RAID intégré à l'ICH10R dépasse largement tous les autres contrôleurs RAID intégrés en termes de performances. Et étant donné qu'il a également de plus grandes fonctionnalités, il est optimal d'utiliser ce contrôleur particulier et d'oublier simplement l'existence de tous les autres (à moins, bien sûr, que le système n'utilise Disques SATA III).

gastrogourou 2017