Add translated version of GEOM chapter.

This commit is contained in:
Marc Fonvieille 2005-12-22 15:23:26 +00:00
parent 16a1b2312e
commit 2e472c2044
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=26677
2 changed files with 514 additions and 0 deletions

View file

@ -0,0 +1,15 @@
#
# Build the Handbook with just the content from this chapter.
#
# $FreeBSD$
#
CHAPTERS= geom/chapter.sgml
VPATH= ..
MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX}
DOC_PREFIX?= ${.CURDIR}/../../../..
.include "../Makefile"

View file

@ -0,0 +1,499 @@
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.12
-->
<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&egrave;me de gestion des disques GEOM</primary>
<see>GEOM</see>
</indexterm>
<para>Ce chapitre couvre l'utilisation des disques via le
syst&egrave;me GEOM sous &os;. Cela comprend les utilitaires
principaux de contr&ocirc;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&egrave;re dont GEOM g&egrave;re et
contr&ocirc;le les E/S, les syst&egrave;mes sous-jacents, ou le
code utilis&eacute;. Ces informations sont fournies par la page
de manuel &man.geom.4; et ses nombreuses
r&eacute;f&eacute;rences. Ce chapitre n'est pas non plus un
guide de r&eacute;f&eacute;rence sur les configurations
<acronym>RAID</acronym>. Seuls les niveaux de
<acronym>RAID</acronym> support&eacute;s par GEOM seront
abord&eacute;s.</para>
<para>Apr&egrave;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&eacute;rer et manipuler les diff&eacute;rents
niveaux de <acronym>RAID</acronym>.</para>
</listitem>
<listitem>
<para>Comment dupliquer, entrelacer, et connecter &agrave;
distance des disques via le syst&egrave;me GEOM.</para>
</listitem>
<listitem>
<para>Comment d&eacute;panner les disques attach&eacute;s au
syst&egrave;me GEOM.</para>
</listitem>
</itemizedlist>
<para>Avant de lire ce chapitre, vous devrez:</para>
<itemizedlist>
<listitem>
<para>Comprendre comment &os; g&egrave;re les disques
(<xref linkend="disks">).</para>
<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&egrave;s et le contr&ocirc;le de classes
&mdash; secteur principaux de d&eacute;marrage (<quote>Master
Boot Records</quote>), labels <acronym>BSD</acronym>, etc.
&mdash; par l'interm&eacute;diaire d'interfaces, ou de fichiers
sp&eacute;ciaux du r&eacute;pertoire <filename
role="directory">/dev</filename>. En supportant plusieurs
configurations <acronym>RAID</acronym> logicielles, GEOM offrira
un acc&egrave;s transparent au syst&egrave;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&eacute; pour combiner plusieurs disques en un seul volume
de stockage. Dans de nombreux cas, cette configuration est
r&eacute;alis&eacute;e &agrave; l'aide de contr&ocirc;leurs
mat&eacute;riels. Le sous-syst&egrave;me GEOM offre le support
pour le niveau <acronym>RAID</acronym>0, &eacute;galement connu
sous le nom de <quote>striping</quote>.</para>
<para>Dans un syst&egrave;me <acronym>RAID</acronym>0, les
donn&eacute;es sont divis&eacute;es en blocs r&eacute;partis sur
l'ensemble des disques de la <quote>grappe</quote>. Au lieu de
devoir attendre l'&eacute;criture de 256k sur un disque, un
syst&egrave;me <acronym>RAID</acronym>0 peut &eacute;crire en
simultan&eacute; 64k sur quatre disques diff&eacute;rents,
offrant alors des performances d'acc&egrave;s
sup&eacute;rieures. Ces performances peuvent &ecirc;tre encore
am&eacute;lior&eacute;es en utilisant plusieurs
contr&ocirc;leurs de disques.</para>
<para>Chaque disque d'une bande (<quote>stripe</quote>)
<acronym>RAID</acronym>0 doit avoir la m&ecirc;me taille,
puisque les requ&ecirc;tes d'E/S sont entrelac&eacute;es de
mani&egrave;re &agrave; lire ou &eacute;crire sur plusieurs
disques en parall&egrave;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&eacute;ation d'un syst&egrave;me entrelac&eacute;
&agrave; partir de disques ATA non format&eacute;s</title>
<step>
<para>Chargez le module
<filename>geom_stripe</filename>:</para>
<screen>&prompt.root; <userinput>kldload geom_stripe.ko</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
role="directory">/mnt</filename>.</para>
<screen>&prompt.root; <userinput>mkdir /mnt</userinput></screen>
</step>
<step>
<para>D&eacute;terminez les noms de
p&eacute;riph&eacute;riques pour les disques qui seront
entrelac&eacute;, et cr&eacute;ez le nouveau
p&eacute;riph&eacute;rique entrelac&eacute;. Par exemple, la
commande suivante pourrait &ecirc;tre utilis&eacute;e pour
entrelacer deux disques <acronym>ATA</acronym> non
partitionn&eacute;s: <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>Si ce volume sera utilis&eacute; comme
p&eacute;riph&eacute;rique racine pour le d&eacute;marrage du
syst&egrave;me, alors la commande suivante doit &ecirc;tre
ex&eacute;cut&eacute;e avant la cr&eacute;ation du
syst&egrave;me de fichiers:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/stripe/st0</userinput></screen>
</step>
<step>
<para>Une table des partitions doit &ecirc;tre
cr&eacute;&eacute;e sur le nouveau volume &agrave; l'aide de
la commande suivante:</para>
<screen>&prompt.root; <userinput>bsdlabel -wB /dev/stripe/st0</userinput></screen>
</step>
<step>
<para>Cette op&eacute;ration doit avoir cr&eacute;&eacute;
deux autres p&eacute;riph&eacute;riques dans le
r&eacute;pertoire <filename
role="directory">/dev/stripe</filename> en plus du
p&eacute;riph&eacute;rique <devicename>st0</devicename>:
<devicename>st0a</devicename> et
<devicename>st0c</devicename>. Un syst&egrave;me de fichiers
doit alors &ecirc;tre cr&eacute;&eacute; 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&eacute;fileront &agrave; l'&eacute;cran,
l'op&eacute;ration sera s'ach&egrave;vera apr&egrave;s
quelques secondes. Le volume a &eacute;t&eacute;
cr&eacute;&eacute; et est pr&ecirc;t &agrave; &ecirc;tre
mont&eacute;.</para>
</step>
</procedure>
<para>La commande suivante peut &ecirc;tre utilis&eacute;e pour
monter manuellement une grappe de disques entrelac&eacute;s
fra&icirc;chement cr&eacute;&eacute;e:</para>
<screen>&prompt.root; <userinput>mount /dev/stripe/st0a /mnt</userinput></screen>
<para>Pour monter automatiquement au d&eacute;marrage ce
syst&egrave;me de fichiers entrelac&eacute;, 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</filename> doit &eacute;galement
&ecirc;tre automatiquement charg&eacute; lors de
l'initialisation du syst&egrave;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&eacute;e par de nombreuses entreprises et beaucoup de
particuliers pour sauvegarder les donn&eacute;es sans
interruption des activit&eacute;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&eacute;pendemment de la configuration des disques, l'aspect
important est que les donn&eacute;es d'un disque ou d'une
partition sont dupliqu&eacute;es. Ult&eacute;rieurement, ces
donn&eacute;es pourront &ecirc;tre plus facilement
restaur&eacute;es, sauvegard&eacute;es sans interrompre le
syst&egrave;me ou les acc&egrave;s, et pourront m&ecirc;me
&ecirc;tre stock&eacute;es physiquement de mani&egrave;re
sure.</para>
<para>Pour commencer, v&eacute;rifiez que le syst&egrave;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&eacute; au syst&egrave;me de
fichiers racine (<filename role="directory">/</filename>). Il
est possible d'avoir des partitions s&eacute;par&eacute;es pour
les autres points de montage, cependant cela augmentera
&eacute;norm&eacute;ment le niveau de difficult&eacute; en
raison des modifications manuelles n&eacute;cessaires des
param&egrave;tres de &man.bsdlabel.8; et &man.fdisk.8;.</para>
<para>Red&eacute;marrez et attendez l'initialisation
compl&egrave;te du syst&egrave;me. Ensuite, ouvrez une session
sous l'utilisateur <username>root</username>.</para>
<para>Cr&eacute;ez le p&eacute;riph&eacute;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&egrave;me devrait r&eacute;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&eacute;er les fichiers
sp&eacute;ciaux de p&eacute;riph&eacute;riques
<devicename>gm0</devicename>, <devicename>gm0s1</devicename>,
<devicename>gm0s1a</devicename>, et
<devicename>gm0s1c</devicename> sous le r&eacute;pertoire
<filename role="directory">/dev/mirror</filename>.</para>
</note>
<para>Installez un label <command>fdisk</command> et un code de
d'amorce g&eacute;n&eacute;riques sur le nouveau
p&eacute;riph&eacute;rique <devicename>gm0</devicename>:</para>
<screen>&prompt.root; <userinput>fdisk -vBI /dev/mirror/gm0</userinput></screen>
<para>Installez maintenant un label g&eacute;n&eacute;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&egrave;tres des deux
commandes pr&eacute;c&eacute;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&eacute;er un
syst&egrave;me de fichiers par d&eacute;faut sur le
p&eacute;riph&eacute;rique
<devicename>gm0s1a</devicename>:</para>
<screen>&prompt.root; <userinput>newfs -U /dev/mirror/gm0s1a</userinput></screen>
<para>Le syst&egrave;me devrait alors afficher un certain nombre
d'informations et de nombres. C'est bon signe. Contr&ocirc;lez
l'affichage &agrave; la recherche de messages d'erreur et montez
le p&eacute;riph&eacute;rique sur le point de montage <filename
role="directory">/mnt</filename>:</para>
<screen>&prompt.root; <userinput>mount /dev/mirror/gm0s1a /mnt</userinput></screen>
<para>Transf&eacute;rez maintenant toutes les donn&eacute;es du
disque de d&eacute;marrage vers ce nouveau syst&egrave;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 &eacute;galement. Nous
&eacute;viterons d'utiliser &man.tar.1; car ce dernier ne
copierait pas le code d'amor&ccedil;age, ce qui par
cons&eacute;quent garantirait un &eacute;chec.</para>
<screen>&prompt.root; <userinput>dump -L -0 -f- / |(cd /mnt && restore -r -v -f-)</userinput></screen>
<para>Cela doit &ecirc;tre effectu&eacute; pour chaque
syst&egrave;me de fichiers. Placez simplement le syst&egrave;me
de fichiers appropri&eacute; au bon endroit quand vous
ex&eacute;cutez la commande pr&eacute;c&eacute;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&eacute;e de
l'espace de pagination dans <filename>fstab</filename> vous
demandera tr&egrave;s probablement de mettre en place une
m&eacute;thode diff&eacute;rente pour activer l'espace de
pagination. Veuillez vous r&eacute;f&eacute;rer &agrave;
la <xref linkend="adding-swap-space"> pour plus
d'informations.</para>
</footnote>. Modifiez les autres param&egrave;tres du
syst&egrave;me de fichiers pour utiliser le nouveau disque.
Etudiez 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&eacute;ez maintenant un fichier
<filename>boot.conf</filename> sur la partition racine actuelle
et celle nouvellement cr&eacute;&eacute;e. Ce fichier
<quote>aidera</quote> le <acronym>BIOS</acronym> &agrave;
d&eacute;terminer correctement sur quel disque
d&eacute;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&eacute;marrage correct. Si pour une raison
quelconque le syst&egrave;me ne pourrait le lire &agrave; partir
de la nouvelle partition racine, une version de secours est
disponible.</para>
</note>
<para>Ajoutez maintenant la ligne suivante au nouveau fichier
<filename>/boot/loader.conf</filename>:</para>
<screen>&prompt.root; <userinput>echo 'geom_mirror_load="YES"' &gt;&gt; /mnt/boot/loader.conf</userinput></screen>
<para>Cette ligne demandera &agrave; l'utilitaire &man.loader.8;
de charger le module &man.loader.8; lors de l'initialisation du
syst&egrave;me.</para>
<para>Red&eacute;marrez le syst&egrave;me:</para>
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
<para>Si tout s'est bien pass&eacute;, le syst&egrave;me a
d&ucirc; d&eacute;marrer &agrave; partir du
p&eacute;riph&eacute;rique <devicename>gm0s1a</devicename> et
une invite d'ouverture de session doit &ecirc;tre
affich&eacute;e. En cas de probl&egrave;me, consultez la
section suivante consacr&eacute;e au d&eacute;pannage. Ajoutez
maintenant le disque <devicename>da0</devicename> au
p&eacute;riph&eacute;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
&eacute;criture disque. La page de manuel explique comment
reconstruire et remplacer les disques, avec la diff&eacute;rence
qu'elle utilise <devicename>data</devicename> &agrave; la place
de <devicename>gm0</devicename>.</para>
<sect2>
<title>D&eacute;pannage</title>
<sect3>
<title>Le syst&egrave;me refuse de d&eacute;marrer</title>
<para>Si le d&eacute;marrage du syst&egrave;me s'interrompt
&agrave; une invite semblable &agrave;:</para>
<programlisting>ffs_mountroot: can't find rootvp
Root mount failed: 6
mountroot></programlisting>
<para>Red&eacute;marrez la machine &agrave; l'aide du bouton
de mise en marche ou de <quote>reset</quote>. Au menu de
d&eacute;marrage, s&eacute;lectionnez la sixi&egrave;me
option (6). Le syst&egrave;me basculera alors vers une
invite du chargeur (&man.loader.8;). Chargez manuellement
le module du noyau:</para>
<screen>OK? <userinput>load geom_mirror.ko</userinput>
OK? <userinput>boot</userinput></screen>
<para>Si cela fonctionne, cela signifie que pour une raison
quelconque le module n'a pas &eacute;t&eacute; correctement
charg&eacute;. Ajoutez la ligne:</para>
<programlisting>options GEOM_MIRROR</programlisting>
<para>dans le fichier de configuration du noyau, recompilez-le
puis r&eacute;installez-le. Cela devrait corriger le
probl&egrave;me.</para>
</sect3>
</sect2>
</sect1>
</chapter>
<!--
Local Variables:
mode: sgml
sgml-declaration: "../chapter.decl"
sgml-indent-data: t
sgml-omittag: nil
sgml-always-quote-attributes: t
sgml-parent-document: ("../book.sgml" "part" "chapter")
End:
-->