doc/fr_FR.ISO8859-1/books/handbook/geom/chapter.xml
Gabor Kovesdan a6684b4306 - Reduce the misuse of role attribute; role="directory" should actually be
class="directory"
- Add constraint to enforce this
2013-04-04 11:40:58 +00:00

684 lines
25 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.30
-->
<chapter id="GEOM">
<chapterinfo>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Ecrit par </contrib>
</author>
</authorgroup>
</chapterinfo>
<title>GEOM: architecture modulaire de gestion des disques</title>
&trans.a.fonvieille;
<sect1 id="GEOM-synopsis">
<title>Synopsis</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Système de gestion des disques GEOM</primary>
<see>GEOM</see>
</indexterm>
<para>Ce chapitre couvre l'utilisation des disques via le
système GEOM sous &os;. Cela comprend les utilitaires
principaux de contrôle des niveaux <acronym
role="Redundant Array of Inexpensive Disks">RAID</acronym> qui
utilisent GEOM pour la configuration. Ce chapitre n'abordera
pas en profondeur la manière dont GEOM gère et
contrôle les E/S, les systèmes sous-jacents, ou le
code utilisé. Ces informations sont fournies par la page
de manuel &man.geom.4; et ses nombreuses
références. Ce chapitre n'est pas non plus un
guide de référence sur les configurations
<acronym>RAID</acronym>. Seuls les niveaux de
<acronym>RAID</acronym> supportés par GEOM seront
abordés.</para>
<para>Après la lecture de ce chapitre, vous saurez:</para>
<itemizedlist>
<listitem>
<para>Quel type de support <acronym>RAID</acronym> est
disponible avec GEOM.</para>
</listitem>
<listitem>
<para>Comment utiliser les utilitaires de base pour
configurer, gérer et manipuler les différents
niveaux de <acronym>RAID</acronym>.</para>
</listitem>
<listitem>
<para>Comment dupliquer, entrelacer, et connecter &agrave;
distance des disques via le système GEOM.</para>
</listitem>
<listitem>
<para>Comment dépanner les disques attachés au
système GEOM.</para>
</listitem>
</itemizedlist>
<para>Avant de lire ce chapitre, vous devrez:</para>
<itemizedlist>
<listitem>
<para>Comprendre comment &os; gère les disques
(<xref linkend="disks"/>).</para>
</listitem>
<listitem>
<para>Savoir comment configurer et installer un nouveau noyau
&os; (<xref linkend="kernelconfig"/>).</para>
</listitem>
</itemizedlist>
</sect1>
<sect1 id="GEOM-intro">
<title>Introduction &agrave; GEOM</title>
<para>GEOM autorise l'accès et le contrôle de classes
&mdash; secteur principaux de démarrage (<quote>Master
Boot Records</quote>), labels <acronym>BSD</acronym>, etc.
&mdash; par l'intermédiaire d'interfaces, ou de fichiers
spéciaux du répertoire <filename
class="directory">/dev</filename>. En supportant plusieurs
configurations <acronym>RAID</acronym> logicielles, GEOM offrira
un accès transparent au système d'exploitation et
&agrave; ses utilitaires.</para>
</sect1>
<sect1 id="GEOM-striping">
<sect1info>
<authorgroup>
<author>
<firstname>Tom</firstname>
<surname>Rhodes</surname>
<contrib>Ecrit par </contrib>
</author>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
</authorgroup>
</sect1info>
<title>RAID0 - <quote>Striping</quote></title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Striping</primary>
</indexterm>
<para>Le <quote>striping</quote> (ou entrelacement) est
utilisé pour combiner plusieurs disques en un seul volume
de stockage. Dans de nombreux cas, cette configuration est
réalisée &agrave; l'aide de contrôleurs
matériels. Le sous-système GEOM offre le support
pour le niveau <acronym>RAID</acronym>0, également connu
sous le nom de <quote>striping</quote>.</para>
<para>Dans un système <acronym>RAID</acronym>0, les
données sont divisées en blocs répartis sur
l'ensemble des disques de la <quote>grappe</quote>. Au lieu de
devoir attendre l'écriture de 256k sur un disque, un
système <acronym>RAID</acronym>0 peut écrire en
simultané 64k sur quatre disques différents,
offrant alors des performances d'accès
supérieures. Ces performances peuvent être encore
améliorées en utilisant plusieurs
contrôleurs de disques.</para>
<para>Chaque disque d'une bande (<quote>stripe</quote>)
<acronym>RAID</acronym>0 doit avoir la même taille,
puisque les requêtes d'E/S sont entrelacées de
manière &agrave; lire ou écrire sur plusieurs
disques en parallèle.</para>
<mediaobject>
<imageobject>
<imagedata fileref="geom/striping" align="center"/>
</imageobject>
<textobject>
<phrase>Illustration de l'entrelacement de disques</phrase>
</textobject>
</mediaobject>
<procedure>
<title>Création d'un système entrelacé
&agrave; partir de disques ATA non formatés</title>
<step>
<para>Chargez le module
<filename>geom_stripe</filename>:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe</userinput></screen>
</step>
<step>
<para>Assurez-vous de l'existence d'un point de montage. Si
ce volume doit devenir une partition racine, utilisez alors un
autre point de montage comme <filename
class="directory">/mnt</filename>.</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
</step>
<step>
<para>Déterminez les noms de
périphériques pour les disques qui seront
entrelacé, et créez le nouveau
périphérique entrelacé. Par exemple, pour
entrelacer deux disques <acronym>ATA</acronym> non
utilisés et non partitionnés, par exemple
<filename>/dev/ad2</filename> et
<filename>/dev/ad3</filename>:</para>
<screen>&prompt.root; <userinput>gstripe label -v st0 /dev/ad2 /dev/ad3</userinput></screen>
<!--
<para>A message should be returned explaining that meta data has
been stored on the devices.
XXX: What message? Put it inside the screen output above.
-->
</step>
<step>
<para>Créez un label standard, également connu
sous le nom de table des partitions, sur le nouveau volume et
installez le code d'amoraçage par défaut:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
<step>
<para>Cette opération doit avoir créé
deux autres périphériques dans le
répertoire <filename
class="directory">/dev/stripe</filename> en plus du
périphérique <devicename>st0</devicename>:
<devicename>st0a</devicename> et
<devicename>st0c</devicename>. A ce stade, un système de fichiers
peut être créé sur
<devicename>st0a</devicename> en utilisant la commande
<command>newfs</command>:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/stripe/st0a</userinput></screen>
<para>Des nombres défileront &agrave; l'écran,
l'opération sera s'achèvera après
quelques secondes. Le volume a été
créé et est prêt &agrave; être
monté.</para>
</step>
</procedure>
<para>Pour
monter manuellement une grappe de disques entrelacés
fraîchement créée:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<para>Pour monter automatiquement au démarrage ce
système de fichiers entrelacé, ajoutez les
informations concernant ce volume dans le fichier
<filename>/etc/fstab</filename>:</para>
<screen>&prompt.root; <userinput>echo "/dev/stripe/st0a /mnt ufs rw 2 2" \</userinput>
<userinput>&gt;&gt; /etc/fstab</userinput></screen>
<para>Le module <filename>geom_stripe</filename> doit également
être automatiquement chargé lors de
l'initialisation du système en ajoutant une ligne au
fichier <filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_stripe_load="YES"' &gt;&gt; /boot/loader.conf</userinput></screen>
</sect1>
<sect1 id="GEOM-mirror">
<title>RAID1 - <quote>mirroring</quote></title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>mirroring</primary>
</indexterm>
<para>Le <quote>mirroring</quote> est une technologie
utilisée par de nombreuses entreprises et beaucoup de
particuliers pour sauvegarder les données sans
interruption des activités. Quand un miroir existe, cela
signifie que le disque B est une copie du disque A. Ou, autre
cas, que les disques C+D sont une copie des disques A+B.
Indépendamment de la configuration des disques, l'aspect
important est que les données d'un disque ou d'une
partition sont dupliquées. Ultérieurement, ces
données pourront être plus facilement
restaurées, sauvegardées sans interrompre le
système ou les accès, et pourront même
être stockées physiquement de manière
sure.</para>
<para>Pour commencer, vérifiez que le système dispose de deux
disques de taille identique, cet exemple suppose que ce sont des
disques <acronym>SCSI</acronym> (&man.da.4;).</para>
<para>Installez &os; sur le premier disque avec uniquement deux
partitions. Une partition sera la partition de pagination d'une
taille double &agrave; celle de la <acronym>RAM</acronym> et
l'espace restant sera alloué au système de
fichiers racine (<filename class="directory">/</filename>). Il
est possible d'avoir des partitions séparées pour
les autres points de montage, cependant cela augmentera
énormément le niveau de difficulté en
raison des modifications manuelles nécessaires des
paramètres de &man.bsdlabel.8; et &man.fdisk.8;.</para>
<para>Redémarrez et attendez l'initialisation
complète du système. Ensuite, ouvrez une session
sous l'utilisateur <username>root</username>.</para>
<para>Créez le périphérique
<filename>/dev/mirror/gm</filename> et liez-le avec
<filename>/dev/da1</filename>:</para>
<screen>&prompt.root; <userinput>gmirror label -vnb round-robin gm0 /dev/da1</userinput></screen>
<para>Le système devrait répondre par:</para>
<screen>
Metadata value stored on /dev/da1.
Done.</screen>
<para>Initialisez GEOM, cela devrait charger le module du noyau
<filename>/boot/kernel/geom_mirror.ko</filename>:</para>
<screen>&prompt.root; <userinput>gmirror load</userinput></screen>
<note>
<para>Cette commande devrait créer le fichier
spécial de périphérique
<devicename>gm0</devicename> sous le répertoire
<filename class="directory">/dev/mirror</filename>.</para>
</note>
<para>Installez un label <command>fdisk</command> et un code de
d'amorce génériques sur le nouveau
périphérique <devicename>gm0</devicename>:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
<para>Installez maintenant un label générique
<command>bsdlabel</command>:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/mirror/gm0s1</userinput></screen>
<note>
<para>S'il existe plusieurs <quote>slices</quote> et plusieurs
partitions, il faudra modifier les paramètres des deux
commandes précédentes. Elles doivent correspondre
aux tailles des partitions et <quote>slices</quote> sur l'autre
disque.</para>
</note>
<para>Utilisez l'utilitaire &man.newfs.8; pour créer un
système de fichiers <acronym>UFS</acronym> sur le
périphérique
<devicename>gm0s1a</devicename>:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
<para>Le système devrait alors afficher un certain nombre
d'informations et de nombres. C'est bon signe. Contrôlez
l'affichage &agrave; la recherche de messages d'erreur et montez
le périphérique sur le point de montage <filename
class="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
<para>Transférez maintenant toutes les données du
disque de démarrage vers ce nouveau système de
fichiers. Dans notre exemple nous utilisons &agrave; cet effet
les commandes &man.dump.8; et &man.restore.8;, cependant la
commande &man.dd.1; conviendrait également.</para>
<screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt &amp;&amp; restore -r -v -f-)</userinput></screen>
<para>Cela doit être effectué pour chaque
système de fichiers. Placez simplement le système
de fichiers approprié au bon endroit quand vous
exécutez la commande précédente.</para>
<para>Editez ensuite le fichier
<filename>/mnt/etc/fstab</filename> et supprimez ou mettez en
commentaires le fichier de pagination
<footnote>
<para>Il est &agrave; noter que commenter l'entrée de
l'espace de pagination dans <filename>fstab</filename> vous
demandera très probablement de mettre en place une
méthode différente pour activer l'espace de
pagination. Veuillez vous référer &agrave;
la <xref linkend="adding-swap-space"/> pour plus
d'informations.</para>
</footnote>. Modifiez les autres paramètres du
système de fichiers pour utiliser le nouveau disque comme
présenté l'exemple suivant:</para>
<programlisting># Device Mountpoint FStype Options Dump Pass#
#/dev/da0s2b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1</programlisting>
<para>Créez maintenant un fichier
<filename>boot.config</filename> sur la partition racine actuelle
et celle nouvellement créée. Ce fichier
<quote>aidera</quote> le <acronym>BIOS</acronym> &agrave;
déterminer correctement sur quel disque
démarrer:</para>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /boot.config</userinput></screen>
<screen>&prompt.root; <userinput>echo "1:da(1,a)/boot/loader" &gt; /mnt/boot.config</userinput></screen>
<note>
<para>Nous l'avons ajouter sur les deux partitions racines afin
d'assurer un démarrage correct. Si pour une raison
quelconque le système ne pourrait le lire &agrave; partir
de la nouvelle partition racine, une version de secours est
disponible.</para>
</note>
<para>Assurez-vous que le module
<filename>geom_mirror.ko</filename> sera chargé au
démarrage du système en lançant la commande
suivante:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
<para>Redémarrez le système:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Si tout s'est bien passé, le système a
dû démarrer &agrave; partir du
périphérique <devicename>gm0s1a</devicename> et
une invite d'ouverture de session doit être
affichée. En cas de problème, consultez la
section suivante consacrée au dépannage. Ajoutez
maintenant le disque <devicename>da0</devicename> au
périphérique <devicename>gm0</devicename>:</para>
<screen>&prompt.root; <userinput>gmirror configure -a gm0</userinput>
&prompt.root; <userinput>gmirror insert gm0 /dev/da0</userinput></screen>
<para>L'option <option>-a</option> demande &agrave;
&man.gmirror.8; d'utiliser une synchronisation automatique,
c'est &agrave; dire dupliquer automatiquement toute
écriture disque. La page de manuel explique comment
reconstruire et remplacer les disques, avec la différence
qu'elle utilise <devicename>data</devicename> &agrave; la place
de <devicename>gm0</devicename>.</para>
<sect2>
<title>Dépannage</title>
<sect3>
<title>Le système refuse de démarrer</title>
<para>Si le démarrage du système s'interrompt
&agrave; une invite semblable &agrave;:</para>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
<para>Redémarrez la machine &agrave; l'aide du bouton
de mise en marche ou de <quote>reset</quote>. Au menu de
démarrage, sélectionnez la sixième
option (6). Le système basculera alors vers une
invite du chargeur (&man.loader.8;). Chargez manuellement
le module du noyau:</para>
<screen>OK? <userinput>load geom_mirror</userinput>
OK? <userinput>boot</userinput></screen>
<para>Si cela fonctionne, cela signifie que pour une raison
quelconque le module n'a pas été correctement
chargé. Ajoutez la ligne:</para>
<programlisting>options GEOM_MIRROR</programlisting>
<para>dans le fichier de configuration du noyau, recompilez-le
puis réinstallez-le. Cela devrait corriger le
problème.</para>
</sect3>
</sect2>
</sect1>
<sect1 id="geom-ggate">
<title>Périphériques réseau <quote>GEOM
Gate</quote></title>
<para>GEOM supporte l'utilisation de périphériques
distants, comme les disques durs, les CD-ROMs, les fichiers,
etc. via l'utilisation des outils <quote>gate</quote>. Ce
mécanisme est semblable &agrave;
<acronym>NFS</acronym>.</para>
<para>Pour commencer, un fichier d'export doit être
créé. Ce fichier précise qui est
autorisé &agrave; accéder aux ressources
partagées et quel niveau d'accès est offert. Par
exemple, pour partager la quatrième tranche du premier
disque <acronym>SCSI</acronym>, le fichier
<filename>/etc/gg.exports</filename> suivant est
adapté:</para>
<programlisting>192.168.1.0/24 RW /dev/da0s4d</programlisting>
<para>Cette ligne autorisera l'accès au système de
fichiers présent sur la partition
<devicename>da0s4d</devicename> &agrave; toutes les machines du
réseau local.</para>
<para>Pour exporter ce périphérique, assurez-vous
tout d'abord qu'il n'est pas déj&agrave; monté et
lancez le <quote>démon</quote> &man.ggated.8;:</para>
<screen>&prompt.root; <userinput>ggated</userinput></screen>
<para>Maintenant pour monter le périphérique sur la
machine cliente, tapez les commandes suivantes:</para>
<screen>&prompt.root; <userinput>ggatec create -o rw 192.168.1.1 /dev/da0s4d</userinput>
ggate0
&prompt.root; <userinput>mount /dev/ggate0 /mnt</userinput></screen>
<para>A partir d'ici, on peut accéder au
périphérique par l'intermédiaire du point
de montage <filename class="directory">/mnt</filename>.</para>
<note>
<para>Il est &agrave; noter que toutes ces opérations
échoueront si le disque est déj&agrave;
monté soit sur la machine serveur soit sur tout autre
machine du réseau.</para>
</note>
<para>Quand le périphérique n'est plus
utilisé, il peut être démonté sans
risque avec la commande &man.umount.8; de la même
manière que pour tout autre disque.</para>
</sect1>
<sect1 id="geom-glabel">
<title>Ajouter un label &agrave; un disque</title>
<indexterm>
<primary>GEOM</primary>
</indexterm>
<indexterm>
<primary>Labels de disque</primary>
</indexterm>
<para>Lors de l'initialisation du système, le noyau &os;
créé les fichiers spéciaux de
périphériques &agrave; mesure que les
périphériques sont détectés. Cette
méthode de détection des
périphériques soulève quelques
problèmes, par exemple que se passe-t-il si un nouveau
disque est ajouté par l'intermédiaire de
l'interface <acronym>USB</acronym>? Il est très probable
qu'un disque flash se verra proposer le nom de
périphérique <devicename>da0</devicename> et le
périphérique original <devicename>da0</devicename>
déplacé en <devicename>da1</devicename>. Cela
sera &agrave; l'origine de problèmes de montage des
systèmes de fichiers s'ils sont listés dans
<filename>/etc/fstab</filename>, en fait cela pourra tout
simplement empêcher le démarrage du
système.</para>
<para>Une solution &agrave; ce problème est
d'<quote>enchaîner</quote> les périphériques
<acronym>SCSI</acronym> afin que tout nouveau
périphérique ajouté sur la carte
<acronym>SCSI</acronym> se voit assigné un numéro
de périphérique non-utilisé. Mais qu'en
est-il des périphériques <acronym>USB</acronym>
qui peuvent remplacer le premier disque <acronym>SCSI</acronym>?
Cela se produit parce que les périphériques
<acronym>USB</acronym> sont en général
détectés avant la carte <acronym>SCSI</acronym>.
Une solution est de brancher ces périphériques
qu'après le démarrage du système. Une
autre méthode serait de n'utiliser qu'un seul disque
<acronym>ATA</acronym> et de ne jamais lister de
périphériques <acronym>SCSI</acronym> dans le
fichier <filename>/etc/fstab</filename>.</para>
<para>Une meilleure solution existe. En employant l'utilitaire
<command>glabel</command>, un administrateur ou un utilisateur
peut attribuer un label &agrave; chacun de ses disques et
utiliser ces labels dans <filename>/etc/fstab</filename>. Comme
<command>glabel</command> conserve le label sur le dernier
secteur du support concerné, le label persistera
après redémarrage du système. En utilisant
ce label comme un véritable périphérique,
le système de fichiers pourra toujours être
monté indépendamment du fichier spécial de
périphérique utilisé pour y
accéder.</para>
<note>
<para>Cela se fait sans préciser qu'un label sera
permanent. L'utilitaire <command>glabel</command> peut
être utilisé pour créer des labels
persistants et des labels éphémères.
Seul le label persistant sera conservé après
redémarrage du système. Consultez la page de
manuel de &man.glabel.8; pour plus d'information sur les
différences entre labels.</para>
</note>
<sect2>
<title>Types et exemples de labels</title>
<para>Il existe deux types de label, un label
générique et un label de système de
fichiers. La différence entre les labels est le
système d'auto-détection associé avec les
labels permanents, et le fait que ce type de label sera
persistant après redémarrage du système.
A ces labels est attribué un sous-répertoire
spécifique de <filename
class="directory">/dev</filename> dont le nom sera basé
sur le type de système de fichiers. Par exemple, les
labels de systèmes de fichiers <acronym>UFS</acronym>2
seront créés dans le répertoire <filename
class="directory">/dev/ufs2</filename>.</para>
<para>Un label générique disparaîtra au
redémarrage suivant. Ces labels seront
créés dans le répertoire <filename
class="directory">/dev/label</filename> et sont parfaits pour
faire des expériences.</para>
<!-- XXXTR: How do you create a file system label without running newfs
or when there is no newfs (e.g.: cd9660)? -->
<para>Les labels permanents peuvent être placés sur
le système de fichiers en utilisant les utilitaires
<command>tunefs</command> ou <command>newfs</command>. Pour
créer un label permanent pour un système de
fichier <acronym>UFS</acronym>2 sans endommager de
données, utilisez la commande suivante:</para>
<screen>&prompt.root; <userinput>tunefs -L home /dev/da3</userinput></screen>
<warning>
<para>Si le système de fichiers est plein, cette
opération pourra entraîner une corruption des
données; si le système de fichiers est plein,
alors la première chose &agrave; faire sera de
supprimer les fichiers inutiles et non pas l'ajout de
labels.</para>
</warning>
<para>Un nouveau label devrait désormais apparaître
dans <filename class="directory">/dev/ufs2</filename> et
pourra être ajouté &agrave;
<filename>/etc/fstab</filename>:</para>
<programlisting>/dev/ufs2/home /home ufs rw 2 2</programlisting>
<note>
<para>Le système de fichiers ne doit pas être
monté lors de l'utilisation de
<command>tunefs</command>.</para>
</note>
<para>Le système de fichiers peut, maintenant, être
normalement monté:</para>
<screen>&prompt.root; <userinput>mount /home</userinput></screen>
<para>La commande suivante peut être employée pour
supprimer le label:</para>
<screen>&prompt.root; <userinput>glabel destroy home</userinput></screen>
<para>A partir de cet instant, aussi longtemps que le module du
noyau <filename>geom_label.ko</filename> est chargé au
démarrage avec <filename>/boot/loader.conf</filename>
ou que l'option <literal>GEOM_LABEL</literal> est
présente dans le noyau, le fichier spécial de
périphérique peut changer sans effet
négatif pour le système.</para>
<para>Les systèmes de fichiers peuvent également
être créés avec un label par défaut
en utilisant l'option <option>-L</option> avec
<command>newfs</command>. Consultez la page de manuel de
&man.newfs.8; pour plus d'information.</para>
</sect2>
</sect1>
</chapter>