<appendix id="appxmdreg"> <title>Le gestionnaire de région MD</title> <para> Le pilote Multi-disque (MD) du noyau Linux et le plug-in MD d'EVMS fournissent une implémentation logicielle du RAID (Redudant Array of Inexpensive Disks : batterie redondante de disques bon marché). L'idée de base de la technologie RAID est de regrouper plusieurs disques durs en une batterie de disques pour augmenter les capacités, les performances et la fiabilité. </para> <para> Le standard RAID défint une grande variété de méthodes pour combiner les disques en une batterie RAID. Sous linux, MD implémente un sous-ensemble du standard RAID complet, comprenant RAID-0, RAID-1, RAID-4 et RAID-5. De plus, MD supporte également d'autres types de regroupements nommés Linear-RAID et Multipath. </para> <para> En complément de cette annexe, on trouvera des informations supplémentaires sur RAID et le pilote MD de Linux à l'adresse : www.tldp.org/HOWTO/Software-RAID-HOWTO.html </para> <sect1> <title> Caractéristiques des niveaux RAID Linux </title> <para> Tous les niveaux RAID sont utilisés pour combiner plusieurs périphériques en une seule batterie multi-disques [MD]. Le plug-in MD est un gestionnaire de régions, donc EVMS utilise le terme "régions" pour parler des batteries MD. MD peut créer ces régions en utilisant des disques, des segments, ou d'autres régions. Cela signifie qu'il est possible de créer des régions RAID en utilisant d'autres régions RAID, et ainsi de regrouper plusieurs niveaux RAID en une unique pile de volumes. </para> <para> Les sous-sections suivantes décrivent les caractéristiques de chaque niveau RAID Linux. Avec EVMS, ces niveaux peuvent être considérés comme des sous-modules du plug-in MD. </para> <sect2> <title> Le mode linéaire </title> <para> Les régions Linear-RAID regroupent les objets en les joignant les uns aux autres. La lecture (ou l'écriture) linéaire des régions MD commence par une opération d'écriture sur le premier objet fils. Lorsque l'objet est plein, l'écriture continue sur le second objet fils, et ainsi de suite jusqu'à ce que le dernier objet fils soit plein. Il n'est pas nécessaire que les objets fils d'une région Linear-RAID aient la même taille. </para> <para>Avantage :</para> <itemizedlist> <listitem><para> avec Linear-RAID, nous avons une méthode simple pour la construction de très grandes régions en utilisant de nombreux petits objets. </para></listitem> </itemizedlist> <para> Inconvénients : </para> <itemizedlist> <listitem><para> le Linear-RAID n'est pas un "vrai" RAID, dans le sens où il n'y a pas de redondance de données. Si l'un des disques plante, la région RAID sera indisponible, ce qui se traduira par une perte partielle ou totale des données de la région. </para></listitem> <listitem><para> avec le Linear-RAID, les performances n'augmentent pratiquement pas. Les objets sont reliés simplement d'une manière linéaire qui ne permet pas beaucoup d'entrées/sorties en parallèle (voire aucune) vers de multiples objets fils. Les performances d'un Linear-RAID sont généralement équivalentes aux performances d'un disque unique. </para></listitem> </itemizedlist> </sect2> <sect2> <title>RAID-0</title> <para> En général, avec RAID-0 on dit que l'on fait de la"segmentation par entrelacement" [striping] . Ceci signifie que les données dans une région RAID-0 sont réparties de façon égale et entrelacées sur tous les objets fils. Par exemple, lorsque l'on écrit 16Ko de données sur une région RAID-0 avec 3 objets fils et une taille de bloc de 4Ko, les données seront écrites comme suit : </para> <itemizedlist> <listitem><para>4Ko sur l'objet 0 </para> </listitem> <listitem><para>4Ko sur l'objet 1 </para> </listitem> <listitem><para>4Ko sur l'objet 2 </para> </listitem> <listitem><para>4Ko sur l'objet 0 </para> </listitem> </itemizedlist> <para> Avantages : </para> <itemizedlist> <listitem><para> comme avec le Linear-RAID, avec le RAID-0 nous avons une méthode simple pour la construction de très grandes régions en utilisant de nombreux petits objets. </para> </listitem> <listitem><para> généralement, le RAID-0 apporte des améliorations de performances, car il peut morceler les grosses requêtes d'entrée/sortie et les soumettre en parallèle sur différents disques. </para> </listitem> </itemizedlist> <para>Inconvénient :</para> <itemizedlist> <listitem><para> Là aussi, comme le Linear-RAID, le RAID-0 n'est pas un "vrai" RAID, dans le sens où il n'y a pas de redondance des données (d'où ll'appellation RAID « zéro »). Si l'un des disques plante, la région RAID sera indisponible, et il en résultera probablement une perte de toutes les données sur cette région. </para></listitem> </itemizedlist> </sect2> <sect2> <title>RAID-1</title> <para> En général, avec RAID-1, on dit que l'on fait du "mirroring". Chaque objet fils d'une région RAID-1 contient une copie identique des données de la région. Une opération d'écriture sur une région RAID-1 provoque l'écriture simultanée des données sur tous les objets fils. Une opération de lecture d'une région RAID-1 peut se faire en lisant les données se trouvant sur l'un quelconque des objets fils. Il n'est pas nécessaire que les objets fils d'une région RAID-1 aient la même taille, mais la taille de la région sera égale à la taille du plus petit objet fils. </para> <para> Avantages : </para> <itemizedlist> <listitem><para> le RAID-1 offre une totale redondance des données. Dans une région RAID-1 faite à partir de N objets fils, il peut y avoir jusqu'à N-1 de ces objets qui plantent et la région sera toujours opérationnelle, et pourra récupérer les données depuis les objets qui restent. </para></listitem> <listitem><para> le RAID-1 peut apporter des améliorations de performances sur les Entrées/Sorties en lecture. Du fait que tous les objets fils contiennent une copie intégrale des données, la charge résultant de plusieurs requêtes simultanées peut se répartir sur tous les objets. </para></listitem> </itemizedlist> <para> Inconvénient : </para> <itemizedlist> <listitem><para> le RAID-1 peut entraîner des baisses de performances sur les Entrées/Sorties en écriture. Comme chaque objet fils doit avoir une copie complète des données, chaque écriture sur la région doit être dupliquée et envoyée vers chaque objet. Une requête d'écriture ne peut se terminer tant que la duplication de toutes les écritures vers les objets fils n'est pas terminée. </para></listitem> <listitem><para> une région RAID-1 avec N disques coûte N fois plus cher qu'un disque unique, mais n'offre les capacités de stockage que d'un disque unique. </para> </listitem> </itemizedlist> </sect2> <sect2 id="raid45"><title> RAID-4/5</title> <para> En général, avec RAID-4/5 on dit que l'on fait de la "segmentation par entrelacement avec parité". Comme le RAID-0, les données dans une région RAID-4/5 sont réparties de façon égale ou entrelacées sur tous les objets fils. Cependant, dans un RAID-4/5, les informations de parités sont également enregistrées pour chaque bande de données afin de fournir une redondance au cas ou l'un des objets est perdu. Si un disque plante, les données de ce disque peuvent être récupérées grâce aux données des disques restants et à l'information de parité. </para> <para> Dans les régions RAID-4, un objet unique est utilisé pour stocker les informations de parité pour chaque bande de données. Cependant, cela peut causer un bouchon en entrée/sortie sur cet objet, car l'information de parité doit être mise à jour à chaque écriture en entrée/sortie sur la région. </para> <para> Dans les régions RAID-5, la parité est répartie de façon égale sur tous les objets fils de la région, ce qui élimine le bouchon de parité du RAID-4. Le RAID-5 possède quatre algorithmes différents pour déterminer comment l'information de parité est distribuée. En fait, RAID-4 est souvent considéré comme un cas spécial du RAID-5 avec un algorithme de parité qui utilise simplement un objet au lieu de tous les utiliser. C'est le point de vue qu'utilise Linux et EVMS. Par conséquent, quand on parle du niveau RAID-5, il s'agit en fait simplement de RAID-4/5, RAID-4 n'étant que l'un des cinq algorithmes de distribution de parité disponibles. </para> <para> Avantages et inconvénients : </para> <itemizedlist> <listitem><para> Comme le RAID-1, le RAID-4/5 fournit une redondance de données dans le cas d'une panne de matériel. Cependant, contrairement au RAID-1, le RAID-4/5 peut uniquement survivre à la perte d'un seul objet. Ceci est dû au fait que seule une valeur de parité est enregistrée. Si plus d'un objet est perdu, ce n'est pas suffisant pour récupérer les données perdues. </para></listitem> <listitem><para> Le RAID-4/5 fournit une redondance plus rentable que le RAID-1. Une région RAID-4/5 avec N disques fournit N-1 fois la capacité de stockage d'un seul disque. Le coût de la redondance des données se limite à celui d'un seul disque dans la région. </para></listitem> <listitem><para> Comme le RAID-0, le RAID-4/5 peut généralement apporter des améliorations de performances en entrée/sortie, car les grosses requêtes d'entrées/sorties peuvent être morcelées et soumises en parallèle aux multiples objets fils. Cependant, pour les entrées/sorties en écriture, les améliorations de performances seront plus faibles que celles du RAID-0, car l'information de parité doit être calculée et réécrite à chaque fois qu'une requête d'écriture est traitée. De plus, pour apporter des améliorations de performances sur les entrées/sorties en écriture, un cache de mémoire interne doit conserver les récents accès aux ensembles de données afin que l'information de parité puisse être recalculée rapidement. Si une requête d'écriture est reçue pour une bande de données qui n'est pas dans le cache, les blocs de données de cette bande doivent d'abord être lus sur le disque pour pouvoir calculer la parité. Si cela arrive trop souvent, les performances des entrées/sorties en écriture pourraient en arriver à être pires que même celles d'une région Linear-RAID. </para></listitem> </itemizedlist> </sect2> <sect2 id="multipath"> <title> Le cheminement multiple [multipath] </title> <para> Une région multipath est composée d'un ou plusieurs objets tout comme les autres niveaux RAID. Toutefois, en multipath, les objets fils représentent en fait plusieurs chemins physiques vers le même disque physique. On trouve ce genre de configuration dans les systèmes avec des périphériques de stockage basés sur fibre optique ou réseaux de stockage SAN. </para> <para> En fait, le cheminement multiple ne fait pas partie du standard RAID, mais il a été ajouté au pilote MD de Linux car il est bien pratique comme endroit pour créer des périphériques "virtuels" se composant de multiples périphériques sous-jacents. </para> <para> Les niveaux RAID précédents peuvent tous être créés en utilisant une grande variété de périphériques de stockage, y compris les disques génériques reliés en local (par exemple, IDE et SCSI). Toutefois, le cheminement multiple peut uniquement être utilisé si au niveau matériel on a bien plusieurs chemins physiques vers le système de stockage, ce que l'on trouve habituellement sur les systèmes haut de gamme avec des stockages à fibre ou en réseau. Donc quand on ne sait pas si on doit utiliser le module multivoie, c'est très certainement qu'on n'a pas besoin de s'en servir. </para> <para> Comme RAID-1 et RAID-4/5, le cheminement multiple offre la redondance afin de parer aux défaillances de matériel. Toutefois, contrairement à ces autres niveaux RAID, le chemin multiple protège contre les défaillances dans le chemin vers le périphérique, et pas les défaillances dans le périphérique lui-même. Si l'un des chemins est perdu (par exemple, un adaptateur de réseau tombe en panne ou bien un câble de fibre optique est enlevé), l'E/S sera redirigée vers les chemins restants. </para> <para> Comme Raid-0 et RAID-4/5, le cheminement multiple peut fournir des améliorations de performance des E/S en répartissant la charge d'E/S de façon équilibrée sur les différents chemins. </para> </sect2> </sect1> <!-- B.2 creation d'une region MD (disques multiples) --> <sect1 id="creatingMDregion"> <title> Création d'une région MD (disques multiples) </title> <para> La procédure de création d'une nouvelle région MD est pratiquement la même pour les différents niveaux RAID. Lorsque vous utilisez l'interface EVMS ou Ncurses, choisissez d'abord ActionCreate Region dans le menu. Une liste de gestionnaires de régions s'ouvrira et chacun des différents niveaux RAID disponibles apparaîtra séparément comme plug-in dans la liste où vous choisirez le plug-in correspondant au niveau RAID désiré. Dans le panneau suivant on aura une liste des objets disponibles pour créer une nouvelle région RAID. Choisissez les objets voulus pour construire la nouvelle région. Deux cas se présentent alors: Si le niveau RAID selectionné n'accepte pas d'options supplémentaires la procédure s'arrête là et la région sera créée. Si le niveau RAID sélectionné offre d'autres options de création, le panneau suivant en donnera la liste. La région sera crée une fois que les options auront été choisies. </para> <para> Si vous travaillez en lignes de commandes, utilisez la commande suivante pour créer une nouvelle region </para> <para> Pour le champ plugin, voici la liste des noms qui sont disponibles: <quote>MDLinearRegMgr</quote>, <quote>MD RAID0RegMgr</quote>, <quote>MD RAID1RegMgr</quote>, <quote>MD RAID5RegMgr</quote>, et <quote>MD Multipath</quote>. </para> <para> La liste des options disponibles est donnée ci-dessous. Vous pouvez laisser l'espace entre les accolades vide si jamais aucune option n'est disponible ou si vous n'en désirez aucune. </para> <para> Les niveaux Linear-RAID et Multipath n'offrent pas d'options supplémentaires lors de la création. Les autres niveaux offrent les options données dans la liste ci-dessous. </para> <!-- B.2.1 Les options pour RAID-0 --> <sect2 id="RAID0option"><title>Les options pour RAID-0</title> <para>Pour RAID-0 l'option disponible est la suivante:</para> <para>chunksize</para> <para>Cette option représente le degré de fragmentation des données segmentées. En d'autres termes, elle représente la quantité de données écrite dans un objet «fils» avant de passer à l'objet suivant. Les valeurs doivent forcément être des puissances de 2 comprises entre 4Ko et 4096Ko. Si cette dernière n'est pas précisée la taille par défaut sera de 32Ko. </para> </sect2> <!-- B.2.2 Les options pour RAID-1 --> <sect2 id="RAID1option"><title>Les options pour RAID-1</title> <para>Pour RAID-1 l'option disponible est la suivante:</para> <para>sparedisk</para> <para>Cette option est le nom d'un autre objet à utiliser en tant que «disque de secours» [«hot-spare»]. Cependant cet objet doit être un objet différent de ceux initialement sélectionnés. Si aucun objet n'est sélectionné pour cette option, la nouvelle région n'aura tout simplement pas de disque de secours au départ. Plus d'informations sur les objets de secours [spare objects] sont disponibles dans les sections qui suivent. </para> </sect2> <!-- B.2.3 Les options pour RAID-4/5 --> <sect2><title>Les options pour RAID-4/5</title> <para>Pour RAID-4/5 les options disponibles sont les suivantes:</para> <para>chunksize</para> <para>Même chose que pour RAID-0.</para> <para>sparedisk</para> <para>Même chose que pour RAID-1.</para> <para>level</para> <para>Cette option permet de choisir entre RAID4 et RAID5. La valeur par défaut est RAID5.</para> <para>algorithm</para> <para>Cette option n'est disponible que si vous avez choisi le niveau RAID5. Elle permet de choisir l'algorithme de parité voulu. Les choix possibles sont "Left Symmetric"(qui est le choix par défaut), "Right Symmetric", "Left Asymmetric" et "Right Asymmetric".</para> </sect2> </sect1> <!-- Annexe B.3 Les objets actifs[active objects] et les objets de secours[spare objects]--> <sect1 id="activeandspare"><title>Les objets actifs [active objects] et les objets de secours [spare objects]</title> <para>Un objet actif dans une région RAID est un objet utilisé de manière active par celle-ci et qui contient des données ou des informations sur la parité. Lors de la création d'une nouvelle région Raid, tous les objets sélectionnés dans le menu "objets disponibles" principal seront des objets actifs. Les régions Linear-RAID et RAID-0 n'ont que des objets actifs, et si un de ces derniers vient à mal fonctionner, la région ne sera pas disponible.</para> <para>D'un autre côté, les niveaux RAID redondants (1 et 4/5) peuvent avoir des objets de secours en plus de leurs propres objets actifs. Un objet de secours est un objet attribué à une région mais qui ne contient aucune donnée ou parité en cours d'utilisation. Il a pour principale fonction de rester en réserve et d'intervenir au cas où l'un des objets actifs ne fonctionnerait pas.</para> <para>Dans le cas d'un dysfonctionnement des objets fils, le pilote du noyau MD supprime l'objet défectueux de cette région. Du fait de la redondance apportée par ces niveaux RAID (soit sous forme de données miroir ou bien d'informations sur la parité), la totalité de la région continue à fonctionner normalement et permet un accès aux données. Cependant du fait qu'un des objets actifs est manquant, la région est à présent dite "dégradée".</para> <para>Si une région se dégrade et qu'un objet de secours lui a été attribué , le pilote du noyau activera automatiquement cet objet de secours. Ceci signifie que l'objet de secours s'est transformé en objet actif. Cependant ce nouvel objet actif ne possède aucune donnée et aucune information sur la parité; c'est alors au pilote du noyau de synchroniser les données avec cet objet. Pour le RAID-1 cela signifie qu'il va copier toutes les données d'un des objets actifs courants vers ce nouvel objet actif. Pour le RAID-4/5, grâce aux données et aux informations concernant la parité de l'objet courant, il suffit de remplir les données et la parité du nouvel objet actif. Tant que le processus de synchronisation a lieu, la région reste à l'état dégradée. Elle ne retrouve son état normal qu'à la fin du processus de synchronisation.</para> <para>On peut suivre la progression du processus de synchronisation en examinant le fichier <filename>/proc/mdstat</filename>. En utilisant les fichiers <filename>/proc/sys/dev/raid/speed_limit_min</filename> et <filename>/proc/sys/dev/raid/speed_limit_max</filename> on peut aussi contrôler la vitesse de synchronisation. Pour accélérer le processus, tapez un nombre supérieur à celui présent dans le fichier <filename>speed_limit_min</filename>.</para> <!-- B.3.1 Ajouter des objets de secours --> <sect2 id="adingspareobject"><title>Ajouter des objets de secours</title> <para>Comme mentionné ci-dessus, un objet de secours peut être assigné aux régions de type RAID-1 ou RAID-4/5 au moment de leur création. En outre, on peut également ajouter un objet de secours à une région RAID déjà créée. L'effet de cet opération est le même que si l'objet avait été affecté au moment de la création de la région.</para> <para>Si la région RAID est propre et qu'elle fonctionne normalement, le pilote du noyau ajoutera ce nouvel objet comme objet de secours normal et il restera en réserve pour intervenir en cas de pannes futures. Si la région RAID est déjà dégradée, le pilote du noyau va immédiatement activer le nouvel objet de secours et débutera l'opération de synchronisation des donnés et des informations de parité.</para> <para>Pour les deux régions (RAID-0 et RAID-4/5), utilisez la fonction "addspare" du plug-in pour ajouter un objet de secours à la région. Le seul argument est le nom de l'objet voulu et on ne peut ajouter qu'un seul objet de secours à la fois. Pour les régions RAID-1 le nouvel objet de secours doit être au moins aussi grand que la région, et pour les régions RAID-4/5, le nouvel objet de secours doit être au moins aussi grand que le plus petit objet actif.</para> <para>On peut supprimer les objets de secours lorsque la région RAID est active et en cours d'utilisation.</para> </sect2> <!-- B.3.2 Supprimer des objets de secours --> <sect2 id="remSpareObject"><title>Supprimer des objets de secours</title> <para>Si une région RAID-1 ou RAID-4/5 est propre et fonctionne normalement, et que cette région possède un objet de secours, ce dernier peut être supprimé de cette région si vous avez besoin d'utiliser cet objet dans un autre but.</para> <para>Pour ces deux régions (RAID-1 et RAID-4/5), utilisez la fonction "remspare" du plug-in pour supprimer un objet de secours de la région. Le seul argument est le nom de l'objet désiré et on ne peut supprimer qu'un seul objet de secours à la fois. L'objet de secours supprimé sera visible dans la liste Objets Disponibles de l'interface utilisateur EVMS.</para> <para>On peut supprimer les objets de secours lorsque la région RAID est active et en cours d'utilisation.</para> </sect2> <!-- B.3.3 Ajout d'objets actifs au niveau RAID-1 --> <sect2 id="addingactiveobject"><title>Ajout d'objets actifs au niveau RAID-1</title> <para>Dans une région RAID-1 chaque objet actif possède une copie complète des données de la région. Ceci signifie qu'il est facile d'ajouter simplement un nouvel objet actif, de synchroniser les données pour ce nouvel objet et ainsi d'augmenter la "largeur" du miroir. Par exemple si on utilise une région RAID-1, on peut ajouter un nouvel objet actif, qui amènera la redondance de cette région à 3 disques "miroirs", ce qui augmente la redondance de cette région. </para> <para>Le premier processus d'ajout d'un nouvel objet actif peut être fait de l'une des deux manières suivantes. Premièrement, la fonction "addactive" du plug-in ajoute n'importe quel objet disponible dans l'EVMS à la région comme nouvel objet actif. Le nouvel objet doit être au moins aussi grand que la taille de la région RAID-1. Deuxièmement, si la région RAID-1 a un objet de secours, cet objet peut être converti en objet actif de la région en utilisant la fonction "activatespare" du plug-in.</para> </sect2> </sect1> <!-- Annexe B.4 Objets défectueux --> <sect1 id="Faultyobjects"><title>Objets défectueux</title> <para>Comme décrit dans la section précédente, si un des objets actifs de la région RAID-1 ou RAID-4/5 a un problème, cet objet sera expulsé et cette région deviendra dégradée. Un problème peut survenir avec les objets actifs de différentes manières. Par exemple un disque peut planter, un disque peut être retiré du système, un câble de lecteur de disque peut être enlevé ou bien une ou plusieurs E/S peuvent générer des erreurs. L'un ou l'autre de ces incidents aboutira à une expulsion de l'objet et la région RAID deviendra dégradée.</para> <para>Si un disque s'est complètement arrêté de fonctionner ou a été retiré de la machine, évidemment l'EVMS ne le reconnaîtra plus et il n'apparaîtra pas comme faisant parti de la région RAID quand l'interface EVMS sera utilisée. Cependant si le disque est toujours disponible dans la machine, l'EVMS sera vraisemblablement capable de reconnaître que le disque est affecté à la région RAID, mais qu'il a été retiré de tout service actif par le noyau. On parle alors, pour ce type de disque, d'objet défectueux.</para> <!-- B.4.1 Suppression des objets défectueux --> <sect2 id="removingfaultyobject"><title>Suppression des objets défectueux</title> <para>Les objets défectueux ne peuvent plus être utilisés par la région RAID, et doivent être supprimés. On peut supprimer ces objets défectueux grâce à la fonction "remfaulty" du plug-in pour les RAID-1 et RAID-4/5. Cette opération est très similaire à celle qui consiste à supprimer des objets de secours. Une fois l'objet supprimé, il apparaîtra dans la liste "Objets-Disponibles" ["Available-Objects"] dans l'interface utilisateur EVMS.</para> <para>Les objets défectueux peuvent êtres retirés lorsque la région RAID est active et en cours d'utilisation.</para> </sect2> <!-- B.4.2 Réparation des objets temporairement défectueux --> <sect2 id="fixingtempobject"><title>Réparation des objets temporairement défectueux</title> <para>Quelquefois un disque peut avoir un problème temporaire ; le disque sera alors marqué comme étant défectueux et la région RAID sera dégradée. Par exemple un câble se débranche, amenant ainsi le pilote du noyau à croire que le disque a disparu. Toutefois, si le câble est rebranché, le disque devrait être disponible pour une utilisation normale. Cependant, le pilote du noyau MD et le plug-in MD d'EVMS continueront d'indiquer que le disque est un objet défectueux car le disque a dû manquer quelques instructions d'écritures pour la région RAID et sera par conséquent non synchronisé avec le reste des disques de la région.</para> <para>Dans le but de remédier à cette situation, les objets défectueux doivent êtres supprimés de la région RAID (de la manière dont nous l'avons explicitée dans la section précédente). L'objet apparaîtra alors comme étant un Objet-Disponible. Ensuite, cet objet doit être replacé dans la région RAID en tant qu'objet de secours (comme nous l'avons décrit dans la section B.3.1). Lorsque les changements sont enregistrés, le pilote du noyau MD activera l'objet de secours et synchronisera les données et la parité. Lorsque la synchronisation est établie, la région RAID fonctionnera avec sa configuration normale d'origine.</para> <para>Cette procédure peut être effectuée lorsque la région RAID est active et en cours d'utilisation.</para> </sect2> <!-- B.4.3 Marquage des objets défectueux --> <sect2 id="markingFultyobject"><title>Marquage des objets défectueux</title> <para>L'EVMS offre la possibilité de marquer manuellement un objet fils des régions RAID-1 ou RAID-4/5 comme étant défectueux. Cela a le même effet que si l'objet avait un problème ou causait des erreurs d' E/S. L'objet ne sera donc plus considéré comme un objet actif de la région et apparaîtra comme objet défectueux dans l'EVMS. Alors il peut être retiré de la région comme nous l'avons expliqué dans les sections précédentes.</para> <para>On peut avoir besoin de marquer manuellement un objet comme étant défectueux pour différentes raisons. Par exemple, vous voulez tester les scénarios de défaillance pour apprendre comment Linux et EVMS traitent les défaillances liées à des problèmes de matériel. Ça pourrait être aussi pour remplacer un des objets actifs courant par un autre objet. Pour cela, vous ajouterez le nouvel objet en tant qu'objet de secours, puis vous marquerez l'objet actif courant comme étant défectueux (engendrant ainsi l'activation du nouvel objet et la resynchronisation des données), et enfin vous supprimerez l'objet défectueux.</para> <para>EVMS permet de marquer un objet comme étant défectueux dans une région RAID-1 s'il y a plus d'un objet actif dans cette région. Pour la région RAID-4/5, cette dernière doit avoir un objet de secours pour marquer un objet comme étant défectueux.</para> <para>Que vous soyez en RAID-1 ou en RAID-4/5 utilisez la fonction markfaulty du plug-in. Cette commande peut être utilisée lorsque la région RAID est active et en cours d'utilisation.</para> </sect2> </sect1> <!-- Annexe B.5 Redimensionnement des regions MD --> <sect1 id="desizingMDregions"><title>Redimensionnement des régions MD</title> <para>Les régions RAID peuvent être redimensionnées dans le but d'étendre ou de réduire l'espace de données disponible dans la région. Chaque niveau RAID a des caractéristiques différentes et le moment où on peut les étendre ou les réduire, ainsi que la méthode, dépendent donc de conditions et exigences différentes.</para> <para>Voir le chapitre 16 pour des informations plus générales concernant le redimensionnement des volumes et objets EVMS.</para> <!-- B.5.1 linéaire --> <sect2><title>Linéaire</title> <para>Une région RAID linéaire [Linear-RAID] peut être étendue de deux façons. Premièrement, si le dernier objet fils dans la région Linear-RAID est extensible, cet objet peut être étendu, et la région RAID peut s'étendre dans ce nouvel espace. Deuxièmement, un ou plusieurs nouveaux objets peuvent êtres ajoutés à la fin de la région.</para> <para>De même, on peut réduire une région Linear-RAID de deux façons. Si, à condition qu'il soit possible de le faire, on réduit le dernier objet fils de la région, la région RAID sera réduite dans la même proportion. En outre, un ou plusieurs objets peuvent être retirés de la fin de la région RAID (mais le premier objet de la région ne peut pas être retiré).</para> <para>Les régions Linear-RAID peuvent être redimensionnées lorsqu'elles sont actives et en cours d'utilisation.</para> </sect2> <!-- B.5.2 RAID-0 --> <sect2 id="RAID-0"><title>RAID-0</title> <para>Vous pouvez étendre une région RAID-0 en ajoutant un nouvel objet à cette région. Vous pouvez également réduire une région RAID-0 en supprimant jusqu'à N-1 objets fils d'une région qui contient N objets .</para> <para>Du fait que pour les régions RAID-0, la segmentation par entrelacement se fait sur l'ensemble des objets fils, lorsqu'une région RAID-0 est redimensionnée, cette segmentation des données doit obligatoirement être refaite pour prendre en compte le changement du nombre d'objets. Cela signifie que le plug-in du MD enlèvera chaque bloc de données de son emplacement dans la région actuelle pour le placer au bon endroit dans la région étendue. On vous prévient : ce processus peut prendre un certain temps. Pour l'instant, il n'existe pas de mécanisme permettant de l'accélérer ou de le ralentir. L'interface utilisateur de EVMS et le mode texte en indiqueront la progression. Ne tentez pas d'interrompre ce processus avant qu'il ne soit terminé car cela risque d'entraîner la corruption des données dans la région RAID-0.</para> <para>Les régions RAID-0 doivent absolument être désactivées avant qu'elles ne soient redimensionnées afin d'éviter la corruption des données pendant leur re-segmentation.</para> <para>IMPORTANT: Il vous faudra préparer une sauvegarde avant d'essayer de redimensionner un RAID-0. Si le processus de re-segmentation est interrompu avant d'arriver à son terme (par exemple le processus EVMS meurt, la machine plante, ou bien un objet fils de la région RAID commence à renvoyer des erreurs d'E/S), l'état de cette région ne peut pas être garanti en toutes circonstances.</para> <para>EVMS essayera de faire une restauration suite à un problème durant un redimensionnement RAID-0. Le plug-in MD gardera la trace de l'avancement du redimensionnement dans les metadonnées du MD. A chaque fois qu'un bloc de données est déplacé, les métadonnées du MD sont réactualisées afin de montrer quelles sont les données qui sont en train d'être traitées. Si EVMS ou la machine plante durant le redimensionnement, la prochaine fois que vous démarrerez EVMS le plug-in du MD essayera de restaurer l'état de cette région en se basant sur les dernières informations des métadonnées. Si une extension est en cours, la région sera ramenée à son état d'avant le redimensionnement. Si une réduction est en cours, celle-ci continuera à partir du point où elle s'est arrêtée. Toutefois cette récupération n'est pas toujours suffisante pour garantir que la pile entière du volume est dans un état correct. Si la région RAID-0 est transformée directement en un volume, elle retrouvera probablement son état correct. D'un autre côté, si la région RAID est un objet consommé dans un un conteneur LVM, ou un objet fils d'une autre région RAID, alors les méta-données pour ces plug-ins ne seront peut-être pas toujours dans un état correct et seront peut-être au mauvais endroit dans la région RAID. Ainsi, les conteneurs, objets et volumes construits par-dessus la région RAID-0 ne refléteront peut-être pas la bonne taille, il se peut même qu'ils ne soient pas retrouvés.</para> <para></para> </sect2> <!-- B.5.3 RAID-1 --> <sect2 id="RAID-1"><title>RAID-1</title> <para>Une région RAID-1 peut être redimensionnée si tous les objets fils peuvent être simultanément redimensionnés dans les mêmes proportions.</para> <para>Les régions RAID-1 ne peuvent pas être redimensionnées en ajoutant des objets. Il s'agit, pour ce genre d'opération, de ce qu'on appelle «l'ajout d'objets actifs» et nous en avons déjà parlé dans la section B.3.3.</para> <para>Avant d'être redimensionnées, les régions RAID-1 doivent être désactivées.</para> </sect2> <!-- B.5.2 RAID-4/5 --> <sect2 id="RAID-4ou5"><title>RAID-4/5</title> <para>Le redimensionnement d'une région RAID-4/5 suit les mêmes règles et restrictions que pour le redimensionnement d'une région RAID-0. Étendre une région RAID-4/5 en ajoutant un nouvel objet à la région. Réduire une région RAID-4/5 en supprimant jusqu'à N-1 objets fils d'une région qui contient N objets .</para> <para>On trouvera des informations sur l'exécution de cette fonction dans la Section B.5.2.</para> <para>Comme RAID-0, les régions RAID-4/5 doivent êtres désactivées avant d'être redimensionnées </para> </sect2> </sect1> <!-- B.6 Remplacement d'objets --> <sect1 id="Replacing-object"><title>Remplacement des Objets</title> <para>Le plug-in du MD permet de remplacer les objets fils d'une région RAID-0 par d'autres objets disponibles. Pour cela on utilise la fonction générale de remplacement de l'EVMS. Veuillez vous référer au Chapitre 22 pour des informations plus précises concernant l'exécution de cette fonction.</para> <para>Pour tous les niveaux RAID, l'objet de remplacement doit être au moins aussi grand que l'objet remplacé. Si l'objet de remplacement est plus grand que l'objet fils remplacé, l'espace en trop dans l'objet de remplacement sera inutilisé. Afin d'exécuter une opération de remplacement, tout volume comportant la région RAID doit être démonté. </para> <para>Cette possibilité est extrêmement utile pour les régions Linear-RAID et RAID-0. Cela est également possible pour les régions RAID-0 et RAID-4/5, mais ces deux niveaux RAID offrent la possibilité de marquer des objets comme étant défectueux, ce qui conduit finalement au même résultat. Du fait que ce processus peut être accompli lorsque la région est en cours d'utilisation, il est généralement préférable de remplacer les objets, opération qui ne peut être réalisée que lorsque la région est désactivée.</para> </sect1> </appendix> <!-- Annexe C. Le plug-in LVM -->