                             Guide pratique de LVM

Version franaise du LVM HOWTO

  A. J. Lewis

   <alewis
   CHEZ rackable POINT com>

  Emmanuel Araman

   Adaptation franaise <Emmanuel CHEZ araman POINT org>

  Camille Huot

   Relecture de la version franaise <cam CHEZ cameuh POINT net>

  Alain Portal

   Relecture de la version franaise <aportal CHEZ univ TIRET montp2 POINT
   fr>

  Jean-Philippe Gurard

   Prparation de la publication de la v.f. <fevrier CHEZ tigreraye POINT
   org>

   Version : 0.19.fr.1.0

   Copyright  2002-2003-NaN Sistina Software, Inc

   Copyright  2004-2005-NaN Red Hat, Inc

   Copyright  2005-2006-NaN Terrascale Technologies, Inc

   Copyright  2006 Rackable Systems, Inc

   Copyright  2004-2007-NaN Emmanuel Araman, Camille Huot, Alain Portal,
   Jean-Philippe Gurard

   Vous est autoris  copier, distribuer et modifier ce document selon les
   termes de la Licence de documentation libre GNU (GFDL), version 1.2 ou
   ultrieure, telle que publie par la Free Software Foundation ; sans
   section inaltrable, ni texte de premire de couverture, ni texte de
   quatrime de couverture. La section  GNU Free Documentation License 
   contient une copie de cette licence.

   Permission is granted to copy, distribute and/or modify this document
   under the terms of the GNU Free Documentation License, Version 1.2
   published by the Free Software Foundation; with no Invariant Sections, no
   Front-Cover Texts and no Back-Cover Texts. A copy of the license is
   included in the section entitled "GNU Free Documentation License".

   Ce document est distribu dans l'espoir qu'il sera utile mais SANS AUCUNE
   GARANTIE, explicite ou implicite. Mme si tous les efforts ont t faits
   pour assurer l'exactitude des informations fournies ici, les auteurs,
   diteurs, responsables des mises  jours et contributeurs n'assument
   AUCUNE RESPONSABILIT pour les erreurs ou les dommages, directs ou
   indirects, qui pourraient rsulter de l'utilisation des informations
   ci-incluses.

   This document is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY, either expressed or implied. While every effort has
   been taken to ensure the accuracy of the information documented herein,
   the author(s)/editor(s)/maintainer(s)/contributor(s) assumes NO
   RESPONSIBILITY for any errors, or for any damages, direct or
   consequential, as a result of the use of the information documented
   herein.

   28 janvier 2007

   +------------------------------------------------------------------------+
   | Historique des versions                                                |
   |------------------------------------------------------------------------|
   | Version 0.19.fr.1.0         | 2007-01-28       | EA                    |
   |------------------------------------------------------------------------|
   | Mise  jour de la version franaise.                                   |
   |------------------------------------------------------------------------|
   | Version 0.14.fr.1.0         | 2004-10-11       | EA, CH, AP, JPG       |
   |------------------------------------------------------------------------|
   | Premire traduction franaise.                                         |
   |------------------------------------------------------------------------|
   | Version 0.19                | 2006-11-27       | AJL                   |
   |------------------------------------------------------------------------|
   | Clarification des conditions pour les sauvegardes instantanes dans    |
   | [1]Section 8,  Les instantans (snapshots)  et ajout d'une remarque  |
   | sur le redimensionnement de la source d'un instantan (Clarified full  |
   | snapshot conditions in [2]Section 8,  Les instantans (snapshots)    |
   | and [3]Section 4.1,  Crer le volume d'instantan  and added a note  |
   | about resizing the origin of a snapshot) ; correction des droits       |
   | d'utilisation (Fixed Rackable copyright) ; correction de l'adresse     |
   | e-mail (Fixed e-mail address).                                         |
   |------------------------------------------------------------------------|
   | Version 0.18                | 2006-11-27       | AJL                   |
   |------------------------------------------------------------------------|
   | Clarification sur l'utilisation du disque complet dans [4]Section 1,   |
   |  Initialiser des disques ou des partitions de disques  (Clarify      |
   | whole disk usage in [5]Section 1,  Initialiser des disques ou des     |
   | partitions de disques ) ; mise  jour des droits d'utilisation        |
   | (Updated copyright) ; mise  jour de l'adresse e-mail (Updated e-mail  |
   | address).                                                              |
   |------------------------------------------------------------------------|
   | Version 0.17                | 2005-10-03       | AJL                   |
   |------------------------------------------------------------------------|
   | Ajout d'une entre dans la FAQ sur la taille maximale des LVs avec     |
   | LVM 2 (Added FAQ entry for max size of LVs in LVM2) ; mnage dans le   |
   | paragraphe "Rcupration des mta-donnes d'un volume physique" (Did   |
   | some cleanup of "Recover physical volume metadata" section) ; mise    |
   | jour de l'adresse e-mail (Updated e-mail address).                     |
   |------------------------------------------------------------------------|
   | Version 0.16                | 2005-07-15       | AJL                   |
   |------------------------------------------------------------------------|
   | Ajout d'informations relatives au scripts de dmarrage de LVM 2 (Added |
   | lvm2 boot-time scripts info) ; ajout du paragraphe "Rcupration des   |
   | mta-donnes d'un volume physique" - remerciements  Maximilian Attems |
   | pour le patch (Added "Recover physical volume metadata" section -      |
   | thanks to Maximilian Attems for the patch).                            |
   |------------------------------------------------------------------------|
   | Version 0.15                | 2005-06-09       | AJL                   |
   |------------------------------------------------------------------------|
   | Suppression des rfrences  xfs_freeze, qui ne sont plus ncessaires  |
   | (Removed references to xfs_freeze - it is no longer needed) ; mise    |
   | jour du paragraphe sur les instantans dans le chapitre "Anatomie de   |
   | LVM" (Updated snapshots subsection in Anatomy of LVM section) ; ajout  |
   | de plusieurs entres dans la FAQ LVM 2 (Added a couple entries to the  |
   | LVM2 FAQ) ; correction de plusieurs coquilles (Fixed a couple typos).  |
   |------------------------------------------------------------------------|
   | Version 0.14                | 2004-10-06       | AJL                   |
   |------------------------------------------------------------------------|
   | Ajout d'une rfrence au script lvm2_createinitrd dans les sources ;   |
   | petite mise  jour de l'exemple de lvcreate ; ajout de  vgchange      |
   | -ay  dans la recette  Dplacer un groupe de volumes vers un autre    |
   | systme  (Added reference to lvm2_createinitrd in source tree;        |
   | Adjusted lvcreate example slightly; Added 'vgchange -ay' in 'Moving a  |
   | volume group to another system' recipe).                               |
   |------------------------------------------------------------------------|
   | Version 0.13                | 2004-08-16       | AJL                   |
   |------------------------------------------------------------------------|
   | Clarification de la description sur les liens ; correction du nombre   |
   | majeur du priphrique de contrle de dm ; suppression de /boot de vg  |
   | dans l'exemple de petite configuration LVM ; ajout de commentaires sur |
   | /boot et / dans LVM ; suppression d'un lien mort (Clarify symlink farm |
   | description; Fix dm control device major number; Remove /boot from vg  |
   | in small lvm setup example; Add notes about /boot and / on LVM; Remove |
   | outdated link).                                                        |
   |------------------------------------------------------------------------|
   | Version 0.12                | 2004-06-07       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour de la FAQ sur LVM 2 (Updated LVM 2 FAQ entries)            |
   |------------------------------------------------------------------------|
   | Version 0.11                | 2004-05-03       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour de la FAQ sur LVM 2 (Updated LVM 2 FAQ entries)            |
   |------------------------------------------------------------------------|
   | Version 0.10                | 2004-04-22       | AJL                   |
   |------------------------------------------------------------------------|
   | Retrait de -print0 de la commande find suite aux retours indiquant que |
   | cela ne fonctionne pas (removed -print0 from find command after        |
   | receiving reports that it doesn't work).                               |
   |------------------------------------------------------------------------|
   | Version 0.9                 | 2004-04-16       | AJL                   |
   |------------------------------------------------------------------------|
   | Ajout de -print0  la commande find avant la redirection vers cpio     |
   | (Added -print0 to find command before pipingit to cpio) ; changement   |
   | de la ligne de commande vgimport pour LVM 2 (Changed vgimport command  |
   | line for LVM 2) ; ajout de ext3 au paragraphe de redimensionnement de  |
   | ext2 (Added ext3 to the ext2 resize section) ; mise  jour de la FAQ   |
   | (Updated FAQ)  mise  jour des liens (Updated Links section).          |
   |------------------------------------------------------------------------|
   | Version 0.8                 | 2004-02-25       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour de l'emplacement du CVS et des liens FTP (Updated CVS      |
   | locations and FTP links) ; ajout d'un paragraphe sur l'extension d'un  |
   | systme de fichiers JFS (Added section on extending a JFS              |
   | filesystem) ; corrections typographiques -- utilisation d'aspell sur   |
   | le document (Fixed typos - Ran aspell against document).               |
   |------------------------------------------------------------------------|
   | Version 0.7                 | 2004-02-16       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour pour inclure les informations sur LVM 2 et le mappeur de   |
   | priphriques (Updated to include LVM 2 and device mapper              |
   | information)  mise  jour des adresses lectroniques (Updated email    |
   | addresses) ; mise  jour des droits d'utilisation (Updated             |
   | copyright) ; ajout de la FAQ (Added FAQ section) ; ajout de la licence |
   | (Added document license) ; mise  jour vers DocBook 4.2 (Updated to    |
   | docbook 4.2).                                                          |
   |------------------------------------------------------------------------|
   | Version 0.6                 | 2003-12-09       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour pour LVM 1.0.8 (Updated for LVM 1.0.8) ; rparation d'un   |
   | lien cass (fixed broken link) ; clarification de la partie sur le     |
   | script d'initialisation RedHat (Clarified redhat init script section). |
   |------------------------------------------------------------------------|
   | Version 0.5                 | 2003-02-10       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour des informations du script initscript de RedHat pour les   |
   | versions 7.0 et suprieures (Updated Redhat initscript information for |
   | 7.0 and above) ; ajout des informations pour supprimer une table de    |
   | partitions d'un disque lorsque pvcreate choue (Added information on   |
   | removing a partition table from a disk if pvcreate fails) ; la taille  |
   | par dfaut de PE est dsormais de 32 Mo (Default PE size is 32MB       |
   | now) ; mise  jour de la mthode d'instantans avec XFS (Updated       |
   | method for snapshotting under XFS).                                    |
   |------------------------------------------------------------------------|
   | Version 0.4                 | 2002-12-16       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour pour LVM 1.0.6 (Updated for LVM 1.0.6).                    |
   |------------------------------------------------------------------------|
   | Version 0.3                 | 2002-09-16       | AJL                   |
   |------------------------------------------------------------------------|
   | Suppression de l'exemple de pvmove du chapitre  Oprations de         |
   | commandes  -- nous pointons dsormais vers la recette plus dtaille  |
   | sur pvmove qui contient diffrents avertissements (removed example     |
   | pvmove from Command Operations section - we now just point to the more |
   | detailed recipe on pvmove that contains various warnings and such).    |
   |------------------------------------------------------------------------|
   | Version 0.2                 | 2002-09-11       | AJL                   |
   |------------------------------------------------------------------------|
   | Mise  jour pour LVM 1.0.5 et conversion vers DocBook XML 4.1.2.       |
   | (Updated for LVM 1.0.5 and converted to DocBook XML 4.1.2).            |
   |------------------------------------------------------------------------|
   | Version 0.1                 | 2002-04-28       | gf                    |
   |------------------------------------------------------------------------|
   | Conversion initiale du source du format Latex de Sistina vers le       |
   | format LinuxDoc du tLDP (Initial conversion from Sistina's LaTeX       |
   | source and import to tLDP in LinuxDoc format).                         |
   +------------------------------------------------------------------------+

   Rsum

   Ce document explique comment compiler, installer et configurer le
   gestionnaire de volumes logiques (LVM) de Linux. Il inclut aussi une
   description synthtique de LVM. Cette version de guide pratique couvre
   LVM 2 avec le mappeur de priphriques et LVM 1.0.8.

   --------------------------------------------------------------------------

   Table des matires

   Introduction

                1. Dernire version de ce document

                2. Limitations de responsabilit

                3. Auteurs

   1. Qu'est-ce que LVM ?

   2. Qu'est-ce que la gestion par volumes logiques ?

                1. Pourquoi en voudrais-je ?

                2. Bnfices de la gestion par volumes logiques sur un petit
                systme

                3. Avantages de la gestion par volumes logiques sur un gros
                systme

   3. Anatomie de LVM

                1. Groupe de volumes (Volume Group, VG)

                2. Volume physique (Physical Volume, PV)

                3. Volume logique (Logical Volume, LV)

                4. Extent physique (Physical Extent, PE)

                5. Extent logique (Logical Extent, LE)

                6. Mettre tout ensemble

                7. Types de correspondances (linaire/rpartie)

                8. Les instantans (snapshots)

   4. Questions frquemment poses

                1. FAQ LVM 2

                2. FAQ LVM 1

   5. Obtenir LVM

                1. Tlcharger le code source

                2. Tlcharger le code source de dveloppement par CVS

                3. Avant de commencer

                4. Configuration initiale

                5. Rcupration du code source

                6. Mise  jour du code

                7. Commencer un projet

                8. Bidouiller le code

                9. Conflits

   6. Construire les modules du noyau

                1. Construire le module noyau device-mapper

                2. Construire le module du noyau pour LVM 1

                             2.1. Fabriquer un correctif pour votre noyau

                             2.2. Construire le module LVM pour Linux 2.2.17+

                             2.3. Compiler les modules LVM pour Linux 2.4

                             2.4. Vrifier le systme de fichiers proc

   7. Scripts de dmarrage pour LVM 1

                1. Caldera

                2. Debian

                3. Mandrake

                4. Redhat

                5. Slackware

                6. SuSE

   8. Scripts de dmarrage pour LVM 2

   9. Compiler LVM  partir des sources

                1. Compiler la bibliothque et les utilitaires LVM

                2. Installer la bibliothque LVM et les utilitaires

                3. Supprimer la bibliothque LVM et les utilitaires

   10. Migrer d'une version prcdente de LVM vers LVM 1.0.8

                1. Migrer vers LVM 1.0.8 avec une partition racine non LVM

                2. Migrer vers LVM 1.0.8 avec une partition racine en LVM et
                initrd

   11. Tches courantes

                1. Initialiser des disques ou des partitions de disques

                2. Crer un groupe de volumes

                3. Activer un groupe de volumes

                4. Enlever un groupe de volumes

                5. Ajouter un volume physique  un groupe de volumes

                6. Supprimer un volume physique d'un groupe de volumes

                7. Crer un volume logique

                8. Supprimer un volume logique

                9. tendre un volume logique

                10. Rduire un volume logique

                11. Migrer des donnes hors d'un volume physique

   12. Partitionnement de disques

                1. Plusieurs partitions sur le mme disque

                2. tiquettes de disque Sun (Sun disk labels)

   13. Recettes

                1. Mettre en place LVM avec trois disques SCSI

                             1.1. Prparation des disques

                             1.2. Configuration du groupe de volumes

                             1.3. Cration du volume logique

                             1.4. Cration du systme de fichiers

                             1.5. Test du systme de fichiers

                2. Mise en place de LVM sur trois disques SCSI avec
                rpartition (striping)

                             2.1. Prparation des partitions de disque

                             2.2. Configuration du groupe de volumes

                             2.3. Cration du volume logique

                             2.4. Cration du systme de fichiers

                             2.5. Test du systme de fichiers

                3. Ajouter un nouveau disque dans un systme avec plusieurs
                disques SCSI

                             3.1. Situation actuelle

                             3.2. Prparation du partitionnement du disque

                             3.3. Ajout des nouvelles partitions au groupe de
                             volumes

                             3.4. Extension des systmes de fichiers

                             3.5. Remontage des volumes tendus

                4. Faire une sauvegarde avec un instantan (snapshot)

                             4.1. Crer le volume d'instantan

                             4.2. Monter le volume d'instantan

                             4.3. Faire la sauvegarde

                             4.4. Supprimer l'instantan

                5. Enlever un disque

                             5.1. Distribuer les anciens extents vers des
                             disques existants du groupe de volumes

                             5.2. Distribuer les anciens extents sur un
                             nouveau disque de remplacement

                6. Dplacer un groupe de volumes vers un autre systme

                             6.1. Dmonter le systme de fichiers

                             6.2. Marquer le groupe de volumes comme inactif

                             6.3. Exporter le groupe de volumes

                             6.4. Importer le groupe de volumes

                             6.5. Activer le groupe de volumes

                             6.6. Monter le systme de fichiers

                7. Diviser un groupe de volumes

                             7.1. Dterminer l'espace libre

                             7.2. Dplacer les donnes des disques 
                             rutiliser

                             7.3. Crer un nouveau groupe de volumes

                             7.4. Enlever le volume restant

                             7.5. Crer le nouveau volume logique

                             7.6. Crez un systme de fichiers sur le volume

                             7.7. Montez le nouveau volume

                8. Convertir le systme de fichiers racine en LVM 1

                             8.1. Dmarrer en mode mono-utilisateur

                             8.2. Utiliser Parted

                             8.3. Redmarrer

                             8.4. Vrifier les options de configuration du
                             noyau

                             8.5. Ajuster le type de partition

                             8.6. Configurer LVM 1 pour la nouvelle
                             configuration

                             8.7. Crer le systme de fichiers

                             8.8. Mise  jour de /etc/fstab

                             8.9. Crez une image disque RAM d'initialisation
                             pour LVM 1

                             8.10. Mise  jour de /etc/lilo.conf

                             8.11. Lancez lilo pour crire le nouveau secteur
                             de boot

                             8.12. Redmarrer avec LVM

                             8.13. Ajoutez le reste du disque dans LVM

                9. Restaurer les mta-donnes d'un volume physique

   A. Oprations dangereuses

                1. Restaurer les UUID de VG avec uuid_fixer

                2. Partager des volumes LVM

   B. Signaler des erreurs ou des bogues

   C. Contacts et liens

                1. Listes de diffusion

                2. Liens

   D. GNU Free Documentation License

                1. PREAMBLE

                2. APPLICABILITY AND DEFINITIONS

                3. VERBATIM COPYING

                4. COPYING IN QUANTITY

                5. MODIFICATIONS

                6. COMBINING DOCUMENTS

                7. COLLECTIONS OF DOCUMENTS

                8. AGGREGATION WITH INDEPENDENT WORKS

                9. TRANSLATION

                10. TERMINATION

                11. FUTURE REVISIONS OF THIS LICENSE

                12. ADDENDUM: How to use this License for your documents

Introduction

   Table des matires

   1. Dernire version de ce document

   2. Limitations de responsabilit

   3. Auteurs

   Ce document essaie de rassembler tous les lments ncessaires pour
   obtenir LVM et le faire fonctionner. Il traite l'ensemble du processus
   pour l'obtenir, le compiler, l'installer et le mettre en uvre. Il fournit
   aussi des liens vers des configurations testes de LVM. Cette version de
   guide pratique couvre LVM 2 et LVM 1.0.8.

   Toutes les versions prcdentes de LVM sont considres comme obsoltes et
   sont gardes uniquement pour des raisons historiques. Ce document n'a pas
   pour objet d'essayer d'expliquer et dcrire le fonctionnement de ces
   versions.

1. Dernire version de ce document

   Vous trouverez la plus rcente version franaise de ce document 
   l'adresse : http://www.traduc.org/docs/howto/lecture/LVM-HOWTO.html
   [http://www.traduc.org/docs/howto/lecture/LVM-HOWTO.html].

   La dernire version originale de ce guide pratique est disponible sur le
   serveur CVS du Projet de documentation Linux avec les autres guides
   pratiques (howto). Vous pouvez l'obtenir en faisant un checkout de
    LDP/howto/docbook/LVM-HOWTO.xml  sur le serveur CVS du LDP. Vous
   devriez toujours pouvoir obtenir une version lisible de ce guide pratique
    l'adresse : http://www.tldp.org/HOWTO/LVM-HOWTO.html
   [http://www.tldp.org/HOWTO/LVM-HOWTO.html].

2. Limitations de responsabilit

   This document is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY, either expressed or implied. While every effort has
   been taken to ensure the accuracy of the information documented herein,
   the author(s)/editor(s)/maintainer(s)/contributor(s) assumes NO
   RESPONSIBILITY for any errors, or for any damages, direct or
   consequential, as a result of the use of the information documented
   herein.

   Ce document est distribu dans l'espoir qu'il sera utile mais SANS AUCUNE
   GARANTIE, explicite ou implicite. Mme si tous les efforts ont t faits
   pour assurer l'exactitude des informations documentes ici, les auteurs,
   diteurs, mainteneurs, contributeurs, traducteurs n'assument AUCUNE
   RESPONSABILIT pour les erreurs ou les dommages, directs ou indirects, qui
   pourraient rsulter de l'utilisation des informations documentes ici.

3. Auteurs

   Liste de tous ceux qui ont crit dans ce document.

     * AJ Lewis

     * Joe Thornber

     * Patrick Caulfield

     * Alasdair Kergon

     * Jochen Radmacher - Informations sur l'extension de JFS

   S'il vous plat, veuillez prvenir le mainteneur du guide pratique si vous
   pensez devoir tre dans la liste ci-dessus.

Chapitre 1. Qu'est-ce que LVM ?

   LVM est un gestionnaire de volumes logiques (Logical Volume Manager) pour
   le systme d'exploitation Linux. Il existe dsormais deux versions de LVM
   pour Linux :

     * LVM 2 - La dernire et meilleure version de LVM pour Linux.

       LVM 2 est presque entirement compatible avec les volumes crs avec
       LVM 1,  l'exception des instantans (il faut supprimer les volumes
       d'instantans avant de passer  LVM 2).

       LVM 2 utilise le mappeur de priphriques du noyau Linux. Le mappeur
       de priphriques est inclus dans les noyaux 2.6. Des mises  jour sont
       disponibles pour les noyaux 2.4 rcents.

     * LVM 1 - La version prsente dans les noyaux 2.4.

       LVM 1 est un produit mature et considr comme stable depuis plusieurs
       annes. Le pilote noyau pour LVM 1 est inclus dans les noyaux 2.4,
       mais cela ne veut pas dire que votre noyau 2.4.x est  jour de la
       dernire version de LVM. Regardez dans le fichier [6]README pour
       obtenir les dernires informations sur les versions de noyaux
       possdant le code le plus rcent.

Chapitre 2. Qu'est-ce que la gestion par volumes logiques ?

   Table des matires

   1. Pourquoi en voudrais-je ?

   2. Bnfices de la gestion par volumes logiques sur un petit systme

   3. Avantages de la gestion par volumes logiques sur un gros systme

   La gestion par volumes logiques permet une gestion de plus haut niveau des
   problmes de stockage sur disque par rapport  l'approche traditionnelle
   avec des disques et des partitions. Cela apporte  l'administrateur
   systme une bien meilleure flexibilit pour allouer de l'espace aux
   applications et aux utilisateurs.

   Les volumes de stockage crs au moyen du gestionnaire de volumes logiques
   peuvent tre redimensionns et dplacs  la demande, bien que cela puisse
   ncessiter une mise  jour des utilitaires des systmes de fichiers.

   Le gestionnaire de volumes logiques autorise aussi la gestion de volumes
   logiques par groupes d'utilisateurs, ce qui permet  l'administrateur
   systme de grer des groupes de volumes en utilisant un nommage
   comprhensible avec, par exemple, des noms comme  developpement  et
    ventes  plutt que les noms des disques physiques comme  sda  et
    sdb .

1. Pourquoi en voudrais-je ?

   La gestion par volumes logiques est traditionnellement associe aux
   grosses installations contenant de nombreux disques mais elle est
   galement approprie pour les petites installations avec un ou deux
   disques.

2. Bnfices de la gestion par volumes logiques sur un petit systme

   Le partitionnement du disque dur est l'une des dcisions difficiles pour
   un nouvel utilisateur de Linux. La ncessit de devoir estimer prcisment
   l'espace disque pour les fichiers systmes et utilisateurs rend
   l'installation plus complexe que ncessaire et certains utilisateurs
   choisissent simplement de mettre toutes leurs donnes sur une seule grosse
   partition pour essayer de contourner ce problme.

   Une fois que l'utilisateur (ou le programme d'installation) a dtermin
   l'espace ncessaire pour /home, /usr et /, il arrive frquemment qu'une
   des partitions soit sature alors qu'il reste encore plein d'espace libre
   sur une autre partition.

   Avec la gestion par volumes logiques, le disque entier est allou  un
   groupe de volumes et des volumes logiques sont crs pour contenir les
   systmes de fichiers /, /usr et /home. Si, par exemple, le volume logique
   /home est plus tard satur mais qu'il reste de l'espace libre dans /usr,
   alors il est possible de rduire /usr de quelques mgaoctets et de
   rallouer cet espace  /home.

   Une autre solution est d'allouer un espace minimal pour chaque volume
   logique et de laisser une partie de l'espace disque non allou. Ensuite,
   lorsque les partitions commencent  tre remplies, elles peuvent tre
   tendues suivant les besoins.

   Par exemple : Joe achte un PC avec 8,4 Go d'espace disque et installe
   Linux avec le partitionnement suivant :

 /boot    /dev/hda1     10 Mo
 swap     /dev/hda2    256 Mo
 /        /dev/hda3      2 Go
 /home    /dev/hda4      6 Go

   Il pense que cette rpartition optimisera l'espace disponible pour tous
   ses fichiers MP3.

   Quelque temps plus tard, Joe dcide qu'il veut installer la dernire suite
   bureautique et le dernier environnement graphique disponible, mais il
   ralise que la partition racine n'est pas assez grande. Par contre,
   puisqu'il a archiv tous ses MP3 grce  son nouveau graveur DVD, il lui
   reste plein d'espace libre dans /home.

   Les diffrentes possibilits qui s'offrent  lui ne sont pas
   satisfaisantes :

    1. Reformater le disque, modifier le partitionnement et tout rinstaller.

    2. Acheter un nouveau disque et trouver un nouveau partitionnement qui
       demandera le moins de dplacements de donnes.

    3. Utiliser un lien symbolique de / vers /home et installer le nouveau
       logiciel dans /home.

   Avec LVM, tout cela devient beaucoup plus facile :

   Jane achte un PC identique mais utilise LVM pour diviser son disque de
   manire similaire :

 /boot     /dev/hda1         10 Mo
 swap      /dev/vg00/swap   256 Mo
 /         /dev/vg00/root     2 Go
 /home     /dev/vg00/home     6 Go

   [7][Note] Note
             La partition de dmarrage /boot n'est pas incluse dans le LV car
             les chargeurs de dmarrage ne grent pas encore les volumes LVM.
             Il est possible que le dmarrage sur une partition LVM
             fonctionne, mais vous risquez de vous retrouvez avec un systme
             non amorable.

   [8][Avertissement] Seuls les utilisateurs avancs peuvent envisager de
                      passer leur partition racine en LVM
                      Pour passer la partition racine en LVM, une image
                      initrd doit activer le LV racine au dmarrage. Si le
                      noyau est mis  jour sans crer l'image initrd
                      ncessaire, le noyau ne pourra pas dmarrer. Les
                      nouvelles distributions incluent LVM dans leurs scripts
                      mkinitrd ainsi que dans leurs images initrd, donc cela
                      va devenir de moins en moins problmatique.

   Lorsque Jane rencontre le mme problme, elle peut rduire la taille de
   /home d'un gigaoctet et rajouter cet espace dans la partition racine.

   Supposons que Joe et Jane remplissent aussi la partition /home et dcident
   d'ajouter un nouveau disque de 20 Go dans leur systme.

   Joe formate le disque entirement dans une seule partition (/dev/hdb1) et
   l'utilise comme /home en y dplaant les donnes de son /home existant. Il
   lui reste alors 6 Go inutiliss qu'il peut faire apparatre comme une
   extension de /home avec un lien symbolique, /home/joe/anciens-mp3 par
   exemple.

   Jane ajoute simplement le nouveau disque dans son groupe de volumes
   existant et tend son /home pour inclure le nouveau disque. Ou bien, elle
   pourrait dplacer les donnes de /home de l'ancien vers le nouveau disque
   et ensuite tendre le volume racine existant pour couvrir tout l'ancien
   disque.

3. Avantages de la gestion par volumes logiques sur un gros systme

   Les avantages de la gestion par volumes logiques sont plus vidents sur
   les gros systmes avec de nombreux disques.

   Grer une importante ferme de disques prend beaucoup de temps et peut
   s'avrer particulirement complexe si le systme comporte de nombreux
   disques de tailles diffrentes. Grer les problmes d'espace, gnralement
   conflictuels, entre les diffrents utilisateurs peut devenir un cauchemar.

   Les diffrents groupes de volumes et volumes logiques, qui peuvent tre
   agrandis autant que ncessaire, peuvent tre allous  des groupes
   d'utilisateurs. L'administrateur peut  garder en rserve  de l'espace
   jusqu' ce qu'il soit requis. Cet espace peut alors tre ajout au groupe
   de volumes qui en a le plus besoin.

   Quand de nouveaux disques sont ajouts au systme, il n'est plus
   ncessaire de dplacer les fichiers des utilisateurs pour optimiser le
   nouvel espace de stockage. Il suffit simplement d'ajouter le nouveau
   disque  un ou plusieurs groupes de volumes et d'tendre les volumes
   logiques suivant les besoins.

   Il est aussi facile de se sparer des anciens disques en dplaant les
   donnes sur des disques plus rcents. Ceci peut tre effectu  chaud,
   sans coupure de service pour l'utilisateur.

Chapitre 3. Anatomie de LVM

   Table des matires

   1. Groupe de volumes (Volume Group, VG)

   2. Volume physique (Physical Volume, PV)

   3. Volume logique (Logical Volume, LV)

   4. Extent physique (Physical Extent, PE)

   5. Extent logique (Logical Extent, LE)

   6. Mettre tout ensemble

   7. Types de correspondances (linaire/rpartie)

   8. Les instantans (snapshots)

   Le schma suivant donne une vision gnrale des composants d'un systme 
   base de LVM.

 +-- Groupe de volumes (Volume Group) ------------+
 |                                                |
 |    +----------------------------------------+  |
 | PV | PE |  PE | PE | PE | PE | PE | PE | PE |  |
 |    +----------------------------------------+  |
 |      .          .         .         .          |
 |      .          .         .         .          |
 |    +----------------------------------------+  |
 | LV | LE |  LE | LE | LE | LE | LE | LE | LE |  |
 |    +----------------------------------------+  |
 |            .         .         .         .     |
 |            .         .         .         .     |
 |    +----------------------------------------+  |
 | PV | PE |  PE | PE | PE | PE | PE | PE | PE |  |
 |    +----------------------------------------+  |
 |                                                |
 +------------------------------------------------+

   Voici une autre faon de visualiser ceci (grce  la gentillesse d'Erik
   Bgfors de la liste de diffusion linux-lvm) :

     hda1   hdc1      (PV dans des partitions ou disques entiers)
        \   /
         \ /
        diskvg        (VG)
        /  |  \
       /   |   \
   usrlv rootlv varlv (LV)
     |      |     |
  ext2  reiserfs  xfs (Systmes de fichiers)

1. Groupe de volumes (Volume Group, VG)

   Le groupe de volumes est l'abstraction de plus haut niveau utilise dans
   LVM. C'est un ensemble de volumes logiques et physiques au sein d'une
   seule unit d'administration.

2. Volume physique (Physical Volume, PV)

   Un volume physique est typiquement un disque dur, bien que cela puisse
   aussi tre un priphrique qui  ressemble   un disque dur (par exemple,
   un priphrique de RAID logiciel).

3. Volume logique (Logical Volume, LV)

   C'est l'quivalent d'une partition de disque d'un systme sans LVM. Le LV
   est visible comme un priphrique de bloc standard. En tant que tel, le LV
   peut contenir un systme de fichiers. (Ex : /home.)

4. Extent physique (Physical Extent, PE)

   Chaque volume physique est divis en morceaux de donnes, appels extents
   physiques. Ces extents ont une taille identique  celle des extents
   logiques du groupe de volumes.

5. Extent logique (Logical Extent, LE)

   Chaque volume logique est divis en morceaux de donnes, appels extents
   logiques. La taille d'extents est la mme pour tous les volumes logiques
   du groupe de volumes.

6. Mettre tout ensemble

   Voici un exemple concret pour aider  la comprhension :

   Prenons un groupe de volumes nomm VG1, avec une taille d'extent physique
   de 4 Mo. Nous mettons dans ce groupe de volumes deux partitions de
   disques, /dev/hda1 et /dev/hdb1. Ces partitions vont devenir les volumes
   physiques PV1 et PV2 (l'administrateur peut mettre des noms plus
   parlants). Les PV sont diviss en morceaux de 4 Mo, puisque c'est la
   taille des extents pour le groupe de volumes. Les disques sont de tailles
   diffrentes et nous avons donc 99 extents pour PV1 et 248 pour PV2. Nous
   pouvons maintenant crer un volume logique de taille entre 1 et 347 (248 +
   99) extents. Quand le volume logique est cr, une relation est dfinie
   entre les extents logiques et physiques, c'est--dire que l'extent logique
   1 peut correspondre  l'extent physique 51 de PV1 et les donnes crites
   sur les quatre premiers mgaoctets du volume logique seront en fait
   crites sur le 51^me extent de PV1.

7. Types de correspondances (linaire/rpartie)

   L'administrateur peut utiliser diffrentes stratgies pour effectuer la
   relation entre les extents logiques et les extents physiques :

    1. La correspondance linaire permet d'attribuer une plage de PE  un LV
       dans l'ordre. Par exemple, les LE 1  99 correspondront  PV1 et les
       LE 100  347  PV2.

    2. La correspondance rpartie (striped) permet de distribuer des morceaux
       d'extents logiques sur plusieurs volumes physiques, par exemple :

 1er morceau de LE[1] -> PV1[1],

 2me morceau de LE[1] -> PV2[1],

 3me morceau de LE[1] -> PV3[1],

 4me morceau de LE[1] -> PV1[2],

       et ainsi de suite. Dans certaines situations, cette stratgie peut
       amliorer les performances du volume logique.

       [9][Avertissement] Dfaut de LVM 1
                          Avec LVM 1, les LV crs par rpartition ne peuvent
                          pas tre tendus au-del des PV o ils ont t
                          crs initialement.

       Avec LVM 2, les LV rpartis peuvent tre tendus en concatnant un
       autre lot de priphriques  la fin du premier lot. Par consquent,
       vous pourrez vous retrouver avec un LV compos de deux lots de PE
       rpartis concatns avec un lot linaire compos de quatre lots de PE.
       Je vous ai dj perdu ?

8. Les instantans (snapshots)

   Une des merveilleuses fonctionnalits apportes par LVM est l'instantan.
   Elle permet  l'administrateur de crer un nouveau priphrique qui est
   une copie exacte d'un volume logique fig  un moment donn. Typiquement,
   cela peut tre utilis lors de traitements par lots sur le volume logique,
   pour une sauvegarde par exemple, lorsque l'on ne veut pas arrter une
   application qui est en train de modifier les donnes. Une fois que l'on a
   fini d'utiliser l'instantan, l'administrateur systme peut tout
   simplement supprimer le priphrique. Cette fonctionnalit demande  ce
   que l'instantan soit effectu lorsque le volume logique se trouve dans un
   tat consistant - Le patch "VFS-lock" pour LVM 1 permet de garantir cet
   tat  la cration de l'instantan pour certains systmes de fichiers.
   Avec le noyau 2.6, de nombreux systmes de fichiers le font
   automatiquement  la cration de l'instantan, sans avoir besoin d'un
   patch.

   [10][Avertissement] Les instantans pleins sont automatiquement dsactivs
                       Lorsque le volume logique d'un instantan est plein,
                       il est dsactiv (tat inutilisable). Il est donc
                       primordial de lui allouer un espace suffisant. Il n'y
                       a pas de recette magique pour dterminer l'espace
                       requis, qui dpend uniquement de l'utilisation de
                       l'instantan. Cependant, un instantan de taille
                       identique  sa source ne sera jamais satur.

   Avec LVM 1, les instantans sont en lecture seule. Ils fonctionnent par
   l'utilisation d'une table d'exception qui trace les blocs modifis :
   Lorsqu'un bloc est modifi sur la source, il est d'abord copi dans
   l'instantan, marqu comme modifi dans la table d'exceptions et ensuite
   modifi sur le volume source avec les nouvelles donnes.

   Avec LVM 2, les instantans sont par dfaut en lecture/criture. Le
   fonctionnement est similaire aux instantans en lecture seule avec la
   possibilit supplmentaire d'crire sur l'instantan : le bloc est alors
   marqu comme utilis dans la table d'exception et ne sera plus rcupr du
   volume source. Cela ouvre de nouvelles perspectives par rapport au
   fonctionnement en lecture seule de LVM 1. Par exemple, on peut faire
   l'instantan d'un volume, le monter et tester un programme exprimental
   qui modifie les fichiers dessus. Si le rsultat n'est pas satisfaisant, on
   peut le dmonter, le supprimer et remonter le systme de fichiers originel
    la place. C'est aussi utile pour crer des volumes utiliss avec Xen
   [http://www.cl.cam.ac.uk/Research/SRG/netos/xen/]. Vous pouvez crer une
   image disque et en faire un instantan que vous pourrez modifier avec une
   instance spcifique de domU. Vous pourrez ensuite crer un autre
   instantan de l'image orginale et le modifier avec une autre instance de
   domU. Comme les instantans ne stockent que les blocs modifis, la majeure
   partie du volume sera partage entre les domUs.

   [11][Note] Note
              Avec le mappeur de priphriques actuel et LVM 2, la source
              peut tre agrandie mais pas rduite. Avec LVM 1, le
              redimensionnement de la source est impossible.

   [12][Avertissement] Mise  jour de LVM 1 vers LVM 2
                       Assurez-vous de supprimer tous les instantans avant
                       la mise  jour de LVM 1 vers LVM 2. (Cf. Section 1,
                        FAQ LVM 2  .)

Chapitre 4. Questions frquemment poses

   Table des matires

   1. FAQ LVM 2

   2. FAQ LVM 1

1. FAQ LVM 2

   1.1. J'ai LVM 1 install et fonctionnel sur mon systme. Comment faire
   pour passer  LVM 2 ?

   1.2. Un module noyau spcifique est-il ncessaire pour LVM 2 ?

   1.3. J'ai des erreurs concernant /dev/mapper/control quand j'essaie
   d'utiliser les utilitaires LVM 2. Que se passe-t-il ?

   1.4. Quelles sont les commandes et types de volumes logiques compatibles
   avec LVM 2 ?

   1.5. Les formats de reprsentation sur le disque des groupes de volumes et
   volumes logiques sont-ils diffrents dans LVM 2 par rapport  LVM 1 ?

   1.6. LVM 2 est-il compatible avec les VG et LV crs avec LVM 1 ?

   1.7. Puis-je passer mes VG et LV qui proviennent de LVM 1 au format natif
   de LVM 2 ?

   1.8. J'ai mis  jour mon systme avec LVM 2, mais les utilitaires chouent
   constamment en indiquant qu'il ne reste plus de mmoire libre. Que se
   passe-t-il ?

   1.9. Ma partition racine est sur un LV en LVM 1. Comment faire pour passer
    LVM 2 ? Qu'est devenu lvmcreate_initrd ?

   1.10. Comment se comporte LVM par rapport  un renommage soudain des
   disques physiques ?

   1.11. J'essaie de remplir mon VG et vgdisplay/vgs indique que j'ai 1,87 Go
   de libre mais quand je fais un lvcreate vg -L1.87G, il indique  pas assez
   d'extents libres  ( insufficient free extents ). Que se passe-t-il ?

   1.12. Quelles sont les diffrences entre les instantans de LVM 2 et
   LVM 1 ?

   1.13. Quelle est la taille maximale d'un LV ?

1.1.  J'ai LVM 1 install et fonctionnel sur mon systme. Comment faire pour passer  LVM 2 ?
      Voici les instructions pour dmarrer rapidement :)

       1. Commencez par enlever tous les instantans du systme. Ils ne sont pas grs par LVM 2 et empcheront l'activation de leur
          volume d'origine au dmarrage de LVM 2.

       2. Assurez-vous de possder un moyen de dmarrage du systme autre que par la partition de dmarrage standard. Vous devez avoir
          les utilitaires de LVM 1, les outils systmes standards (mount) et un noyau compatible LVM 1 au cas o il serait ncessaire
          de revenir en arrire pour faire des corrections.

       3. Rcuprez les sources des utilitaires de LVM 2 et le mappeur de priphriques. Compilez-les. Il faut installer la
          bibliothque du mappeur de priphriques avec  make install  avant de compiler les utilitaires de LVM 2. Copiez aussi le
          script dm/scripts/devmap_mknod.sh dans /sbin. Je recommande d'installer seulement le binaire  lvm  pour l'instant pour
          garder l'accs aux utilitaires de LVM 1 au cas o. Si vous avez accs  des paquets de LVM 2 et du mappeur de priphriques,
          vous pouvez les installer  la place mais il faut noter qu'il vont probablement craser les utilitaires de LVM 1.

       4. Rcuprez un noyau compatible avec le mappeur de priphriques, compil en interne ou avec un module.

       5. Recherchez les commandes d'activation de LVM dans les scripts de dmarrage de la machine. Assurez-vous que le module du
          mappeur de priphriques est charg  cet endroit (si vous utilisez le mappeur de priphriques en tant que module) et
          ajoutez ensuite la commande  /sbin/devmap_mknod.sh; lvm vgscan; lvm vgchange -ay .

       6. Installez le noyau compatible avec le mappeur de priphriques et redmarrez. Si tout se passe bien, vous devriez tre en
          train d'utiliser LVM 2.
1.2.  Un module noyau spcifique est-il ncessaire pour LVM 2 ?
      Non. Il faut le mappeur de priphriques (device-mapper). Les utilitaires de LVM 2 l'utilisent pour s'interfacer avec le noyau
      et effectuer tout le mappage des interfaces (d'o le nom de mappeur de priphriques). A partir du moment o le mappeur de
      priphriques est disponible, vous devriez pouvoir utiliser LVM 2.
1.3.  J'ai des erreurs concernant /dev/mapper/control quand j'essaie d'utiliser les utilitaires LVM 2. Que se passe-t-il ?
      La cause premire de ce problme est de ne pas avoir lanc la commande  dmsetup mknodes  aprs le redmarrage avec un noyau
      utilisant le mappeur de priphriques. Ce script gnre le nud de contrle pour le mappeur de priphriques.

      Si la commande  dmsetup mknodes  n'est pas disponible, ne dsesprez pas! (Cependant cela veut probablement dire que vous
      devriez migrer vers la dernire version de device-mapper.) Il est assez simple de crer le fichier /dev/mapper/control par vous
      mme :

       1. Assurez-vous d'avoir charg le module du mappeur de priphriques s'il n'est pas directement dans le noyau.

       2. Tapez :

       # cat /proc/misc | grep device-mapper | awk '{print $1}'

          et notez le chiffre affich. (S'il n'y a rien d'affich, reportez-vous  l'tape 1.)

       3. Tapez :

       # mkdir /dev/mapper

          Si vous obtenez une erreur comme quoi /dev/mapper existe dj, vrifiez que c'est un rpertoire et continuez.

       4. Tapez :

       # mknod /dev/mapper/control c 10 $nombre

          $nombre est le chiffre affich  l'tape 2.

      Cela devrait tre bon maintenant.
1.4.  Quelles sont les commandes et types de volumes logiques compatibles avec LVM 2 ?
      Si vous utilisez le correctif de l'archive lvm2 pour les noyaux stables 2.4, toutes les fonctionnalits majeures de LVM1 seront
      compatibles avec les outils de LVM2 (il est toujours ncessaire de supprimer les instantans avant la mise  jour de LVM 1 vers
      LVM 2.)

      Si vous utilisez la version du mappeur de priphriques du noyau 2.6 de kernel.org, les commandes et types de LV suivants ne
      sont pas compatibles :

        * pvmove

        * snapshots

      Vous pourrez trouver un dbut de compatibilit avec ces fonctionnalits dans les correctifs instables du mappeur de
      priphriques [http://people.sistina.com/~thornber/dm/] maintenus par Joe Thornber.
1.5.  Les formats de reprsentation sur le disque des groupes de volumes et volumes logiques sont-ils diffrents dans LVM 2 par
      rapport  LVM 1 ?
      Oui. LVM 2 utilise le format de mta-donnes lvm 2. Ce format est beaucoup plus flexible que celui de LVM 1. Il supprime ou
      rduit la plupart des limitations de LVM 1.
1.6.  LVM 2 est-il compatible avec les VG et LV crs avec LVM 1 ?
      Oui. LVM 2 est capable d'activer et de fonctionner avec les VG et LV crs avec LVM 1  l'exception des instantans qui doivent
      tre supprims avant la mise  jour. Les instantans qui restent aprs la mise  jour devront tre supprims afin que l'on
      puisse activer leur volume d'origine avec LVM 2.
1.7.  Puis-je passer mes VG et LV qui proviennent de LVM 1 au format natif de LVM 2 ?
      Oui. vgconvert permet de convertir un VG et tous les LV qu'il contient au nouveau format de mta-donnes lvm 2. Attention, il
      n'est pas toujours possible de revenir ensuite aux mta-donnes lvm 1.
1.8.  J'ai mis  jour mon systme avec LVM 2, mais les utilitaires chouent constamment en indiquant qu'il ne reste plus de mmoire
      libre. Que se passe-t-il ?
      Une des causes possibles de cela est le non positionnement par certaines versions de LVM 1 du champ UUID dans les structures de
      PV et VG alors qu'elles taient supposes le faire. (L'utilisateur qui a signal l'anomalie utilisait une Mandrake 9.2, mais
      d'autres distributions peuvent tre impactes.) Les dernires versions des utilitaires de LVM 2 positionnent les UUID
      automatiquement s'ils manquent, il vous suffit donc de rcuprer une version plus rcente que la vtre et le problme devrait
      tre rsolu. Dans le cas contraire, envoyez un message sur la liste de diffusion linux-lvm.
1.9.  Ma partition racine est sur un LV en LVM 1. Comment faire pour passer  LVM 2 ? Qu'est devenu lvmcreate_initrd ?
      Passer  LVM 2 avec sa partition racine en LVM est un peu compliqu, mais pas impossible. Vous devez crer un noyau compatible
      avec le mappeur de priphriques et installer les utilitaires LVM 2. (Vous devriez faire une sauvegarde des utilitaires de LVM 1
      ou trouver un disque de secours avec les utilitaires LVM au cas o vous en auriez besoin avant la fin de la migration.) Ensuite,
      vous devez trouver un script mkinitrd compatible avec votre distribution et de LVM 2.

      Voici la liste des scripts mkinitrd que je connais et qui sont compatibles avec LVM 2, classs par distributions :

      Scripts mkinitrd compatible LVM 2

      Fedora

         Le programme mkinitrd
         [http://distro.ibiblio.org/pub/linux/distributions/fedora/linux/core/development/i386/Fedora/RPMS/mkinitrd-3.5.21-1.i386.rpm]
         de la dernire Fedora Core 2 gre LVM 2, mais repose sur un binaire lvm li statiquement dans la dernire archive LVM 2.

         Les utilisateurs de Redhat 9 devraient pouvoir l'utiliser.

      Debian

         Il existe une version non officielle ici [http://www.poochiereds.net/svn/lvm2/].

      Gnrique

         Il en existe une version dans la distribution source de LVM 2 dans le rpertoire scripts/lvm2_createinitrd/. Voir la
         documentation dans ce rpertoire pour plus de dtails.
1.10. Comment se comporte LVM par rapport  un renommage soudain des disques physiques ?
      Trs bien : LVM identifie les PV par leur UUID et non par le nom du priphrique.

      Chaque disque (PV) possde un UUID, qui est un identifiant unique dans le systme. Il est utilis par  vgscan  pour le
      reconnatre lorsqu'un nouveau disque est ajout et change la numrotation du disque. Pour cela, la plupart des distributions
      lancent vgscan dans les scripts de dmarrage pour dtecter les ajouts de matriel. Si vous faites des ajouts  chaud, je pense
      que vous devrez faire cela manuellement. D'un autre cot, si votre VG est activ et utilis, la renumrotation ne devrait pas
      l'affecter du tout. L'identifiant est uniquement utilis lors de l'activation et le pire qu'il puisse arriver sans le vgscan est
      que l'activation choue avec un message indiquant qu'il manque un PV.

      [13][Note] Note
                 Des problmes de fonctionnement ou l'enlvement d'un disque en cours d'utilisation par LVM cause des problmes avec
                 l'utilisation en cours et les futures activations du VG concern.
1.11. J'essaie de remplir mon VG et vgdisplay/vgs indique que j'ai 1,87 Go de libre mais quand je fais un lvcreate vg -L1.87G, il
      indique  pas assez d'extents libres  ( insufficient free extents ). Que se passe-t-il ?
      Le chiffre 1,87 Go est arrondi  deux dcimales, donc il correspond  quelque chose comme 1,866 Go. C'est juste une prsentation
       l'cran du chiffre pour donner une ide gnrale de la taille du VG. Si vous voulez donner une taille exacte, vous devez
      utiliser les extents  la place de quelque multiple d'octets.

      Dans le cas de vgdisplay, utilisez le chiffre donn par Free PE  la place.

      Free  PE / Size          478 / 1.87 GB
                               ^^^

      Vous devriez donc lancer la commande suivante :

      # lvcreate vg -l478

      Remarquez qu' la place d'un  L  majuscule, il faut utiliser un  l  minuscule pour dire  LVM d'utiliser les extents plutt
      que les octets.

      Dans le cas de vgs, il est ncessaire de lui demander explicitement le nombre d'extents disponibles :

      # vgs -o +vg_free_count,vg_extent_count

      Cela demande  vgs de rajouter le nombre d'extents libres et leur nombre total  la fin de la liste produite par vgs. Utilisez
      le nombre d'extents libres de la mme faon que pour le cas de vgdisplay.
1.12. Quelles sont les diffrences entre les instantans de LVM 2 et LVM 1 ?
      Avec LVM 2, les instantans sont en lecture/criture par dfaut, alors qu'ils sont en lecture seule avec LVM 1. Voir Section 8,
       Les instantans (snapshots)  pour plus de dtails.
1.13. Quelle est la taille maximale d'un LV ?
      Cela dpend de l'architecture CPU et du noyau utilis :

        * Pour les noyaux 2.4, la taille maximale d'un LV est de 2TB. Cependant, pour certains noyaux plus anciens, la limite tait de
          1TB en raison d'un problme de nombres signs au niveau des blocs. La distribution Red Hat Enterprise Linux Update 4 a un
          correctif pour autoriser les LVs de 2TB. Consultez les informations de votre distribution pour ce problme.

        * Pour les CPUs 32 bits avec les noyaux 2.6, la taille maximale des LVs est de 16TB.

        * Pour les CPUs 64 bits avec les noyaux 2.6, la taille maximale des LVs est de 6EB. (Oui, c'est un nombre trs gros.)

2. FAQ LVM 1

   2.1. Quand y aura-t-il des infos ici ?

   2.1. Quand y aura-t-il des infos ici ?
        Quand les gens commenceront  envoyer des entres de FAQ ;)

Chapitre 5. Obtenir LVM

   Table des matires

   1. Tlcharger le code source

   2. Tlcharger le code source de dveloppement par CVS

   3. Avant de commencer

   4. Configuration initiale

   5. Rcupration du code source

   6. Mise  jour du code

   7. Commencer un projet

   8. Bidouiller le code

   9. Conflits

   La premire chose  faire est de rcuprer une copie de LVM.

     * Tlcharger une archive de LVM par FTP.

     * Tlcharger le code source en dveloppement continu par CVS.

1. Tlcharger le code source

     * [14]Mappeur de priphriques

     * [15]LVM 2

       Assurez-vous de tlcharger aussi les sources du mappeur de
       priphriques.

     * [16]LVM 1

   [17][Note] Note
              Le correctif du noyau pour LVM 1 doit tre gnr avec les
              sources de LVM 1. Plus d'informations sur ceci peuvent tre
              trouves dans la Section 2,  Construire le module du noyau
              pour LVM 1 .

2. Tlcharger le code source de dveloppement par CVS

   Remarque : L'tat du code dans l'entrept CVS volue sauvagement. Il
   contient des erreurs, certaines peuvent faire planter LVM ou le noyau. Il
   peut aussi ne pas compiler du tout. Considrez-le comme du code de qualit
   alpha et que vous pourriez perdre des donnes... Vous tes prvenu.

3. Avant de commencer

   Pour suivre la progression des dveloppements de LVM, abonnez-vous aux
   listes de diffusion de LVM, linux-lvm et la liste de commit approprie.
   (Cf. Section 1,  Listes de diffusion .)

   Pour construire LVM  partir des sources CVS, plusieurs outils GNU sont
   ncessaires :

     * le client CVS version 1.9 ou suprieure ;

     * GCC 2.95.2 ;

     * GNU make 3.79 ;

     * autoconf version 2.13 ou suprieure.

4. Configuration initiale

   Pour vous rendre la vie plus facile lors des mises  jour futures de
   l'arbre CVS, crez le fichier $HOME/.cvsrc et mettez-y les lignes
   suivantes qui permettent de configurer le comportement par dfaut des
   commandes CVS les plus utilises. Faites-le avant de continuer plus loin.

 diff -u -b -B
 checkout -P
 update -d -P

   De mme, si vous utilisez une connexion  bas dbit (comme un modem RTC),
   vous voudrez probablement rajouter une ligne contenant cvs -z5 dans ce
   fichier. Cela active un niveau de compression qui sera utilis par toutes
   les commandes CVS.

5. Rcupration du code source

     * Bibliothque et utilitaires du mappeur de priphriques

       La bibliothque du mappeur de priphriques est ncessaire pour
       construire LVM 2.

       Vous devez vous authentifier lors de votre premier chargement :

 # cvs -d :pserver:cvs@sources.redhat.com:/cvs/dm login cvs

       Le mot de passe est  cvs . La commande ne renvoie rien en cas de
       succs et renvoie un message d'erreur en cas d'chec. Seule la
       premire connexion ncessite une authentification explicite. Toutes
       les commandes CVS suivantes lisent le mot de passe stock dans le
       fichier $HOME/.cvspass pour l'authentification.

       La commande de  checkout  suivante permet de rcuprer une copie du
       code :

 # cvs -d :pserver:cvs@sources.redhat.com:/cvs/dm checkout device-mapper

       Cela cre un nouveau rpertoire device-mapper dans le rpertoire
       courant. Il contient la version la plus  jour possible du code du
       mappeur de priphriques.

     * LVM 2

       Vous devez vous authentifier lors de votre premier chargement :

 # cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 login cvs

       Le mot de passe est  cvs . La commande ne renvoie rien en cas de
       succs et un message d'erreur en cas d'chec. Seule la premire
       connexion ncessite une authentification explicite. Toutes les
       commandes CVS suivantes lisent le mot de passe stock dans le fichier
       $HOME/.cvspass pour l'authentification.

       La commande de  checkout  suivante permet de rcuprer une copie du
       code :

 # cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm2 checkout LVM2

       Cela cre un nouveau rpertoire LVM2 dans le rpertoire courant. Il
       contient la version la plus  jour possible du code de LVM 2.

     * LVM 1

       Vous devez vous authentifier lors de votre premier chargement :

 # cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm login cvs

       Le mot de passe est  cvs . La commande ne renvoie rien en cas de
       succs et un message d'erreur en cas d'chec. Seule la premire
       connexion ncessite une authentification explicite. Toutes les
       commandes CVS suivantes lisent le mot de passe stock dans le fichier
       $HOME/.cvspass pour l'authentification.

       La commande de  checkout  suivante permet de rcuprer une copie du
       code :

 # cvs -d :pserver:cvs@sources.redhat.com:/cvs/lvm checkout LVM

       Cela cre un nouveau rpertoire LVM dans le rpertoire courant. Il
       contient la version la plus  jour possible du code de LVM 1.

   Les commandes CVS fonctionnent depuis n'importe o dans l'arborescence des
   sources et de faon rcursive. Par consquent, si vous faites une mise 
   jour  partir du sous rpertoire  tools , cela fonctionnera mais
   uniquement pour le rpertoire  tools  et ses sous-rpertoires. Les
   commandes qui suivent supposent que vous tes  la racine de
   l'arborescence des sources.

6. Mise  jour du code

   Les modifications du code sont assez frquentes dans le dpt CVS. Elles
   sont annonces automatiquement par un envoi dans la liste lvm-commit.

   Vous pouvez mettre  jour votre copie des sources pour correspondre au
   dpt matre avec la commande update. Il n'est pas ncessaire de rcuprer
   une nouvelle copie des sources. Il est beaucoup plus simple et rapide
   d'utiliser la commande update, car elle tlcharge uniquement les
   modifications des fichiers modifis depuis la dernire mise  jour. Elle
   permet aussi de fusionner automatiquement les modifications du dpt CVS
   avec les changements que vous auriez pu effectuer en local. Pour cela, il
   vous suffit juste d'aller dans le rpertoire  mettre  jour et de taper
   la commande suivante :

 # cvs update

   Si vous n'avez pas spcifi de balise lors du  checkout , cela mettra 
   jour vos sources par rapport  la dernire version de la branche
   principale des sources. Si vous aviez spcifi une balise de branche, cela
   mettra  jour suivant la dernire version de cette branche. Si vous aviez
   spcifi une balise de version, cela ne fera rien du tout.

7. Commencer un projet

   Discutez de l'ide sur la liste de dveloppement avant de commencer.
   Quelqu'un est peut-tre dj en train de travailler sur le mme sujet ou
   peut avoir des bonnes ides pour le mener  bien.

8. Bidouiller le code

   Ainsi, vous voulez corriger un bogue ? Dvelopper une fonctionnalit de la
   liste TODO ? Dvelopper une nouvelle fonctionnalit ? Bidouiller le code
   ne pourrait pas tre plus simple. Utilisez votre copie des sources. Pas
   besoin de copier les fichiers en .orig ou autres. CVS garde la copie des
   originaux.

   Quand votre code fonctionnera et aura t test du mieux possible avec le
   matriel dont vous disposez, faites un correctif par rapport  la version
   current des sources sur CVS.

 # cvs update
 # cvs diff > patchfile

   Envoyez le correctif  la liste linux-lvm ou dm-devel (Section 1,  Listes
   de diffusion ) avec une description des modifications et ajouts que vous
   avez effectus.

9. Conflits

   Si quelqu'un a travaill sur les mmes fichiers que vous, il se peut qu'il
   y ait des modifications conflictuelles. Vous le saurez quand vous mettrez
    jour vos sources.

 # cvs update
 RCS file: LVM/tools/pvcreate.c,v
 retrieving revision 1.5
 retrieving revision 1.6
 Merging differences between 1.5 and 1.6 into pvcreate.c
 rcsmerge: warning: conflicts during merge
 cvs server: conflicts found in tools/pvcreate.c
 C tools/pvcreate.c

   Pas de panique ! Le fichier original, tel qu'il tait avant la mise 
   jour, est conserv avec le nom .#pvcreate.c.1.5. Vous pouvez toujours le
   rcuprer si les choses se passent mal. Le fichier nomm pvcreate.c
   contient dsormais les deux versions, la vtre et la nouvelle, des lignes
   conflictuelles. Il vous reste simplement  ouvrir le fichier et rsoudre
   les conflits en effaant la mauvaise version des lignes.

 <<<<<<< pvcreate.c
    j++;
 =======
    j--;
 >>>>>>> 1.6

   N'oubliez pas de supprimer les lignes avec les symboles  < ,  =  et
    > .

Chapitre 6. Construire les modules du noyau

   Table des matires

   1. Construire le module noyau device-mapper

   2. Construire le module du noyau pour LVM 1

                2.1. Fabriquer un correctif pour votre noyau

                2.2. Construire le module LVM pour Linux 2.2.17+

                2.3. Compiler les modules LVM pour Linux 2.4

                2.4. Vrifier le systme de fichiers proc

1. Construire le module noyau device-mapper

   Le mappeur de priphriques est inclus dans les noyaux 2.6.9 et suivants,
   donc vous devez juste vrifier qu'il est activ directement dans le noyau
   ou sous forme de module. Pour cela, vous devez avoir la prsence de
   /sys/class/misc/device-mapper ou de la ligne device-mapper dans
   /proc/devices. Si aucun n'est prsent, essayez modprobe dm_mod et
   re-vrifiez. Pour les versions de noyau avant le 2.6.9, vous ou votre
   distribution doit patcher le noyau pour le supporter. Allez voir la page
   web du mappeur de priphriques [http://sources.redhat.com/dm/] pour plus
   d'informations.

2. Construire le module du noyau pour LVM 1

   Pour utiliser LVM 1, il faut que vous compiliez le module LVM 1 du noyau
   (recommand) ou, si vous le prfrez, que vous reconstruisiez le noyau
   avec le code LVM 1 li statiquement dedans.

   Votre systme Linux est probablement bas sur une des distributions
   populaires de Linux (Redhat, Debian...) avec laquelle le module LVM 1 est
   peut-tre dj fourni. Vrifiez la version des utilitaires que vous avez
   sur votre systme en utilisant une des commandes de LVM avec l'option
    -h . Utilisez la commande pvscan -h si vous ne connaissez aucune des
   commandes. Si le numro de version en tte du listing de l'aide est 1.0.8,
   utilisez votre configuration actuelle et sautez le reste de ce chapitre.

  2.1. Fabriquer un correctif pour votre noyau

   Afin de mettre  jour le noyau pour qu'il soit compatible avec LVM v1.0.8,
   vous devez effectuer les oprations suivantes :

    1. Dcompresser LVM 1.0.8 :

 # tar zxf lvm_1.0.8.tar.gz

    2. Allez dans le rpertoire racine de cette version :

 # cd LVM/1.0.8

    3. Lancez le script de configuration :

 # ./configure

       Il faut ajouter l'option --with-kernel_dir  configure si les sources
       du noyau ne sont pas dans /usr/src/linux. (Lancez ./configure --help
       pour visualiser toutes les options disponibles.)

    4. Allez dans le rpertoire PATCHES :

 # cd PATCHES

    5. Lancez  make  :

 # make

       Vous devriez maintenant avoir un correctif appel
       lvm-1.0.8-$KERNELVERSION.patch dans le rpertoire PATCHES. C'est le
       correctif du noyau pour LVM qui sera utilis dans la suite de ce guide
       pratique.

    6. Patchez le noyau :

 # cd /usr/src/linux ; patch -pX < /rpertoire/lvm-1.0.8-$KERNELVERSION.patch

  2.2. Construire le module LVM pour Linux 2.2.17+

   Un noyau de la srie 2.2 doit tre mis  jour avant de commencer la
   compilation. Allez voir ailleurs les instructions pour apprendre 
   appliquer des correctifs au noyau.

   Correctifs :

    1. Correctif rawio

       Le correctif raw_io de Stephen Tweedie est disponible 
       http://www.kernel.org/pub/linux/kernel/people/sct/raw-io
       [http://www.kernel.org/pub/linux/kernel/people/sct/raw-io]

    2. Correctif lvm

       Ce correctif doit tre construit  partir du sous-rpertoire PATCHES
       de la distribution de LVM 1. Vous trouverez plus d'informations dans
       la Section 2.1,  Fabriquer un correctif pour votre noyau .

   Une fois que les correctifs ont t correctement appliqus, il faut vous
   assurer que le module soit bien compil. Les pilotes LVM 1 se trouvent
   dans la section  devices  de la configuration du noyau. Vous devriez
   aussi compiler les informations de /proc pour LVM.

   Compilez les modules noyau comme d'habitude.

  2.3. Compiler les modules LVM pour Linux 2.4

   Le noyau 2.4 contient dj LVM, mais vous devriez vrifier la prsence de
   mises  jour sur le site web de LVM (c'est--dire que les noyaux 2.4.9 et
   infrieurs doivent utiliser le plus rcent correctif LVM 1). En
   configurant le noyau, cherchez LVM 1 dans Multi-device support (RAID and
   LVM). LVM 1 peut tre compil dans le noyau ou en tant que module.
   Compilez votre noyau et les modules et installez-les de la manire
   habituelle. Si vous dcidez de compiler LVM en tant que module, il
   s'appellera lvm-mod.o.

   Si vous voulez faire des instantans avec ReiserFS, faites attention 
   appliquer le correctif linux-2.4.x-VFS-lock (il y en a une copie dans le
   rpertoire LVM/1.0.8/PATCHES).

  2.4. Vrifier le systme de fichiers proc

   Si le noyau est compil avec le systme de fichiers /proc (probablement),
   vous pouvez vrifier la prsence de LVM par l'existence du rpertoire
   /proc/lvm. S'il n'existe pas, il se peut que vous ayez  charger le module
   par la commande :

 # modprobe lvm-mod

   Si /proc/lvm n'existe toujours pas, vrifiez soigneusement votre
   configuration noyau.

   Quand LVM est actif, il existe des entres dans /proc/lvm pour tous les
   volumes physiques, groupes de volumes et volumes logiques. De plus, le
    fichier  appel /proc/lvm/global donne le statut de LVM et montre la
   version du noyau LVM en cours d'utilisation.

Chapitre 7. Scripts de dmarrage pour LVM 1

   Table des matires

   1. Caldera

   2. Debian

   3. Mandrake

   4. Redhat

   5. Slackware

   6. SuSE

   Les scripts de dmarrage ne sont pas fournis par la distribution de LVM,
   bien qu'ils soient simples  faire soi-mme.

   Le dmarrage de LVM demande juste ces deux commandes :

 # vgscan
 # vgchange -ay

   Et l'arrt une seule :

 # vgchange -an

   Suivez les instructions ci-dessous suivant la distribution de Linux que
   vous utilisez.

1. Caldera

   Il est ncessaire d'ouvrir le fichier /etc/rc.d/rc.boot. Insrez les
   lignes de commandes vgscan et vgchange juste avant les lignes qui disent
    Mounting local filesystems .

   Vous pouvez aussi modifier le fichier /etc/rc.d/init.d/halt pour
   dsactiver les groupes de volume  l'arrt de la machine. Insrer la
   commande

 vgchange -an

   prs de la fin du fichier, juste aprs le dmontage des systmes de
   fichiers ou leur montage en lecture seule et avant le commentaire disant
    Now halt or reboot .

2. Debian

   Si vous tlchargez le paquet Debian lvm-common (pour LVM 1) ou lvm2, un
   script d'initialisation devrait tre install pour vous.

   Si vous installez LVM  partir des sources, vous devez crer votre propre
   fichier d'initialisation :

     * Crez le script de dmarrage /etc/init.d/lvm contenant les lignes
       suivantes :

 #!/bin/sh

 case "$1" in
   start)
     /sbin/vgscan
     /sbin/vgchange -ay
     ;;
   stop)
     /sbin/vgchange -an
     ;;
   restart|force-reload)
     ;;
 esac

 exit 0

     * Ensuite, excutez les commandes :

 # chmod 0755 /etc/init.d/lvm
 # update-rc.d lvm start 26 S . stop 82 1 .

       Remarquez les points dans la dernire commande.

3. Mandrake

   Aucune modification des scripts d'initialisation ne devrait tre
   ncessaire pour les versions actuelles de Mandrake.

4. Redhat

   Pour la Redhat 7.0 et suprieure, vous ne devriez pas avoir besoin de
   modifier de script d'initialisation pour dmarrer LVM s'il est inclus dans
   le noyau. Si LVM est compil en tant que module, il peut tre ncessaire
   de modifier /etc/rc.d/rc.sysinit pour charger le module en y ajoutant la
   ligne  modprobe lvm-mod  avant la partie disant :

 # LVM initialization, take 2 (it could be on top of RAID)
 if [ -e /proc/lvm -a -x /sbin/vgchange -a -f /etc/lvmtab ]; then
    action $"Setting up Logical Volume Management:" /sbin/vgscan &&
    /sbin/vgchange -a y
 fi

   [18][Note] Note
              Cette portion de script est pour la RedHat 7.3. Les autres
              versions peuvent apparatre lgrement diffrentes.

   Pour les versions de RedHat antrieures  la 7.0, il est ncessaire de
   modifier le fichier /etc/rc.d/rc.sysinit. Regardez la ligne qui dit
    Mount all other filesystems  et insrez les commandes vgscan et
   vgchange juste avant celle-ci. Assurez-vous que votre systme de fichiers
   racine est mont en lecture/criture avant d'utiliser les commandes LVM.

   Vous voudrez peut-tre aussi modifier le fichier /etc/rc.d/init.d/halt
   pour dsactiver les groupes de volumes  l'arrt de la machine. Insrez la
   commande :

 vgchange -an

   vers la fin du fichier, juste aprs le remontage des systmes de fichiers
   en lecture seule et avant le commentaire qui dit  Now halt or reboot .

5. Slackware

   La Slackware 8.1 ne demande aucune mise  jour des scripts de dmarrage
   pour faire fonctionner LVM.

   Pour les versions prcdentes de Slackware 8.1, vous devrez appliquer le
   correctif suivant  /etc/rc.d/rc.S.

 cd /etc/rc.d
 cp -a rc.S rc.S.old
 patch -p0 < rc.S.diff

   (Le cp sert  faire une sauvegarde au cas o).

 ----- snip snip file: rc.S.diff---------------
 --- rc.S.or        Tue Jul 17 18:11:20 2001
 +++ rc.S        Tue Jul 17 17:57:36 2001
 @@ -4,6 +4,7 @@
 #
 # Mostly written by:  Patrick J. Volkerding, <volkerdi@slackware.com>
 #
 +# Added LVM support <tgs@iafrica.com>

 PATH=/sbin:/usr/sbin:/bin:/usr/bin

 @@ -28,19 +29,21 @@
 READWRITE=yes
 fi

 +
 # Check the integrity of all filesystems
 if [ ! READWRITE = yes ]; then
 -  /sbin/fsck -A -a
 +  /sbin/fsck -a /
 +  # Check only the root fs first, but no others
 # If there was a failure, drop into single-user mode.
 if [ ? -gt 1 ] ; then
 echo
 echo
 -    echo "*******************************************************"
 -    echo "*** An error occurred during the file system check. ***"
 -    echo "*** You will now be given a chance to log into the  ***"
 -    echo "*** system in single-user mode to fix the problem.  ***"
 -    echo "*** Running 'e2fsck -v -y <partition>' might help.  ***"
 -    echo "*******************************************************"
 +    echo "************************************************************"
 +    echo "*** An error occurred during the root file system check. ***"
 +    echo "*** You will now be given a chance to log into the       ***"
 +    echo "*** system in single-user mode to fix the problem.       ***"
 +    echo "*** Running 'e2fsck -v -y <partition>' might help.       ***"
 +    echo "************************************************************"
 echo
 echo "Once you exit the single-user shell, the system will reboot."
 echo
 @@ -82,6 +85,44 @@
 echo -n "get into your machine and start looking for the problem. "
 read junk;
 fi
 +  # okay / fs is clean, and mounted as rw
 +  # This was an addition, limits vgscan to /proc thus
 +  # speeding up the scan immensely.
 +  /sbin/mount /proc
 +
 +  # Initialize Logical Volume Manager
 +  /sbin/vgscan
 +  /sbin/vgchange -ay
 +
 +  /sbin/fsck -A -a -R
 +  #Check all the other filesystem, including the LVM's, excluding /
 +
 +  # If there was a failure, drop into single-user mode.
 +  if [ ? -gt 1 ] ; then
 +    echo
 +    echo
 +    echo "*******************************************************"
 +    echo "*** An error occurred during the file system check. ***"
 +    echo "*** You will now be given a chance to log into the  ***"
 +    echo "*** system in single-user mode to fix the problem.  ***"
 +    echo "*** Running 'e2fsck -v -y <partition>' might help.  ***"
 +    echo "*** The root filesystem is ok and mounted readwrite ***"
 +    echo "*******************************************************"
 +    echo
 +    echo "Once you exit the single-user shell, the system will reboot."
 +    echo
 +
 +    PS1="(Repair filesystem) #"; export PS1
 +    sulogin
 +
 +    echo "Unmounting file systems."
 +    umount -a -r
 +    mount -n -o remount,ro /
 +    echo "Rebooting system."
 +    sleep 2
 +    reboot
 +  fi
 +
 else
 echo "Testing filesystem status: read-write filesystem"
 if cat /etc/fstab | grep ' / ' | grep umsdos 1> /dev/null 2> /dev/null ;
 then
 @@ -111,14 +152,16 @@
 echo -n "Press ENTER to continue. "
 read junk;
 fi
 +
 fi

 +
 # remove /etc/mtab* so that mount will create it with a root entry
 /bin/rm -f /etc/mtab* /etc/nologin /etc/shutdownpid

 # mount file systems in fstab (and create an entry for /)
 # but not NFS or SMB because TCP/IP is not yet configured
 -/sbin/mount -a -v -t nonfs,nosmbfs
 +/sbin/mount -a -v -t nonfs,nosmbfs,proc

 # Clean up temporary files on the /var volume:
 /bin/rm -f /var/run/utmp /var/run/*.pid /var/log/setup/tmp/*
 --snip snip snip end of file---------------

6. SuSE

   Aucun changement ne devrait tre ncessaire  partir de la 6.4 puisque LVM
   y est inclus.

Chapitre 8. Scripts de dmarrage pour LVM 2

   Pour utiliser initrd, vous avez besoin d'avoir les lignes :

         dmsetup mknodes
         vgscan --ignorelockingfailure
         vgchange -ay --ignorelockingfailure


   dans linuxrc pour pouvoir activer le LV racine avant d'accder au volume
   racine. La plupart des distributions semblent maintenant possder cette
   configuration dans leur script mkinitrd et tendent aussi  l'avoir dans
   les scripts d'initialisation du systme (rc.sysinit ou quivalent), ce qui
   active tous les volumes au dmarrage.

Chapitre 9. Compiler LVM  partir des sources

   Table des matires

   1. Compiler la bibliothque et les utilitaires LVM

   2. Installer la bibliothque LVM et les utilitaires

   3. Supprimer la bibliothque LVM et les utilitaires

1. Compiler la bibliothque et les utilitaires LVM

   Allez dans le rpertoire de LVM et faites un ./configure suivi d'un make.
   Cela crera toutes les bibliothques et programmes.

   Si vous en avez besoin, vous pouvez modifier des options avec la commande
   de configuration. Faites un ./configure --help pour voir les options
   disponibles. La plupart du temps, ceci sera inutile.

   Il ne devrait pas y avoir d'erreur dans le processus de compilation. S'il
   y en a, reportez-vous au chapitre Signaler des erreurs et des bogues pour
   les signaler.

   Vous tes aussi les bienvenus si vous les corrigez et que vous nous
   envoyez les correctifs. Les correctifs sont habituellement  envoyer  la
   liste linux-lvm.

2. Installer la bibliothque LVM et les utilitaires

   Une fois que les sources compilent correctement, faites simplement un make
   install pour installer la bibliothque LVM et les utilitaires sur votre
   systme.

3. Supprimer la bibliothque LVM et les utilitaires

   Pour enlever la bibliothque et les utilitaires que vous venez
   d'installer, faites make remove. Vous devez avoir les sources originelles
   utilises pour l'installation de LVM pour que cela fonctionne.

Chapitre 10. Migrer d'une version prcdente de LVM vers LVM 1.0.8

   Table des matires

   1. Migrer vers LVM 1.0.8 avec une partition racine non LVM

   2. Migrer vers LVM 1.0.8 avec une partition racine en LVM et initrd

   Migrer d'une version prcdente de LVM vers LVM 1.0.8 devrait tre trs
   simple. Nous avons trouv une mthode pour lire les mta-donnes des PV
   version 1 (LVM 0.9.1 Beta7 et prcdents) aussi bien que les mta-donnes
   des PV version 2 (LVM 0.9.1 Beta8 et LVM 1.0).

   Attention : Les nouveaux PV initialiss avec LVM 1.0.8 utilisent la
   structure de disque des PV version 1. Cela signifie que LVM 0.9.1 Beta8 et
   LVM 1.0 ne peuvent pas lire ou utiliser les PV crs avec la version
   1.0.8.

1. Migrer vers LVM 1.0.8 avec une partition racine non LVM

   Les tapes de la migration sont trs simples, mais il est nanmoins
   recommand de faire une sauvegarde des donnes avant. Vous tes prvenus.

    1. Compiler le noyau LVM et les modules

       Suivez les tapes expliques dans les Chapitre 5, Obtenir LVM et
       Section 2,  Construire le module du noyau pour LVM 1  pour connatre
       les instructions pour obtenir et compiler les lments ncessaires de
       LVM pour le noyau Linux.

    2. Compiler les utilitaires LVM

       Suivez les tapes du Chapitre 9, Compiler LVM  partir des sources
       pour compiler et installer les utilitaires de LVM.

    3. Configurer les scripts de dmarrage

       Assurez-vous d'avoir une configuration correcte des scripts de
       dmarrage comme dans le Chapitre 7, Scripts de dmarrage pour LVM 1.

    4. Dmarrer avec le nouveau noyau

       Assurez-vous que le chargeur d'amorage est configur pour charger le
       nouveau noyau avec LVM et, si vous utilisez des modules, que la
       commande insmod lvm-mod soit dans le script de dmarrage ou que les
       lignes suivantes soient ajoutes dans /etc/modules.conf (anciennement
       appel /etc/conf.modules) pour permettre  modprobe de charger le
       module LVM (n'oubliez pas d'activer kmod) :

 alias block-major-58      lvm-mod
 alias char-major-109      lvm-mod

       Redmarrez la machine et apprciez.

2. Migrer vers LVM 1.0.8 avec une partition racine en LVM et initrd

   La procdure est relativement simple si elle est suivie avec attention. Il
   est recommand de faire une bonne sauvegarde avec une disquette de
   dmarrage de secours, juste au cas o.

   L'utilisation  normale  de LVM sur le systme de fichiers racine est
   d'avoir une seule partition non LVM appele /boot qui contient le noyau et
   une image disque RAM d'initialisation, ncessaire pour dmarrer le
   systme. Le systme que j'ai mis  jour tait comme suit :

 # df
 Sys. de fich.         Blocs-1k    Occup    Dispo. Cap% Mont sur
 /dev/rootvg/root        253871     93384    147380  39% /
 /dev/hda1                17534     12944      3685  78% /boot
 /dev/rootvg/home       4128448      4568   3914168   0% /home
 /dev/rootvg/usr        1032088    332716    646944  34% /usr
 /dev/rootvg/var         253871     31760    209004  13% /var

   /boot contient l'ancien noyau et l'image disque RAM d'initialisation ainsi
   que les fichiers d'amorage de Lilo et les lignes suivantes dans
   /etc/lilo.conf :

 # ls /boot
 System.map                 lost+found              vmlinux-2.2.16lvm
 map                        module-info             boot.0300
 boot.b                     os2_d.b                 chain.b
 initrd.gz
 # tail /etc/lilo.conf
 image=/boot/vmlinux-2.2.16lvm
         label=lvm08
         read-only
         root=/dev/rootvg/root
         initrd=/boot/initrd.gz
         append="ramdisk_size=8192"

    1. Compiler le noyau LVM et les modules

       Suivez les instructions dtailles dans les Chapitre 5, Obtenir LVM et
       Section 2,  Construire le module du noyau pour LVM 1  pour obtenir
       et compiler les composants noyau ncessaires pour LVM.

    2. Compiler les utilitaires LVM

       Suivez les instructions dtailles dans le Section 2,  Construire le
       module du noyau pour LVM 1  pour compiler et installer les
       utilitaires ncessaires pour LVM.

       Installer les nouveaux utilitaires. Une fois cela effectu, vous ne
       pourrez plus faire de manipulations sur LVM car les utilitaires ne
       sont pas compatibles avec le noyau dmarr actuellement.

    3. Renommer le fichier initrd.gz existant

       Cela permet qu'il ne soit pas cras par le nouveau fichier.

 # mv /boot/initrd.gz /boot/initrd08.gz

    4. Modifier /etc/lilo.conf

       Faites pointer l'entre de dmarrage existante vers le fichier
       renomm. Vous devrez redmarrer en utilisant cela si quelque chose se
       passe mal. L'entre modifie devrait ressembler  cela :

 image=/boot/vmlinux-2.2.16lvm
         label=lvm08
         read-only
         root=/dev/rootvg/root
         initrd=/boot/initrd08.gz
         append="ramdisk_size=8192"

    5. Lancer lvmcreate_initrd pour crer une nouvelle image disque RAM
       d'initialisation

 # lvmcreate_initrd 2.4.9

       N'oubliez pas de spcifier la nouvelle version du noyau afin qu'il
       prenne les bons modules.

    6. Ajouter une nouvelle entre dans /etc/lilo.conf

       Cette nouvelle entre sert  dmarrer avec le nouveau noyau et le
       nouvel initrd.

 image=/boot/vmlinux-2.4.9lvm
 label=lvm10
 read-only
 root=/dev/rootvg/root
 initrd=/boot/initrd.gz
 append="ramdisk_size=8192"

    7. Relancer lilo

       Cela installe le nouveau bloc d'amorage

 # /sbin/lilo

    8. Redmarrer la machine

       Lorsque vous avez l'cran de slection de Lilo, choisissez la nouvelle
       entre (lvm10 dans cet exemple) et le systme devrait dmarrer avec un
       Linux utilisant la nouvelle version de LVM.

       Si le nouveau noyau ne dmarre pas, alors dmarrez avec l'ancien et
       essayez de corriger le problme. Cela peut provenir du noyau qui
       n'aurait pas tous les pilotes de priphriques correctement compils
       ou bien qu'ils ne sont pas disponibles dans initrd. Souvenez-vous que
       tous les pilotes (except pour LVM) qui sont ncessaires pour accder
       au priphrique racine doivent tre compils en dur dans le noyau et
       non en tant que modules.

       Si vous avez besoin d'effectuer des manipulations avec LVM lorsque
       vous avez redmarr sur l'ancienne version, il vous faut juste
       recompiler les anciens utilitaires et les installer avec :

 # make install

       Si vous faites cela, n'oubliez pas de rinstaller la nouvelle version
       lorsque vous redmarrerez avec le nouveau LVM.

   Une fois satisfait de la nouvelle installation, pensez  modifier l'entre
    default=  dans le fichier lilo.conf pour mettre par dfaut le nouveau
   noyau.

Chapitre 11. Tches courantes

   Table des matires

   1. Initialiser des disques ou des partitions de disques

   2. Crer un groupe de volumes

   3. Activer un groupe de volumes

   4. Enlever un groupe de volumes

   5. Ajouter un volume physique  un groupe de volumes

   6. Supprimer un volume physique d'un groupe de volumes

   7. Crer un volume logique

   8. Supprimer un volume logique

   9. tendre un volume logique

   10. Rduire un volume logique

   11. Migrer des donnes hors d'un volume physique

   Ce chapitre dtaille quelques oprations courantes sur un systme LVM.
   Cela ne remplace pas la lecture des pages de man.

1. Initialiser des disques ou des partitions de disques

   Avant de pouvoir utiliser un disque ou une partition comme volume
   physique, il faut l'initialiser :

   Pour un disque entier :

     * Lancez pvcreate sur le disque :

 # pvcreate /dev/hdb

       Cela cre un descripteur de groupe de volumes au dbut du disque.

       [19][Avertissement] Dconseill
                           L'utilisation d'un disque entier en tant que PV
                           (par rapport  une partition utilisant tout le
                           disque) est dconseille en raison des problmes
                           de gestion que cela peut crer. Tout autre systme
                           d'exploitation ne dtectera pas les mta-donnes
                           LVM, affichera un disque vide et crasera
                           probablement son contenu. Sinon LVM fonctionne
                           parfaitement avec des PVs occupant tout le disque.

     * Si vous obtenez une erreur indiquant que LVM ne peut pas initialiser
       un disque qui possde dj une table de partition, vrifiez tout
       d'abord que vous tes en train d'utiliser le bon disque. Si vous en
       tes vraiment sr, effectuez les commandes suivantes :

       [20][Avertissement] DANGEREUX
                           Les commandes suivantes vont dtruire la table des
                           partitions sur le disque o elles sont lances.
                           Soyez vraiment sr que c'est le bon disque.

 # dd if=/dev/zero of=/dev/nomdudisque bs=1k count=1
 # blockdev --rereadpt /dev/nomdudisque

   Pour les partitions :

     * Quand vous utilisez LVM 1 sur des PC avec des partitions DOS, mettez
       le type de la partition  0x8e avec fdisk ou un programme similaire.
       Ceci n'est pas ncessaire avec un systme PPC ou avec LVM 2.

     * Lancez pvcreate sur la partition :

 # pvcreate /dev/hdb1

       Cela cre un descripteur de groupe de volumes au dbut de la partition
       /dev/hdb1.

2. Crer un groupe de volumes

   Utilisez le programme vgcreate :

 # vgcreate mon_groupe_de_volumes /dev/hda1 /dev/hdb1

   Remarque : Si vous utilisez devfs, il est primordial d'utiliser le nom
   complet du priphrique devfs plutt que le lien symbolique dans /dev. Par
   consquent la commande prcdente devient :

 # vgcreate mon_groupe_de_volumes \\
     /dev/ide/host0/bus0/target0/lun0/part1 \\
     /dev/ide/host0/bus0/target1/lun0/part1

   LVM 2 n'a pas cette restriction.

   Vous pouvez aussi prciser la taille des extents avec l'option  -s  de
   cette commande si la valeur par dfaut de 32 Mo ne vous convient pas. De
   plus, vous pouvez mettre des limites sur le nombre de volumes physiques et
   logiques que le volume peut contenir.

3. Activer un groupe de volumes

   Aprs un redmarrage ou la commande vgchange -an, les VG et LV ne sont
   plus accessibles. Pour ractiver le groupe de volumes, excutez :

 # vgchange -a y mon_groupe_de_volumes

4. Enlever un groupe de volumes

   Assurez-vous qu'aucun volume logique n'est prsent dans le groupe de
   volumes, voir les sections suivantes pour savoir comment faire.

   Dsactivez le groupe de volumes :

 # vgchange -a n mon_groupe_de_volumes

   Maintenant, vous pouvez supprimer le groupe de volumes :

 # vgremove mon_groupe_de_volumes

5. Ajouter un volume physique  un groupe de volumes

   Utilisez  vgextend  pour ajouter un volume physique dj initialis  un
   groupe de volumes existant.

 # vgextend mon_groupe_de_volumes /dev/hdc1
                                  ^^^^^^^^^
                                  nouveau volume physique

6. Supprimer un volume physique d'un groupe de volumes

   La commande  pvdisplay  permet de s'assurer que le volume physique n'est
   utilis par aucun volume logique :

 # pvdisplay /dev/hda1
 --- Physical volume ---
 PV Name               /dev/hda1
 VG Name               myvg
 PV Size               1.95 GB / NOT usable 4 MB [LVM: 122 KB]
 PV#                   1
 PV Status             available
 Allocatable           yes (but full)
 Cur LV                1
 PE Size (KByte)       4096
 Total PE              499
 Free PE               0
 Allocated PE          499
 PV UUID               Sd44tK-9IRw-SrMC-MOkn-76iP-iftz-OVSen7

   Si le volume physique est encore utilis, il faut migrer les donnes vers
   un autre volume physique.

   Utilisez ensuite  vgreduce  pour enlever le volume physique :

 # vgreduce mon_groupe_de_volumes /dev/hda1

7. Crer un volume logique

   Pour crer un LV  testlv  linaire de 1 500 Mo et son priphrique
   spcial  /dev/testvg/testlv  :

 # lvcreate -L1500 -ntestlv testvg

   Pour crer un volume logique de 100 LE avec 2 blocs rpartis et une taille
   de bloc de 4 Ko :

 # lvcreate -i2 -I4 -l100 -nunautretestlv testvg

   Pour crer un LV qui utilise tout le VG, utilisez vgdisplay pour trouver
   la valeur de  Total PE , puis utilisez-la avec lvcreate.

 # vgdisplay testvg | grep "Total PE"
 Total PE              10230
 # lvcreate -l 10230 testvg -n monlv

   Cela crera un LV appel monlv qui remplira la totalit du VG testvg.

   Si vous dsirez allouer le volume logique sur un volume physique prcis,
   il faut spcifier le nom du ou des PV  la fin de la commande lvcreate.

 # lvcreate -L 1500 -ntestlv testvg /dev/sdg

8. Supprimer un volume logique

   Un volume logique doit tre dmont avant d'tre supprim :

 # umount /dev/monvg/homevol
 # lvremove /dev/monvg/homevol
 lvremove -- do you really want to remove "/dev/monvg/homevol"? [y/n]: y
 lvremove -- doing automatic backup of volume group "monvg"
 lvremove -- logical volume "/dev/monvg/homevol" successfully removed

9. tendre un volume logique

   Pour tendre un volume logique, il suffit de dire  lvextend de combien
   vous voulez augmenter la taille. Vous pouvez spcifier la quantit
   d'espace  ajouter ou bien la taille finale du volume logique :

 # lvextend -L12G /dev/monvg/homevol
 lvextend -- extending logical volume "/dev/monvg/homevol" to 12 GB
 lvextend -- doing automatic backup of volume group "monvg"
 lvextend -- logical volume "/dev/monvg/homevol" successfully extended

   tend /dev/monvg/homevol jusqu' 12 Go.

 # lvextend -L+1G /dev/monvg/homevol
 lvextend -- extending logical volume "/dev/monvg/homevol" to 13 GB
 lvextend -- doing automatic backup of volume group "monvg"
 lvextend -- logical volume "/dev/monvg/homevol" successfully extended

   ajoute 1 Go  /dev/monvg/homevol.

   Une fois le volume logique tendu, il est ncessaire d'augmenter la taille
   du systme de fichiers  la taille correspondante. La procdure  suivre
   dpend du type de systme de fichiers utilis.

   Par dfaut, la plupart des utilitaires de redimensionnement de systmes de
   fichiers vont augmenter leur taille suivant la taille du volume logique
   correspondant. Vous n'avez donc pas  vous occuper de spcifier la mme
   taille pour les deux commandes.

    1. ext2/ext3

        moins que vous n'ayez un noyau avec le correctif ext2online, il est
       ncessaire de dmonter le systme de fichiers avant le
       redimensionnement. (Il semble que le patch de redimensionnement 
       chaud soit dangereux, donc  utiliser  vos risques et prils.)

 # umount /dev/monvg/homevol
 # ext2resize /dev/monvg/homevol
 # mount /dev/monvg/homevol /home

       Si vous n'avez pas e2fsprogs 1.19 ou suprieur, la commande ext2resize
       est disponible sur ext2resize.sourceforge.net
       [http://ext2resize.sourceforge.net]. Utilisez-la ensuite :

 # umount /dev/monvg/homevol
 # resize2fs /dev/monvg/homevol
 # mount /dev/monvg/homevol /home

       Pour ext2, il y a une solution plus simple : LVM 1 fournit un
       utilitaire appel e2fsadm qui effectue le lvextend et le resize2fs
       pour vous (et peut aussi faire la rduction, voir le chapitre
       suivant).

       [21][Avertissement] Inconvnient de LVM 2
                           Il n'y a pas actuellement d'quivalent  e2fsadm
                           pour LVM 2 et la version de e2fsadm de LVM 1 ne
                           fonctionne pas avec LVM 2.

       La commande unique devient :

 # e2fsadm -L+1G /dev/monvg/homevol

       qui est quivalente  :

 # lvextend -L+1G /dev/monvg/homevol
 # resize2fs /dev/monvg/homevol

       [22][Note] Remarque
                  Il est toujours ncessaire de dmonter le systme de
                  fichiers avant d'utiliser e2fsadm.

    2. reiserfs

       Le systme de fichiers Reiserfs peut tre redimensionn mont ou
       dmont, comme vous le prfrez :

          * en fonctionnement :

 # resize_reiserfs -f /dev/monvg/homevol

          * hors fonctionnement :

 # umount /dev/monvg/homevol
 # resize_reiserfs /dev/monvg/homevol
 # mount -treiserfs /dev/monvg/homevol /home

    3. xfs

       Les systmes de fichiers XFS doivent tre monts pour tre
       redimensionns et le point de montage doit tre donn  la place du
       nom de priphrique.

 # xfs_growfs /home

    4. jfs

       Comme XFS, le systme de fichiers JFS doit tre mont pour tre
       redimensionn et le point de montage doit tre spcifi plutt que le
       nom du priphrique. Il vous faut au minimum la version 1.0.21 de
       jfs-utils pour cela.

 # mount -o remount,resize /home

       [23][Avertissement] Bogue connu du noyau
                           Certaines versions du noyau ont des problmes avec
                           cette syntaxe (2.6.0 en fait partie). Dans ce cas,
                           vous devez explicitement spcifier la nouvelle
                           taille du systme de fichiers en blocs. Attention
                           aux erreurs car vous devez connatre la taille de
                           blocs de votre systme de fichiers et vous en
                           servir pour calculer la nouvelle taille.

                           Exemple : Si vous devez redimensionner un systme
                           de fichiers JFS  4 Go, crivez :

                           # mount -o remount,resize=1048576 /home

10. Rduire un volume logique

   Les volumes logiques peuvent tre rduits de la mme faon qu'ils peuvent
   tre agrandis. Cependant, il est trs important de se souvenir qu'il faut
   rduire la taille du systme de fichiers ou de toute autre chose rsidant
   sur le volume avant de le rduire lui-mme. Autrement, vous risquez de
   perdre des donnes.

    1. ext2

       Si vous utilisez LVM 1 avec le systme de fichiers ext2, vous pouvez
       utiliser e2fsadm comme mentionn prcdemment pour effectuer les deux
       commandes de rduction du systme de fichiers et de rduction du
       volume :

 # umount /home
 # e2fsadm -L-1G /dev/monvg/homevol
 # mount /home

       [24][Avertissement] Inconvnient de LVM 2
                           Actuellement, il n'y a pas d'quivalent  e2fsadm
                           pour LVM 2 et la version de e2fsadm de LVM 1 ne
                           fonctionne pas avec LVM 2.

       Si vous prfrez faire cela manuellement, vous devez connatre la
       nouvelle taille du volume en blocs et utiliser les commandes
       suivantes :

 # umount /home
 # resize2fs /dev/monvg/homevol 524288
 # lvreduce -L-1G /dev/monvg/homevol
 # mount /home

    2. reiserfs

       Il semble que Reiserfs prfre tre dmont avant d'tre rduit :

 # umount /home
 # resize_reiserfs -s-1G /dev/monvg/homevol
 # lvreduce -L-1G /dev/monvg/homevol
 # mount -treiserfs /dev/monvg/homevol /home

    3. xfs

       Il n'y a pas moyen de rduire un systme de fichiers XFS.

    4. jfs

       Il n'y a pas moyen de rduire un systme de fichiers JFS.

11. Migrer des donnes hors d'un volume physique

   Pour mettre un disque hors service, il faut au pralable dplacer tous ses
   extents physiques sur d'autres disques du groupe de volumes. Il doit y
   avoir assez d'extents physiques libres sur les PV qui restent pour
   accueillir les extents provenant du disque  enlever. Pour plus de
   dtails, voir la Section 5,  Enlever un disque .

Chapitre 12. Partitionnement de disques

   Table des matires

   1. Plusieurs partitions sur le mme disque

   2. tiquettes de disque Sun (Sun disk labels)

1. Plusieurs partitions sur le mme disque

   Le LVM permet de crer des PV (volumes physiques) sur presque tous les
   priphriques par blocs. Par exemple, les commandes suivantes sont valides
   et vont trs bien fonctionner dans un environnement LVM :

 # pvcreate /dev/sda1
 # pvcreate /dev/sdf
 # pvcreate /dev/hda8
 # pvcreate /dev/hda6
 # pvcreate /dev/md1

   Dans un environnement de production  normal , il est recommand de
   n'avoir qu'un seul PV par disque rel pour les raisons suivantes :

     * Facilit d'administration.

       Il est plus simple de grer le matriel du systme si chaque disque
       rel n'apparat qu'en un seul endroit. C'est particulirement vrai en
       cas de problme sur le disque.

     * viter les problmes de performances avec la rpartition.

       LVM ne sait pas dire si deux PV sont sur le mme disque physique. Donc
       si vous crez des LV rpartis, les blocs peuvent trs bien tre sur
       diffrentes partitions du mme disque, ce qui entrane une diminution
       des performances, plutt qu'une augmentation.

   Cependant, il peut tre souhaitable de le faire pour certaines raisons :

     * La migration d'un systme existant vers LVM.

       Sur un systme avec peu de disques, il peut tre ncessaire de
       dplacer des donnes entre les partitions pour effectuer la conversion
       (cf. la Section 8,  Convertir le systme de fichiers racine en
       LVM 1 ).

     * Sparer un gros disque dans plusieurs groupes de volumes.

       Si vous avez un trs gros disque et que vous voulez plus d'un groupe
       de volumes pour des raisons d'administration, alors il est ncessaire
       de faire plusieurs partitions sur le disque.

   Si vous avez un disque avec plus d'une partition et que ces partitions
   sont dans le mme groupe de volumes, faites attention  bien spcifier les
   partitions qui doivent tre incluses dans le volume logique lorsque vous
   crez des volumes rpartis.

   Il est recommand d'utiliser une seule partition qui couvre l'ensemble du
   disque physique. Cela vite des accidents avec les nuds des priphriques
   du disque et vite les messages d'alerte du noyau au dmarrage  propos de
   types de partitions inconnus.

2. tiquettes de disque Sun (Sun disk labels)

   Il faut porter une attention particulire aux systmes SPARC car les
   disques contiennent des tiquettes de disque Sun.

   L'organisation normale des disques munis d'tiquettes de disque Sun est de
   faire commencer la premire partition  partir du bloc zro du disque.
   Cela implique que l'tiquette du disque se trouve en fait sur sa premire
   partition. Cela fonctionne parfaitement avec les systmes de fichiers ext2
   (et c'est essentiel pour amorcer un systme avec avec SILO) mais ces
   partitions ne doivent pas tre utilises avec LVM car celui-ci commence 
   crire au tout dbut du priphrique et crase alors l'tiquette de
   disque.

   Si vous voulez utiliser un disque avec des tiquettes de disque Sun,
   assurez-vous de faire commencer votre partition  partir du cylindre 1 ou
   suprieur.

Chapitre 13. Recettes

   Table des matires

   1. Mettre en place LVM avec trois disques SCSI

                1.1. Prparation des disques

                1.2. Configuration du groupe de volumes

                1.3. Cration du volume logique

                1.4. Cration du systme de fichiers

                1.5. Test du systme de fichiers

   2. Mise en place de LVM sur trois disques SCSI avec rpartition (striping)

                2.1. Prparation des partitions de disque

                2.2. Configuration du groupe de volumes

                2.3. Cration du volume logique

                2.4. Cration du systme de fichiers

                2.5. Test du systme de fichiers

   3. Ajouter un nouveau disque dans un systme avec plusieurs disques SCSI

                3.1. Situation actuelle

                3.2. Prparation du partitionnement du disque

                3.3. Ajout des nouvelles partitions au groupe de volumes

                3.4. Extension des systmes de fichiers

                3.5. Remontage des volumes tendus

   4. Faire une sauvegarde avec un instantan (snapshot)

                4.1. Crer le volume d'instantan

                4.2. Monter le volume d'instantan

                4.3. Faire la sauvegarde

                4.4. Supprimer l'instantan

   5. Enlever un disque

                5.1. Distribuer les anciens extents vers des disques
                existants du groupe de volumes

                5.2. Distribuer les anciens extents sur un nouveau disque de
                remplacement

   6. Dplacer un groupe de volumes vers un autre systme

                6.1. Dmonter le systme de fichiers

                6.2. Marquer le groupe de volumes comme inactif

                6.3. Exporter le groupe de volumes

                6.4. Importer le groupe de volumes

                6.5. Activer le groupe de volumes

                6.6. Monter le systme de fichiers

   7. Diviser un groupe de volumes

                7.1. Dterminer l'espace libre

                7.2. Dplacer les donnes des disques  rutiliser

                7.3. Crer un nouveau groupe de volumes

                7.4. Enlever le volume restant

                7.5. Crer le nouveau volume logique

                7.6. Crez un systme de fichiers sur le volume

                7.7. Montez le nouveau volume

   8. Convertir le systme de fichiers racine en LVM 1

                8.1. Dmarrer en mode mono-utilisateur

                8.2. Utiliser Parted

                8.3. Redmarrer

                8.4. Vrifier les options de configuration du noyau

                8.5. Ajuster le type de partition

                8.6. Configurer LVM 1 pour la nouvelle configuration

                8.7. Crer le systme de fichiers

                8.8. Mise  jour de /etc/fstab

                8.9. Crez une image disque RAM d'initialisation pour LVM 1

                8.10. Mise  jour de /etc/lilo.conf

                8.11. Lancez lilo pour crire le nouveau secteur de boot

                8.12. Redmarrer avec LVM

                8.13. Ajoutez le reste du disque dans LVM

   9. Restaurer les mta-donnes d'un volume physique

   Ce chapitre dtaille plusieurs  recettes  diffrentes pour mettre en
   place LVM. L'objectif est que le lecteur puisse adapter ces recettes pour
   son systme et ses propres besoins.

1. Mettre en place LVM avec trois disques SCSI

   Pour cette recette, on dispose de trois disques SCSI qui vont tre mis
   dans un volume logique utilisant LVM. Les disques sont /dev/sda, /dev/sdb
   et /dev/sdc.

  1.1. Prparation des disques

   Il faut prparer le disque avant de pouvoir l'utiliser dans un groupe de
   volumes :

   [25][Avertissement] Attention !
                       Les commandes suivantes vont dtruire toutes les
                       donnes prsentes sur /dev/sda, /dev/sdb et /dev/sdc.

   Lancez pvcreate sur les disques :

 # pvcreate /dev/sda
 # pvcreate /dev/sdb
 # pvcreate /dev/sdc

   Cela cre une zone avec les descripteurs de groupes de volumes (volume
   group descriptor area, VGDA) au dbut des disques.

  1.2. Configuration du groupe de volumes

    1. Crez un groupe de volumes

 # vgcreate mon_groupe_de_volumes /dev/sda /dev/sdb /dev/sdc

    2. Utilisez vgdisplay pour vrifier le groupe de volume

 # vgdisplay
 --- Volume Group ---
 VG Name               mon_groupe_de_volumes
 VG Access             read/write
 VG Status             available/resizable
 VG #                  1
 MAX LV                256
 Cur LV                0
 Open LV               0
 MAX LV Size           255.99 GB
 Max PV                256
 Cur PV                3
 Act PV                3
 VG Size               1.45 GB
 PE Size               4 MB
 Total PE              372
 Alloc PE / Size       0 / 0
 Free  PE / Size       372/ 1.45 GB
 VG UUID               nP2PY5-5TOS-hLx0-FDu0-2a6N-f37x-0BME0Y

       Le plus important est de vrifier les trois premiers lments et que
       la taille indique par  VG Size  est bien la taille de vos trois
       disques runis.

  1.3. Cration du volume logique

   Si le groupe de volumes semble correct, il est alors temps de crer un
   volume logique dessus.

   Vous pouvez choisir la taille que vous voulez pour le volume logique (de
   la mme manire que vous le feriez dans un environnement non LVM). Pour
   cet exemple, nous allons juste crer un volume logique d'1 Go dans le
   groupe de volumes. Nous n'utiliserons pas la rpartition car il n'est pas
   actuellement possible de rajouter un disque une fois le volume logique
   cr.

 # lvcreate -L1G -nmon_volume_logique mon_groupe_de_volumes
 lvcreate -- doing automatic backup of "mon_groupe_de_volumes"
 lvcreate -- logical volume "/dev/mon_groupe_de_volumes/mon_volume_logique" successfully created

  1.4. Cration du systme de fichiers

   Crez un systme de fichiers ext2 dans le volume logique :

 # mke2fs /dev/mon_groupe_de_volumes/mon_volume_logique
 mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 131072 inodes, 262144 blocks
 13107 blocks (5.00%) reserved for the super user
 First data block=0
 9 block groups
 32768 blocks per group, 32768 fragments per group
 16384 inodes per group
 Superblock backups stored on blocks:
 32768, 98304, 163840, 229376

 Writing inode tables: done
 Writing superblocks and filesystem accounting information: done

  1.5. Test du systme de fichiers

   Montez le volume logique et vrifiez que tout semble correct.

 # mount /dev/mon_groupe_de_volumes/mon_volume_logique /mnt
 # df

 Filesystem           1k-blocks      Used Available Use% Mounted on
 /dev/hda1              1311552    628824    616104  51% /
 /dev/mon_groupe_de_volumes/mon_volume_logique
                        1040132        20    987276   0% /mnt

   Si tout s'est pass correctement, vous avez dsormais un volume logique
   avec un systme de fichiers ext2 mont dans /mnt.

2. Mise en place de LVM sur trois disques SCSI avec rpartition (striping)

   Pour cette recette, on dispose de trois disques SCSI qui vont tre mis
   dans un volume logique en utilisant LVM. Les disques sont /dev/sda,
   /dev/sdb et /dev/sdc.

   [26][Note] Remarque
              Il n'est pas actuellement possible d'ajouter un disque dans un
              volume logique rparti avec LVM 1. Utilisez LVM 2 avec le
              format de mta-donnes lvm 2 si vous voulez effectuer cela.

  2.1. Prparation des partitions de disque

   Il faut prparer le disque avant de pouvoir l'utiliser dans un groupe de
   volumes :

   [27][Avertissement] Attention !
                       Les commandes suivantes vont dtruire toutes les
                       donnes prsentes sur /dev/sda, /dev/sdb et /dev/sdc.

   Lancez pvcreate sur les disques :

 # pvcreate /dev/sda
 # pvcreate /dev/sdb
 # pvcreate /dev/sdc

   Cela cre une zone de descripteurs de groupes de volumes (volume group
   descriptor area, VGDA) au dbut des disques.

  2.2. Configuration du groupe de volumes

    1. Crez un groupe de volumes

 # vgcreate mon_groupe_de_volumes /dev/sda /dev/sdb /dev/sdc

    2. Utilisez vgdisplay pour vrifier le groupe de volume

 # vgdisplay
 --- Volume Group ---
 VG Name                      mon_groupe_de_volumes
 VG Access             read/write
 VG Status             available/resizable
 VG #                  1
 MAX LV                256
 Cur LV                0
 Open LV               0
 MAX LV Size           255.99 GB
 Max PV                256
 Cur PV                3
 Act PV                3
 VG Size               1.45 GB
 PE Size               4 MB
 Total PE              372
 Alloc PE / Size       0 / 0
 Free  PE / Size       372/ 1.45 GB
 VG UUID               nP2PY5-5TOS-hLx0-FDu0-2a6N-f37x-0BME0Y

       Le plus important est de vrifier les trois premiers lments et que
       la taille indique par  VG Size  est bien la taille de vos trois
       disques runis.

  2.3. Cration du volume logique

   Si le groupe de volumes semble correct, il est alors temps de crer un
   volume logique dessus.

   Vous pouvez choisir la taille que vous voulez pour le volume logique (de
   la mme manire que vous le feriez sur un environnement non LVM). Pour cet
   exemple, nous allons juste crer un volume logique d'1 Go sur le groupe de
   volumes. Le volume logique sera rparti en utilisant une taille de bloc de
   4 Ko. Cela devrait amliorer ses performances.

 # lvcreate -i3 -I4 -L1G -nmon_volume_logique mon_groupe_de_volumes
 lvcreate -- rounding 1048576 KB to stripe boundary size 1056768 KB / 258 PE
 lvcreate -- doing automatic backup of "mon_groupe_de_volumes"
 lvcreate -- logical volume "/dev/mon_groupe_de_volumes/mon_volume_logique" successfully created

   [28][Note] Remarque
              Si vous crez le volume logique avec l'option  -i2 , vous
              n'utiliserez que deux disques de votre groupe de volumes. Ceci
              est utile si vous voulez crer deux volumes logiques  partir
              du mme volume physique, mais ce point n'est pas abord dans
              cette recette.

  2.4. Cration du systme de fichiers

   Crez un systme de fichiers ext2 dans le volume logique :

 # mke2fs /dev/mon_groupe_de_volumes/mon_volume_logique
 mke2fs 1.19, 13-Jul-2000 for EXT2 FS 0.5b, 95/08/09
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 132192 inodes, 264192 blocks
 13209 blocks (5.00%) reserved for the super user
 First data block=0
 9 block groups
 32768 blocks per group, 32768 fragments per group
 14688 inodes per group
 Superblock backups stored on blocks:
 32768, 98304, 163840, 229376

 Writing inode tables: done
 Writing superblocks and filesystem accounting information: done

  2.5. Test du systme de fichiers

   Montez le volume logique et vrifiez que tout semble correct.

 # mount /dev/mon_groupe_de_volumes/mon_volume_logique /mnt

 # df
 Filesystem           1k-blocks      Used Available Use% Mounted on
 /dev/hda1              1311552    628824    616104  51% /
 /dev/mon_groupe_de_volumes/mon_volume_logique
                        1040132        20    987276   0% /mnt

   Si tout s'est pass correctement, vous avez dsormais un volume logique
   avec un systme de fichiers ext2 mont dans /mnt.

3. Ajouter un nouveau disque dans un systme avec plusieurs disques SCSI

  3.1. Situation actuelle

   Un serveur de donnes possde six disques organiss de la faon suivante :

 # pvscan
 pvscan -- ACTIVE   PV "/dev/sda"  of VG "dev"   [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sdb"  of VG "sales" [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sdc"  of VG "ops"   [1.95 GB / 44 MB free]
 pvscan -- ACTIVE   PV "/dev/sdd"  of VG "dev"   [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sde1" of VG "ops"   [996 MB / 52 MB free]
 pvscan -- ACTIVE   PV "/dev/sde2" of VG "sales" [996 MB / 944 MB free]
 pvscan -- ACTIVE   PV "/dev/sdf1" of VG "ops"   [996 MB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sdf2" of VG "dev"   [996 MB / 72 MB free]
 pvscan -- total: 8 [11.72 GB] / in use: 8 [11.72 GB] / in no VG: 0 [0]

 # df
 Filesystem           1k-blocks      Used Available Use% Mounted on
 /dev/dev/cvs           1342492    516468    757828  41% /mnt/dev/cvs
 /dev/dev/users         2064208   2060036      4172 100% /mnt/dev/users
 /dev/dev/build         1548144   1023041    525103  66% /mnt/dev/build
 /dev/ops/databases     2890692   2302417    588275  79% /mnt/ops/databases
 /dev/sales/users       2064208    871214   1192994  42% /mnt/sales/users
 /dev/ops/batch         1032088    897122    134966  86% /mnt/ops/batch

   Comme vous pouvez le voir, les groupes  dev  et  ops  sont presque
   pleins. Un nouveau disque est achet et ajout au systme. Il devient
   /dev/sdg.

  3.2. Prparation du partitionnement du disque

   Le nouveau disque doit tre partag entre ops et dev. Il est donc
   partitionn en deux volumes physiques /dev/sdg1 et /dev/sdg2 :

 # fdisk /dev/sdg

 Device contains neither a valid DOS partition table, nor Sun or SGI
 disklabel Building a new DOS disklabel. Changes will remain in memory
 only, until you decide to write them. After that, of course, the
 previous content won't be recoverable.

 Command (m for help): n
 Command action
 e   extended
 p   primary partition (1-4)

 p
 Partition number (1-4): 1
 First cylinder (1-1000, default 1):
 Using default value 1
 Last cylinder or +size or +sizeM or +sizeK (1-1000, default 1000): 500

 Command (m for help): n
 Command action
 e   extended
 p   primary partition (1-4)

 p
 Partition number (1-4): 2
 First cylinder (501-1000, default 501):
 Using default value 501
 Last cylinder or +size or +sizeM or +sizeK (501-1000, default 1000):
 Using default value 1000

 Command (m for help): t
 Partition number (1-4): 1
 Hex code (type L to list codes): 8e
 Changed system type of partition 1 to 8e (Unknown)

 Command (m for help): t
 Partition number (1-4): 2
 Hex code (type L to list codes): 8e
 Changed system type of partition 2 to 8e (Unknown)

 Command (m for help): w
 The partition table has been altered!

 Calling ioctl() to re-read partition table.

 WARNING: If you have created or modified any DOS 6.x partitions,
 please see the fdisk manual page for additional information.

   Ensuite, les volumes physiques sont crs sur cette partition :

 # pvcreate /dev/sdg1
 pvcreate -- physical volume "/dev/sdg1" successfully created

 # pvcreate /dev/sdg2
 pvcreate -- physical volume "/dev/sdg2" successfully created

  3.3. Ajout des nouvelles partitions au groupe de volumes

   Les volumes sont ensuite ajouts aux groupes de volumes dev et ops :

 # vgextend ops /dev/sdg1
 vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte
 vgextend -- doing automatic backup of volume group "ops"
 vgextend -- volume group "ops" successfully extended

 # vgextend dev /dev/sdg2
 vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte
 vgextend -- doing automatic backup of volume group "dev"
 vgextend -- volume group "dev" successfully extended

 # pvscan
 pvscan -- reading all physical volumes (this may take a while...)
 pvscan -- ACTIVE   PV "/dev/sda"  of VG "dev"   [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sdb"  of VG "sales" [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sdc"  of VG "ops"   [1.95 GB / 44 MB free]
 pvscan -- ACTIVE   PV "/dev/sdd"  of VG "dev"   [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sde1" of VG "ops"   [996 MB / 52 MB free]
 pvscan -- ACTIVE   PV "/dev/sde2" of VG "sales" [996 MB / 944 MB free]
 pvscan -- ACTIVE   PV "/dev/sdf1" of VG "ops"   [996 MB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sdf2" of VG "dev"   [996 MB / 72 MB free]
 pvscan -- ACTIVE   PV "/dev/sdg1" of VG "ops"   [996 MB / 996 MB free]
 pvscan -- ACTIVE   PV "/dev/sdg2" of VG "dev"   [996 MB / 996 MB free]
 pvscan -- total: 10 [13.67 GB] / in use: 10 [13.67 GB] / in no VG: 0 [0]

  3.4. Extension des systmes de fichiers

   L'action suivante est d'tendre les systmes de fichiers pour que de
   l'espace disque supplmentaire soit disponible aux utilisateurs.

   Il existe des outils qui permettent le redimensionnement  chaud des
   systmes de fichiers ext2, mais nous utilisons ici la mthode la plus sre
   et dmontons les deux systmes de fichiers avant le redimensionnement :

 # umount /mnt/ops/batch
 # umount /mnt/dev/users

   Nous utilisons ensuite la commande e2fsadm pour redimensionner le volume
   logique et le systme de fichiers ext2 en une seule opration. Nous
   utilisons ext2resize  la place de resize2fs (qui est la commande par
   dfaut de e2fsadm). Pour cela, nous dfinissons la variable
   d'environnement E2FSADM_RESIZE_CMD pour dire  e2fsadm d'utiliser cette
   commande.

 # export E2FSADM_RESIZE_CMD=ext2resize
 # e2fsadm /dev/ops/batch -L+500M
 e2fsck 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
 /dev/ops/batch: 11/131072 files (0.0<!--  non-contiguous), 4127/262144 blocks
 lvextend -- extending logical volume "/dev/ops/batch" to 1.49 GB
 lvextend -- doing automatic backup of volume group "ops"
 lvextend -- logical volume "/dev/ops/batch" successfully extended

 ext2resize v1.1.15 - 2000/08/08 for EXT2FS 0.5b
 e2fsadm -- ext2fs in logical volume "/dev/ops/batch" successfully extended to 1.49 GB

 # e2fsadm /dev/dev/users -L+900M
 e2fsck 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
 Pass 1: Checking inodes, blocks, and sizes
 Pass 2: Checking directory structure
 Pass 3: Checking directory connectivity
 Pass 4: Checking reference counts
 Pass 5: Checking group summary information
 /dev/dev/users: 12/262144 files (0.0% non-contiguous), 275245/524288 blocks
 lvextend -- extending logical volume "/dev/dev/users" to 2.88 GB
 lvextend -- doing automatic backup of volume group "dev"
 lvextend -- logical volume "/dev/dev/users" successfully extended

 ext2resize v1.1.15 - 2000/08/08 for EXT2FS 0.5b
 e2fsadm -- ext2fs in logical volume "/dev/dev/users" successfully extended to 2.88 GB

  3.5. Remontage des volumes tendus

   Nous pouvons dsormais remonter les systmes de fichiers et vrifier qu'il
   y a maintenant plus d'espace libre.

 # mount /dev/ops/batch
 # mount /dev/dev/users
 # df
 Filesystem           1k-blocks      Used Available Use% Mounted on
 /dev/dev/cvs           1342492    516468    757828  41% /mnt/dev/cvs
 /dev/dev/users         2969360   2060036    909324  69% /mnt/dev/users
 /dev/dev/build         1548144   1023041    525103  66% /mnt/dev/build
 /dev/ops/databases     2890692   2302417    588275  79% /mnt/ops/databases
 /dev/sales/users       2064208    871214   1192994  42% /mnt/sales/users
 /dev/ops/batch         1535856    897122    638734  58% /mnt/ops/batch

4. Faire une sauvegarde avec un instantan (snapshot)

    la suite de l'exemple prcdent, nous dsirons maintenant utiliser
   l'espace supplmentaire dans le groupe de volumes  ops  pour faire une
   sauvegarde de la base de donnes tous les soirs. Pour nous assurer de la
   cohrence des donnes sur la bande, nous utilisons la fonctionnalit
   d'instantan de LVM.

   Un volume instantan est un type de volume spcial qui prsente toutes les
   donnes du volume telles qu'elles taient au moment o l'instantan a t
   cr. Pour une description plus dtaille, voir Section 8,  Les
   instantans (snapshots) . Cela signifie que nous pouvons faire une
   sauvegarde du volume sans se proccuper des modifications de donnes
   pendant la sauvegarde et par consquent il n'y a pas besoin de garder la
   base de donnes teinte pendant la sauvegarde.

   [29][Note] Note
              Avec LVM 1, ce type de volume tait en lecture seule, alors
              qu'il est en lecture/criture par dfaut avec LVM 2.

  4.1. Crer le volume d'instantan

   Il reste un peu plus de 500 Mo d'espace libre dans le groupe de volume
    ops . Nous allons l'utiliser entirement pour le volume logique
   d'instantan. Un volume logique d'instantan peut tre aussi grand ou
   petit que vous le souhaitez, mais il doit tre assez grand pour contenir
   toutes les modifications qui peuvent apparatre sur le volume originel
   pendant la dure de vie de l'instantan. Ici, permettre 500 Mo de
   modifications dans la base de donnes devrait tre trs large.

 # lvcreate -L592M -s -n dbbackup /dev/ops/databases
 lvcreate -- WARNING: the snapshot must be disabled if it gets full
 lvcreate -- INFO: using default snapshot chunk size of 64 KB for "/dev/ops/dbbackup"
 lvcreate -- doing automatic backup of "ops"
 lvcreate -- logical volume "/dev/ops/dbbackup" successfully created

   [30][Avertissement] Les instantans pleins sont automatiquement dsactivs
                       Lorsque le volume logique d'un instantan est plein,
                       il est dsactiv (tat inutilisable). Il est donc
                       primordial de lui allouer un espace suffisant. Il n'y
                       a pas de recette magique pour dterminer l'espace
                       requis, qui dpend uniquement de l'utilisation de
                       l'instantan. Cependant, un instantan de taille
                       identique  sa source ne sera jamais satur.

  4.2. Monter le volume d'instantan

   Nous pouvons dsormais crer un point de montage et monter le volume.

 # mkdir /mnt/ops/dbbackup
 # mount /dev/ops/dbbackup /mnt/ops/dbbackup

 mount: block device /dev/ops/dbbackup is write-protected, mounting read-only

   Si vous utilisez le systme de fichiers XFS, il faut ajouter l'option
   nouuid  la commande mount :

 # mount /dev/ops/dbbackup /mnt/ops/dbbackup -onouuid,ro

  4.3. Faire la sauvegarde

   Je suppose que vous avez des stratgies de sauvegarde un peu plus
   sophistiques que a !

 # tar -cf /dev/rmt0 /mnt/ops/dbbackup
 tar: Removing leading `/' from member names

  4.4. Supprimer l'instantan

   Une fois la sauvegarde effectue, vous pouvez dmonter le volume et le
   supprimer du systme. Vous devriez enlever les volumes d'instantans ds
   que vous avez fini de les utiliser car il font une copie de toutes les
   donnes crites sur le volume originel et cela peut impacter les
   performances.

 # umount /mnt/ops/dbbackup
 # lvremove /dev/ops/dbbackup

 lvremove -- do you really want to remove "/dev/ops/dbbackup"? [y/n]: y
 lvremove -- doing automatic backup of volume group "ops"
 lvremove -- logical volume "/dev/ops/dbbackup" successfully removed

5. Enlever un disque

   Admettons que vous ayez un vieux disque IDE sur /dev/hdb. Vous voulez le
   retirer mais de nombreux fichiers sont encore dessus.

   [31][Attention] Sauvegarder votre systme
                   Vous devriez toujours effectuer une sauvegarde de votre
                   systme avant de faire une opration avec pvremove.

  5.1. Distribuer les anciens extents vers des disques existants du groupe de
  volumes

   Si vous avez assez d'extents libres sur les autres disques du groupe de
   volumes, c'est trs simple. Il suffit d'excuter la commande :

 # pvmove /dev/hdb
 pvmove -- moving physical extents in active volume group "dev"
 pvmove -- WARNING: moving of active logical volumes may cause data loss!
 pvmove -- do you want to continue? [y/n] y

 pvmove -- 249 extents of physical volume "/dev/hdb" successfully moved

   Cela va dplacer les extents physiques allous sur /dev/hdb vers les
   autres disques du groupe de volumes.

   [32][Note] pvmove est lent
              Attention, pvmove est trs lent car il doit copier le contenu
              d'un disque vers un ou plusieurs autres, bloc par bloc. Si vous
              souhaitez plus d'informations sur l'avancement de l'opration,
              utilisez l'option -v avec pvmove.

    5.1.1. Enlever l'ancien disque

   Nous pouvons dsormais supprimer l'ancien disque du groupe de volumes.

 # vgreduce dev /dev/hdb
 vgreduce -- doing automatic backup of volume group "dev"
 vgreduce -- volume group "dev" successfully reduced by physical volume:
 vgreduce -- /dev/hdb

   Le disque peut dsormais tre enlev physiquement au prochain arrt de la
   machine ou bien tre rallou  d'autres utilisateurs.

  5.2. Distribuer les anciens extents sur un nouveau disque de remplacement

   Si vous n'avez pas assez d'extents physiques libres pour les anciens
   extents, il va falloir rajouter un disque dans le groupe de volumes et y
   dplacer les extents.

    5.2.1. Prparer le disque

   D'abord, il faut utiliser pvcreate sur le nouveau disque pour le rendre
   disponible dans LVM. Dans cette recette, nous montrons qu'il n'est pas
   ncessaire de partitionner un disque pour pouvoir l'utiliser.

 # pvcreate /dev/sdf
 pvcreate -- physical volume "/dev/sdf" successfully created

    5.2.2. Ajouter le disque au groupe de volumes

   Comme les dveloppeurs utilisent beaucoup d'espace disque, leur volume est
   un bon candidat pour l'ajout.

 # vgextend dev /dev/sdf
 vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte
 vgextend -- doing automatic backup of volume group "dev"
 vgextend -- volume group "dev" successfully extended


    5.2.3. Dplacer les donnes

   Ensuite, nous dplaons les donnes de l'ancien disque vers le nouveau.
   Remarquez qu'il n'est pas ncessaire de dmonter le systme de fichiers
   avant de le faire. Cependant, il est *vivement* recommand de faire une
   sauvegarde complte avant de faire cette opration au cas o elle soit
   interrompue par une coupure lectrique ou tout autre problme. La commande
   pvmove peut prendre un temps considrable et rduire les performances des
   deux volumes. Il est donc conseill d'attendre qu'ils ne soient pas trop
   occups.

 # pvmove /dev/hdb /dev/sdf
 pvmove -- moving physical extents in active volume group "dev"
 pvmove -- WARNING: moving of active logical volumes may cause data loss!
 pvmove -- do you want to continue? [y/n] y
 pvmove -- 249 extents of physical volume "/dev/hdb" successfully moved

    5.2.4. Enlever l'ancien disque

   Nous pouvons dsormais supprimer l'ancien disque du groupe de volumes.

 # vgreduce dev /dev/hdb
 vgreduce -- doing automatic backup of volume group "dev"
 vgreduce -- volume group "dev" successfully reduced by physical volume:
 vgreduce -- /dev/hdb

   Le disque peut tre enlev physiquement au prochain arrt de la machine ou
   bien tre rallou  d'autres utilisateurs.

6. Dplacer un groupe de volumes vers un autre systme

   Il est trs simple de dplacer un groupe de volumes entier vers un autre
   systme. Par exemple, si on acquiert un nouveau serveur pour le
   dpartement. Pour cela, on utilise les commandes vgexport et vgimport.

   [33][Note] Note
              vgexport et vgimport ne sont pas ncessaires pour dplacer des
              disques. Ce sont des outils d'administration permettant
              d'empcher les accs aux volumes le temps de les dplacer.

  6.1. Dmonter le systme de fichiers

   Il faut nous assurer qu'aucun utilisateur n'accde aux fichiers sur le
   volume et ensuite il faut le dmonter :

 # unmount /mnt/design/users

  6.2. Marquer le groupe de volumes comme inactif

   Rendre le groupe de volumes inactif l'enlve du noyau et empche toute
   activit sur celui-ci.

 # vgchange -an design
 vgchange -- volume group "design" successfully deactivated

  6.3. Exporter le groupe de volumes

   Il est ensuite ncessaire d'exporter le groupe de volumes. Cela empche
   qu'on y accde sur  l'ancienne  machine et le prpare  tre retir.

 # vgexport design
 vgexport -- volume group "design" sucessfully exported

   Au prochain arrt de la machine, le disque peut tre enlev et plac sur
   sa nouvelle machine.

  6.4. Importer le groupe de volumes

   Une fois connect au nouveau systme, un pvscan initial montre qu'il est
   devenu /dev/sdb :

 # pvscan
 pvscan -- reading all physical volumes (this may take a while...)
 pvscan -- inactive PV "/dev/sdb1"  is in EXPORTED VG "design" [996 MB / 996 MB free]
 pvscan -- inactive PV "/dev/sdb2"  is in EXPORTED VG "design" [996 MB / 244 MB free]
 pvscan -- total: 2 [1.95 GB] / in use: 2 [1.95 GB] / in no VG: 0 [0]

   Nous pouvons dsormais importer le groupe de volumes (ce qui l'active au
   passage) et monter le systme de fichiers.

 # vgimport design /dev/sdb1 /dev/sdb2
 vgimport -- doing automatic backup of volume group "design"
 vgimport -- volume group "design" successfully imported and activated

  6.5. Activer le groupe de volumes

   Vous devez activer le groupe de volumes avant de pouvoir y accder.

 # vgchange -ay design

  6.6. Monter le systme de fichiers

 # mkdir -p /mnt/design/users
 # mount /dev/design/users /mnt/design/users

   Le systme de fichiers est dsormais prt  tre utilis.

7. Diviser un groupe de volumes

   Supposons que nous devons rajouter le nouveau groupe d'utilisateurs
    design  au systme. Un moyen de le grer est d'ajouter un groupe de
   volumes au systme pour y mettre leurs donnes. Ici, nous n'avons pas de
   nouveau disque mais beaucoup d'espace libre sur les disques existants qui
   peut tre rallou.

  7.1. Dterminer l'espace libre

 # pvscan
 pvscan -- reading all physical volumes (this may take a while...)
 pvscan -- ACTIVE   PV "/dev/sda"  of VG "dev"   [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sdb"  of VG "sales" [1.95 GB / 1.27 GB free]
 pvscan -- ACTIVE   PV "/dev/sdc"  of VG "ops"   [1.95 GB / 564 MB free]
 pvscan -- ACTIVE   PV "/dev/sdd"  of VG "dev"   [1.95 GB / 0 free]
 pvscan -- ACTIVE   PV "/dev/sde"  of VG "ops"   [1.95 GB / 1.9 GB free]
 pvscan -- ACTIVE   PV "/dev/sdf"  of VG "dev"   [1.95 GB / 1.33 GB free]
 pvscan -- ACTIVE   PV "/dev/sdg1" of VG "ops"   [996 MB / 432 MB free]
 pvscan -- ACTIVE   PV "/dev/sdg2" of VG "dev"   [996 MB / 632 MB free]
 pvscan -- total: 8 [13.67 GB] / in use: 8 [13.67 GB] / in no VG: 0 [0]

   Nous dcidons de rallouer /dev/sdg1 et /dev/sdg2   design . Il faut
   commencer par dplacer tous les extents physiques dans des espaces libres
   d'autres volumes (dans notre cas /dev/sdf pour le VG dev et /dev/sde pour
   ops).

  7.2. Dplacer les donnes des disques  rutiliser

   De l'espace est toujours utilis sur les volumes choisis, il faut donc
   dplacer les donnes autre part.

   Dplacez tous les extents physiques utiliss de /dev/sdg1 vers /dev/sde et
   de /dev/sdg2 vers /dev/sdf.

 # pvmove /dev/sdg1 /dev/sde
 pvmove -- moving physical extents in active volume group "ops"
 pvmove -- WARNING: moving of active logical volumes may cause data loss!
 pvmove -- do you want to continue? [y/n] y
 pvmove -- doing automatic backup of volume group "ops"
 pvmove -- 141 extents of physical volume "/dev/sdg1" successfully moved

 # pvmove /dev/sdg2 /dev/sdf
 pvmove -- moving physical extents in active volume group "dev"
 pvmove -- WARNING: moving of active logical volumes may cause data loss!
 pvmove -- do you want to continue? [y/n] y
 pvmove -- doing automatic backup of volume group "dev"
 pvmove -- 91 extents of physical volume "/dev/sdg2" successfully moved

  7.3. Crer un nouveau groupe de volumes

   Maintenant, sparez /dev/sdg2 de dev et ajoutez-le  un nouveau groupe
   appel  design . Il est possible de faire cela avec vgreduce et
   vgcreate, mais vgsplit combine les deux commandes.

 # vgsplit dev design /dev/sdg2
 vgsplit -- doing automatic backup of volume group "dev"
 vgsplit -- doing automatic backup of volume group "design"
 vgsplit -- volume group "dev" successfully split into "dev" and "design"

  7.4. Enlever le volume restant

   Ensuite, enlevez /dev/sdg1 de ops et ajoutez-le dans design.

 # vgreduce ops /dev/sdg1
 vgreduce -- doing automatic backup of volume group "ops"
 vgreduce -- volume group "ops" successfully reduced by physical volume:
 vgreduce -- /dev/sdg1

 # vgextend design /dev/sdg1
 vgextend -- INFO: maximum logical volume size is 255.99 Gigabyte
 vgextend -- doing automatic backup of volume group "design"
 vgextend -- volume group "design" successfully extended

  7.5. Crer le nouveau volume logique

   Maintenant, crez un volume logique. Au lieu d'allouer tout l'espace
   disponible, gardez un peu d'espace de rserve au cas o vous en auriez
   besoin ailleurs.

 # lvcreate -L750M -n users design
 lvcreate -- rounding up size to physical extent boundary "752 MB"
 lvcreate -- doing automatic backup of "design"
 lvcreate -- logical volume "/dev/design/users" successfully created

  7.6. Crez un systme de fichiers sur le volume

 # mke2fs /dev/design/users
 mke2fs 1.18, 11-Nov-1999 for EXT2 FS 0.5b, 95/08/09
 Filesystem label=
 OS type: Linux
 Block size=4096 (log=2)
 Fragment size=4096 (log=2)
 96384 inodes, 192512 blocks
 9625 blocks (5.00<!-- ) reserved for the super user
 First data block=0
 6 block groups
 32768 blocks per group, 32768 fragments per group
 16064 inodes per group
 Superblock backups stored on blocks:
 32768, 98304, 163840

 Writing inode tables: done
 Writing superblocks and filesystem accounting information: done

  7.7. Montez le nouveau volume

 # mkdir -p /mnt/design/users
 # mount /dev/design/users /mnt/design/users/

   C'est aussi une bonne d'ide d'ajouter une entre dans /etc/fstab pour ce
   systme de fichiers :

 /dev/design/user /mnt/design/users   ext2    defaults        1 2

8. Convertir le systme de fichiers racine en LVM 1

   [34][Attention] Sauvegardez votre systme
                   Il est fortement recommand de faire une sauvegarde
                   complte de votre systme avant d'essayer de convertir
                   votre racine en LVM 1.

   [35][Avertissement] Complications des mises  jour
                       Avoir son systme de fichiers racine en LVM 1 peut
                       compliquer significativement les procdures de mise 
                       jour (suivant les distributions) donc la dcision ne
                       doit pas tre prise  la lgre. Plus prcisment,
                       vous devez vous assurer que le module LVM 1 (s'il
                       n'est pas compil directement dans le noyau) ainsi que
                       les utilitaires vgscan et vgchange sont disponibles
                       avant, pendant et aprs la mise  jour.

   [36][Avertissement] Complications des rcuprations
                       Avoir son systme racine sous LVM 1 peut compliquer
                       significativement la rcupration de systmes de
                       fichiers endommags. Si vous perdez votre initrd, il
                       sera trs difficile de dmarrer le systme. Il faudra
                       alors un disque de rcupration contenant le noyau, le
                       module et les utilitaires LVM 1 et tous les outils
                       ncessaires pour rcuprer un systme de fichiers
                       endommag. Soyez sr de faire des sauvegardes
                       rgulires et de garder une mthode de dmarrage
                       alternative qui permet la rcupration de LVM.

   Dans cet exemple, tout le systme tait install sur une seule partition
   racine except /boot. Le systme avait 2 Go de disque partitionns de la
   faon suivante :

 /dev/hda1  /boot
 /dev/hda2  swap
 /dev/hda3  /

   La partition / remplissait tout le disque hormis la partition /boot et le
   swap. Un des pr-requis important pour cette procdure est que moins de la
   moiti de la partition racine soit remplie (pour pouvoir en faire une
   copie dans le volume logique). Si ce n'est pas le cas, un second disque
   devra tre utilis. La procdure est alors similaire, sauf qu'il n'est pas
   ncessaire de rduire la partition racine existante et /dev/hda4 doit tre
   remplac, par exemple, par /dev/hdb1 dans notre cas.

   Le plus simple pour faire cela est d'utiliser GNU parted. Ce logiciel
   permet de rduire ou d'agrandir des partitions avec des systmes de
   fichiers. Il est possible d'utiliser resize2fs et fdisk, mais GNU parted
   est moins sensible aux erreurs. S'il n'est pas inclus dans votre
   distribution, vous pouvez le tlcharger  l'adresse :
   [37]ftp://ftp.gnu.org/pub/gnu/parted.

   Une fois que vous avez install parted et QUE VOUS AVEZ SAUVEGARD VOTRE
   SYSTME :

  8.1. Dmarrer en mode mono-utilisateur

   Dmarrez en mode mono-utilisateur (tapez linux S  l'invite de Lilo). Ceci
   est important car cela assure que le systme de fichiers racine sera mont
   en lecture seule et qu'aucun programme n'accdera au disque.

  8.2. Utiliser Parted

   Utilisez parted pour rduire la partition racine. Cela doit permettre
   d'avoir assez de place sur le disque pour une copie complte de celui-ci
   dans un volume logique. Dans cet exemple, la partition de 1,8 Go est
   rduite  1 Go. Cela montre les tailles et noms des partitions sur le
   disque.

 # parted /dev/hda
 (parted) p
 .
 .
 .

   Maintenant, retaillez la partition :

 (parted) resize 3 145 999

   Le premier nombre est le numro de la partition (hda3). Le second est le
   numro de dbut de partition de hda3 (en Mo depuis le dbut du disque), ne
   le changez pas. Le dernier numro (en Mo depuis le dbut du disque)
   indique la fin de la partition et devrait la rduire d' peu prs  la
   moiti de sa taille actuelle.

   Crez une nouvelle partition :

 (parted) mkpart primary ext2 1000 1999

   Cela cre une nouvelle partition pour contenir les donnes initiales de
   LVM 1. Elle devrait commencer juste  la suite de la partition rduite
   hda3 et terminer  la fin du disque.

   Quittez parted :

 (parted) q

  8.3. Redmarrer

   Redmarrez le systme.

  8.4. Vrifier les options de configuration du noyau

   Assurez-vous que le noyau qui tourne actuellement fonctionne avec LVM 1 et
   est configur avec les paramtres CONFIG_BLK_DEV_RAM et
   CONFIG_BLK_DEV_INITRD.

  8.5. Ajuster le type de partition

   Changez le type de la nouvelle partition de Linux  LVM (8e). Parted ne
   connat pas les partitions LVM 1, donc il faut le faire avec fdisk.

 # fdisk /dev/hda
 Command (m for help): t
 Partition number (1-4): 4
 Hex code (type L to list codes): 8e
 Changed system type of partition 4 to 8e (Unknown)
 Command (m for help): w

  8.6. Configurer LVM 1 pour la nouvelle configuration

     * Initialisez LVM 1 (vgscan) :

 # vgscan

     * Insrez la nouvelle partition dans un PV :

 # pvcreate /dev/hda4

     * Crez un nouveau groupe de volumes :

 # vgcreate vg /dev/hda4

     * Crez un volume logique pour contenir la nouvelle racine :

 # lvcreate -L250M -n root vg

  8.7. Crer le systme de fichiers

   Crez un systme de fichiers dans le volume logique et copiez-y les
   fichiers racines.

 # mke2fs /dev/vg/root
 # mount /dev/vg/root /mnt/
 # find / -xdev | cpio -pvmd /mnt

  8.8. Mise  jour de /etc/fstab

   Ouvrez /mnt/etc/fstab de la nouvelle racine pour monter / sur
   /dev/vg/root. Par exemple :

 /dev/hda3       /    ext2       defaults 1 1

   devient :

 /dev/vg/root    /    ext2       defaults 1 1

  8.9. Crez une image disque RAM d'initialisation pour LVM 1

 # lvmcreate_initrd

   Retenez le nom du fichier cr par lvmcreate_initrd. Il doit tre dans
   /boot.

  8.10. Mise  jour de /etc/lilo.conf

   Ajoutez une entre dans /etc/lilo.conf pour LVM 1. Cela devrait ressembler
    ceci :

 image   = /boot/KERNEL_IMAGE_NAME
 label   = lvm
 root    = /dev/vg/root
 initrd  = /boot/INITRD_IMAGE_NAME
 ramdisk = 8192

   o KERNEL_IMAGE_NAME est le nom de votre noyau avec LVM 1 et
   INITRD_IMAGE_NAME est le nom de l'image initrd cre par lvmcreate_initrd.
   Il se peut que la valeur pour ramdisk doive tre augmente si vous avez
   une grosse configuration LVM 1, mais 8192 devrait suffire pour la plupart
   des utilisateurs. La valeur par dfaut de ramdisk est 4096. Dans le doute,
   vrifiez dans la sortie de la commande lvmcreate_initrd la ligne qui dit :

 lvmcreate_initrd -- making loopback file (6189 kB)

   et crez un ramdisk de la taille entre parenthses.

   Vous devez recopier ce nouveau lilo.conf dans le nouveau systme de
   fichiers racine.

 # cp /etc/lilo.conf /mnt/etc/

  8.11. Lancez lilo pour crire le nouveau secteur de boot

 # lilo

  8.12. Redmarrer avec LVM

   Redmarrez et tapez  lvm   l'invite de Lilo. Le systme devrait
   dmarrer sous Linux en utilisant le nouveau volume logique.

   Si cela a fonctionn, vous devriez mettre lvm comme dmarrage par dfaut
   en ajoutant la ligne suivante dans la premire section de /etc/lilo.conf :

 default=lvm

   Si cela n'a pas fonctionn, redmarrez normalement et penchez-vous sur le
   problme. Cela peut provenir d'une erreur de syntaxe dans lilo.conf ou de
   LVM 1 qui n'est pas disponible dans l'image disque RAM ou le noyau.
   Examinez soigneusement le message affich au dmarrage.

  8.13. Ajoutez le reste du disque dans LVM

   Une fois que vous tes satisfait de la configuration, vous pouvez ajoutez
   le reste du disque dans LVM 1, y compris l'ancienne partition racine.

   D'abord, il faut mettre le type de partition  8e (LVM) :

 # fdisk /dev/hda
 Command (m for help): t
 Partition number (1-4): 3
 Hex code (type L to list codes): 8e
 Changed system type of partition 3 to 8e (Unknown)
 Command (m for help): w

   Convertissez-la en PV et ajoutez-la au groupe de volumes :

 # pvcreate /dev/hda3
 # vgextend vg /dev/hda3

9. Restaurer les mta-donnes d'un volume physique

   Si vous avez l'avertissement "Somme de contrle de l'en-tte des
   mta-donnes incorrecte" ("incorrect metadata area header checksum") ou un
   message indiquant qu'il est impossible de trouver le PV avec l'UUID
   "toto", vous avez probablement corrompu les donnes de description du
   groupe de volume et LVM ne peut pas dmarrer.

   [38][Avertissement] A utiliser uniquement avec des VG qui ne marchent pas
                       Ne pas excuter sur un LVM qui fonctionne
                       correctement. Vous devez donner le bon volume physique
                        pvcreate ou vous risquez de perdre vos donnes.

   Rcuprez l'UUID correcte du PV  partir du fichier
   /etc/lvm/archive/VolumeGroupName_XXXXX.vg (o XXXXX est le numro de la
   dernire archive correcte des mta-donnes LVM).

   Utilisez pvcreate pour restaurer les mta-donnes : pvcreate --uuid
   "<une_longue_chane_de_caractres>" --restorefile
   /etc/lvm/archive/NomGroupeVolume_XXXXX.vg <VolumePhysique>

   Si vous tes chanceux, les mta-donnes sur le disque prenaient plus de
   place que ce qui a t cras et tout a pu tre rcupr. On a dj
   constat que cette commande a permis de rcuprer des donnes crases par
   mkswap. Si ce qui a cras les mta-donnes a aussi crit hors de cet
   espace de donnes, les LVs peuvent avoir t affects. Dans ce cas, fsck
   pourrait permettre de corriger le systme de fichiers du LV, ou alors des
   mesures plus radicales seront ncessaires pour rcuprer les donnes.
   Adressez-vous alors  votre expert local des systmes de fichiers.

   [39][Note] Note
              pvcreate permet juste d'craser les mta-donnes LVM sur le
              disque et ne touche pas aux donnes en elles-mme (les volumes
              logiques).

Annexe A. Oprations dangereuses

   Table des matires

   1. Restaurer les UUID de VG avec uuid_fixer

   2. Partager des volumes LVM

   [40][Avertissement] Attention
                       Ne faites pas ceci si vous n'tes pas sr de ce que
                       vous faites. Vous y perdrez probablement toutes vos
                       donnes.

1. Restaurer les UUID de VG avec uuid_fixer

   Si vous avez mis  jour LVM d'une version prcdente aux premires
   versions 0.9 ou 0.9.1 et que vgscan indique vgscan -- no volume groups
   found, voici un moyen de corriger le problme :

     * Tlchargez le programme de rparation des UUID  partir du rpertoire
       des contributions chez Sistina.

       Il se trouve  :
       [41]ftp://ftp.sistina.com/pub/LVM/contrib/uuid_fixer-0.3-IOP10.tar.gz.

     * Extrayez uuid_fixer-0.3-IOP10.tar.gz :

 # tar zxf uuid_fixer-0.3-IOP10.tar.gz

     * Allez dans uuid_fixer :

 # cd uuid_fixer

       Il y a deux possibilits  ce niveau :

         1. Utiliser le binaire dj compil (pour une architecture i386
            uniquement)

            Assurez-vous de lister tous les PV dans le VG que vous restaurez
            et suivez les indications :

 # ./uuid_fixer <LISTE DE TOUS LES PV DU VG QUI DOIVENT TRE RESTAURS>

         2. Construire le programme uuid_fixer  partir des sources

            Ouvrez le Makefile avec votre diteur favori et vrifiez que
            LVMDIR pointe sur vos sources de LVM.

            Ensuite, lancez make.

 # make

            Lancez maintenant uuid_fixer. Assurez-vous de lister tous les PV
            dans le VG que vous restaurez et suivez les indications :

 # ./uuid_fixer <LISTE DE TOUS LES PV DU VG QUI DOIVENT TRE RESTAURS>

     * Dsactivez les groupes de volumes (optionnel) :

 # vgchange -an

     * Lancez vgscan :

 # vgscan

     * Ractivez des groupes de volumes :

 # vgchange -ay

2. Partager des volumes LVM

   [42][Avertissement] LVM n'est pas conscient des clusters
                       Faites trs attention en faisant cela car LVM n'est
                       pas conscient des clusters et il est trs facile de
                       perdre toutes ses donnes.

   Si vous avez un environnement avec du fiber-channel ou du SCSI partag o
   plusieurs machines peuvent avoir un accs physique  un lot de disques,
   vous pouvez utiliser LVM pour diviser ces disques en volumes logiques. Si
   vous voulez partager des donnes, vous devriez vraiment regarder GFS
   [http://www.redhat.com/software/rha/gfs] ou un autre systme de fichiers
   pour cluster.

   Le point cl  se souvenir lorsqu'on partage des volumes est que toute
   l'administration de LVM doit tre effectue sur l'un des nuds et que LVM
   doit tre arrt sur tous les autres nuds avant de faire une quelconque
   modification sur le nud d'administration. Une fois les changements
   effectus, il est ncessaire de lancer vgscan sur les autres nuds avant
   de rutiliser les groupes de volumes. Aussi,  moins que vous n'utilisiez
   un systme de fichiers ou une application prenant en compte les clusters
   (comme GFS), un seul nud  la fois peut monter un systme de fichiers.
   C'est  l'administrateur de grer cela ; LVM ne vous empchera pas de
   corrompre vos donnes.

   La squence de dmarrage de chaque nud est la mme que pour une
   configuration  un seul nud avec l'utilisation de :

 vgscan
 vgchange -ay

   dans les scripts de dmarrage.

   Si vous avez besoin d'apporter une quelconque modification aux
   mta-donnes de LVM (indpendamment que cela affecte ou pas les volumes
   monts sur d'autres nuds), il faut utiliser la procdure suivante. Dans
   les points suivants, le  nud d'administration  est un nud choisi
   arbitrairement dans le cluster.

 Nud d'administration        Autres nuds
 ---------------------        ------------------
                              Fermer tous les volumes logiques (umount)
                              vgchange -an
 <faire les modifications,
 par ex. lvextend>
                              vgscan
                              vgchange -ay

   [43][Note] Les VG doivent tre actifs sur le nud d'administration
              Vous n'avez pas besoin et ne devez pas dfaire les VG du nud
              d'administration. Par consquent, cela doit tre le nud avec
              les pr-requis d'uptime les plus grands.

   Je me rpte encore : Soyez trs prudent en faisant cela.

Annexe B. Signaler des erreurs ou des bogues

   ATTENTION, toute communication avec les listes de diffusion de LVM doit se
   faire exclusivement en anglais.

   Juste nous dire que LVM ne fonctionne pas ne nous donne pas assez
   d'informations pour vous aider. Nous devons connatre les diffrents
   composants de votre configuration. La premire chose  faire est de
   regarder les archives de la liste de diffusion linux-lvm
   [http://www.redhat.com/archives/linux-lvm/] pour vrifier si quelqu'un n'a
   pas dj signal le mme problme. Si vous ne trouvez pas de rapport de
   bogue pour un problme similaire au vtre, vous devriez essayer de
   rcuprer autant d'information que possible. La liste est organise avec
   trois catgories d'erreurs :

     * Pour les erreurs de compilation :

         1. Dtaillez la version spcifique de LVM que vous utilisez. Si elle
            provient d'un paquet, donnez le nom du fichier tar et des
            diffrents correctifs que vous auriez pu appliquer. Si elle
            provient du serveur CVS public, donner la date et l'heure o vous
            l'avez rcupre.

         2. Donnez le message d'erreur exact. Fournissez aussi les quelques
            lignes qui prcdent le message d'erreur et les quelques lignes
            suivantes. Elles donnent parfois des indices sur la raison du
            problme.

         3. Listez les tapes, dans l'ordre, qui ont amen  l'erreur.
            Indiquez si l'erreur est reproductible. Si vous repartez de
            l'tat initial, les mmes tapes permettent-elles de reproduire
            l'erreur ?

     * Pour les erreurs LVM :

         1. Incluez toutes les informations demandes dans le paragraphe
            compilation.

         2. Ajoutez une brve description de votre matriel : type de machine
            et de disques, interface des disques (SCSI, FC, NBD) et toute
            autre information matrielle que vous trouvez importante.

         3. Donnez les lignes de commandes de LVM qui ont amen l'erreur.

         4. Un fichier de trace produit par les commandes fautives. Pour
            cela, vrifiez la prsence des lignes suivantes dans
            /etc/lvm/lvm.conf :

 log {
         file="/tmp/lvm2.log"
         level=7
         activation=1
 }

     * Quand LVM panique :

         1. Incluez toutes les informations demandes dans les deux
            paragraphes prcdents.

         2. Fournissez les informations de debug de la machine. Le mieux est
            de rcuprer ces informations d'une console sur le port srie de
            la machine, tant donn qu'il est difficile de faire un
            copier/coller d'une machine en panique et qu'il est trs facile
            de faire une erreur en recopiant les informations  la main.

   Cela peut faire beaucoup d'informations. Si vous avez plusieurs fichiers,
   faites une archive tar et gzip en un seul fichier. Envoyez un lien vers
   l'archive sur la liste de diffusion approprie (voir la Section 1,
    Listes de diffusion ) avec une brve description de l'erreur. Si vous
   n'avez pas de site web ou ftp pour mettre votre archive  disposition,
   vous pouvez essayer d'envoyer le fichier  la liste.

Annexe C. Contacts et liens

   Table des matires

   1. Listes de diffusion

   2. Liens

1. Listes de diffusion

   ATTENTION, toute communication avec les listes de diffusion de LVM doit se
   faire exclusivement en anglais.

   Avant de poster sur une de nos listes, veuillez lire tout le document et
   vrifier les archives pour voir si votre question n'a pas dj eu une
   rponse. S'il vous plat, ne postez que du format texte sur nos listes.
   Les messages enjolivs sont presque impossibles  lire s'ils ne sont pas
   lus sur un client de messagerie qui les comprend. L'tiquette standard des
   listes de diffusion s'applique. Les questions ou donnes de configuration
   incompltes rendent les rponses trs difficiles  faire.

   Listes de diffusion de LVM

   linux-lvm

           Cette liste est destine aux questions et commentaires des
           utilisateurs. Vous pouvez obtenir vos rponses d'autres
           utilisateurs qui ont eu les mmes problmes. Les discussions
           ouvertes sont encourages. Les rapports de bogues doivent tre
           envoys  cette liste.

           L'inscription se fait par une interface web
           [http://www.redhat.com/mailman/listinfo/linux-lvm].

           Les anciens messages sont consultables dans les archives
           [http://www.redhat.com/archives/linux-lvm/].

   dm-devel

           Cette liste n'est pas spcifique  LVM mais elle est mentionne
           ici du fait de l'utilisation du mappeur de priphriques par
           LVM 2.

           L'inscription se fait par l'interface web
           [http://www.redhat.com/mailman/listinfo/dm-devel].

           Les anciens messages sont consultables dans les archives
           [http://www.redhat.com/archives/dm-devel/].

   Listes LVM relatives au commit

   lvm2-commit

           Cette liste reoit des messages automatiquement quand quelqu'un
           fait un commit dans le CVS de LVM 2. Son but est de permettre de
           suivre l'volution de l'arborescence CVS.

           Les anciens messages sont consultables dans les archives
           [http://sources.redhat.com/ml/lvm2-cvs/].

   lvm-commit

           Cette liste reoit des messages automatiquement quand quelqu'un
           fait un commit dans le CVS de LVM. Son but est de permettre de
           suivre l'volution de l'arborescence CVS.

           Les anciens messages sont consultables dans les archives
           [http://sources.redhat.com/ml/lvm-cvs/].

   dm-commit

           Cette liste reoit des messages automatiquement quand quelqu'un
           fait un commit dans le CVS de dm. Son but est de permettre de
           suivre l'volution de l'arborescence CVS.

           Les anciens messages sont consultables dans les archives
           [http://sources.redhat.com/ml/dm-cvs/].

   Anciennes listes

   lvm-devel

           Cette liste n'est plus en activit, veuillez utiliser linux-lvm
           pour les discussions sur le dveloppement de LVM.

   lvm-bugs

           Cette liste n'est plus en activit. Les rapports d'anomalie
           doivent tre envoys  la liste linux-lvm.

2. Liens

   Liens sur LVM :

     * Page principale de Logical Volume Manager
       [http://sources.redhat.com/lvm2/].

     * Page principale de LVM 1 [http://sources.redhat.com/lvm/].

     * Page principale de Device-Mapper [http://sources.redhat.com/dm/].

     * Site [44]FTP de LVM 2.

     * Site [45]FTP de LVM 1.

     * Site [46]FTP de Device-Mapper.

Annexe D. GNU Free Documentation License

  Version 1.2, November 2002

   Table des matires

   1. PREAMBLE

   2. APPLICABILITY AND DEFINITIONS

   3. VERBATIM COPYING

   4. COPYING IN QUANTITY

   5. MODIFICATIONS

   6. COMBINING DOCUMENTS

   7. COLLECTIONS OF DOCUMENTS

   8. AGGREGATION WITH INDEPENDENT WORKS

   9. TRANSLATION

   10. TERMINATION

   11. FUTURE REVISIONS OF THIS LICENSE

   12. ADDENDUM: How to use this License for your documents

     Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 59 Temple
     Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to
     copy and distribute verbatim copies of this license document, but
     changing it is not allowed.

1. PREAMBLE

   The purpose of this License is to make a manual, textbook, or other
   functional and useful document "free" in the sense of freedom: to assure
   everyone the effective freedom to copy and redistribute it, with or
   without modifying it, either commercially or noncommercially. Secondarily,
   this License preserves for the author and publisher a way to get credit
   for their work, while not being considered responsible for modifications
   made by others.

   This License is a kind of "copyleft", which means that derivative works of
   the document must themselves be free in the same sense. It complements the
   GNU General Public License, which is a copyleft license designed for free
   software.

   We have designed this License in order to use it for manuals for free
   software, because free software needs free documentation: a free program
   should come with manuals providing the same freedoms that the software
   does. But this License is not limited to software manuals; it can be used
   for any textual work, regardless of subject matter or whether it is
   published as a printed book. We recommend this License principally for
   works whose purpose is instruction or reference.

2. APPLICABILITY AND DEFINITIONS

   This License applies to any manual or other work, in any medium, that
   contains a notice placed by the copyright holder saying it can be
   distributed under the terms of this License. Such a notice grants a
   world-wide, royalty-free license, unlimited in duration, to use that work
   under the conditions stated herein. The "Document", below, refers to any
   such manual or work. Any member of the public is a licensee, and is
   addressed as "you". You accept the license if you copy, modify or
   distribute the work in a way requiring permission under copyright law.

   A "Modified Version" of the Document means any work containing the
   Document or a portion of it, either copied verbatim, or with modifications
   and/or translated into another language.

   A "Secondary Section" is a named appendix or a front-matter section of the
   Document that deals exclusively with the relationship of the publishers or
   authors of the Document to the Document's overall subject (or to related
   matters) and contains nothing that could fall directly within that overall
   subject. (Thus, if the Document is in part a textbook of mathematics, a
   Secondary Section may not explain any mathematics.) The relationship could
   be a matter of historical connection with the subject or with related
   matters, or of legal, commercial, philosophical, ethical or political
   position regarding them.

   The "Invariant Sections" are certain Secondary Sections whose titles are
   designated, as being those of Invariant Sections, in the notice that says
   that the Document is released under this License. If a section does not
   fit the above definition of Secondary then it is not allowed to be
   designated as Invariant. The Document may contain zero Invariant Sections.
   If the Document does not identify any Invariant Sections then there are
   none.

   The "Cover Texts" are certain short passages of text that are listed, as
   Front-Cover Texts or Back-Cover Texts, in the notice that says that the
   Document is released under this License. A Front-Cover Text may be at most
   5 words, and a Back-Cover Text may be at most 25 words.

   A "Transparent" copy of the Document means a machine-readable copy,
   represented in a format whose specification is available to the general
   public, that is suitable for revising the document straightforwardly with
   generic text editors or (for images composed of pixels) generic paint
   programs or (for drawings) some widely available drawing editor, and that
   is suitable for input to text formatters or for automatic translation to a
   variety of formats suitable for input to text formatters. A copy made in
   an otherwise Transparent file format whose markup, or absence of markup,
   has been arranged to thwart or discourage subsequent modification by
   readers is not Transparent. An image format is not Transparent if used for
   any substantial amount of text. A copy that is not "Transparent" is called
   "Opaque".

   Examples of suitable formats for Transparent copies include plain ASCII
   without markup, Texinfo input format, LaTeX input format, SGML or XML
   using a publicly available DTD, and standard-conforming simple HTML,
   PostScript or PDF designed for human modification. Examples of transparent
   image formats include PNG, XCF and JPG. Opaque formats include proprietary
   formats that can be read and edited only by proprietary word processors,
   SGML or XML for which the DTD and/or processing tools are not generally
   available, and the machine-generated HTML, PostScript or PDF produced by
   some word processors for output purposes only.

   The "Title Page" means, for a printed book, the title page itself, plus
   such following pages as are needed to hold, legibly, the material this
   License requires to appear in the title page. For works in formats which
   do not have any title page as such, "Title Page" means the text near the
   most prominent appearance of the work's title, preceding the beginning of
   the body of the text.

   A section "Entitled XYZ" means a named subunit of the Document whose title
   either is precisely XYZ or contains XYZ in parentheses following text that
   translates XYZ in another language. (Here XYZ stands for a specific
   section name mentioned below, such as "Acknowledgements", "Dedications",
   "Endorsements", or "History".) To "Preserve the Title" of such a section
   when you modify the Document means that it remains a section "Entitled
   XYZ" according to this definition.

   The Document may include Warranty Disclaimers next to the notice which
   states that this License applies to the Document. These Warranty
   Disclaimers are considered to be included by reference in this License,
   but only as regards disclaiming warranties: any other implication that
   these Warranty Disclaimers may have is void and has no effect on the
   meaning of this License.

3. VERBATIM COPYING

   You may copy and distribute the Document in any medium, either
   commercially or noncommercially, provided that this License, the copyright
   notices, and the license notice saying this License applies to the
   Document are reproduced in all copies, and that you add no other
   conditions whatsoever to those of this License. You may not use technical
   measures to obstruct or control the reading or further copying of the
   copies you make or distribute. However, you may accept compensation in
   exchange for copies. If you distribute a large enough number of copies you
   must also follow the conditions in section 3.

   You may also lend copies, under the same conditions stated above, and you
   may publicly display copies.

4. COPYING IN QUANTITY

   If you publish printed copies (or copies in media that commonly have
   printed covers) of the Document, numbering more than 100, and the
   Document's license notice requires Cover Texts, you must enclose the
   copies in covers that carry, clearly and legibly, all these Cover Texts:
   Front-Cover Texts on the front cover, and Back-Cover Texts on the back
   cover. Both covers must also clearly and legibly identify you as the
   publisher of these copies. The front cover must present the full title
   with all words of the title equally prominent and visible. You may add
   other material on the covers in addition. Copying with changes limited to
   the covers, as long as they preserve the title of the Document and satisfy
   these conditions, can be treated as verbatim copying in other respects.

   If the required texts for either cover are too voluminous to fit legibly,
   you should put the first ones listed (as many as fit reasonably) on the
   actual cover, and continue the rest onto adjacent pages.

   If you publish or distribute Opaque copies of the Document numbering more
   than 100, you must either include a machine-readable Transparent copy
   along with each Opaque copy, or state in or with each Opaque copy a
   computer-network location from which the general network-using public has
   access to download using public-standard network protocols a complete
   Transparent copy of the Document, free of added material. If you use the
   latter option, you must take reasonably prudent steps, when you begin
   distribution of Opaque copies in quantity, to ensure that this Transparent
   copy will remain thus accessible at the stated location until at least one
   year after the last time you distribute an Opaque copy (directly or
   through your agents or retailers) of that edition to the public.

   It is requested, but not required, that you contact the authors of the
   Document well before redistributing any large number of copies, to give
   them a chance to provide you with an updated version of the Document.

5. MODIFICATIONS

   You may copy and distribute a Modified Version of the Document under the
   conditions of sections 2 and 3 above, provided that you release the
   Modified Version under precisely this License, with the Modified Version
   filling the role of the Document, thus licensing distribution and
   modification of the Modified Version to whoever possesses a copy of it. In
   addition, you must do these things in the Modified Version:

    A. Use in the Title Page (and on the covers, if any) a title distinct
       from that of the Document, and from those of previous versions (which
       should, if there were any, be listed in the History section of the
       Document). You may use the same title as a previous version if the
       original publisher of that version gives permission.
    B. List on the Title Page, as authors, one or more persons or entities
       responsible for authorship of the modifications in the Modified
       Version, together with at least five of the principal authors of the
       Document (all of its principal authors, if it has fewer than five),
       unless they release you from this requirement.
    C. State on the Title page the name of the publisher of the Modified
       Version, as the publisher.
    D. Preserve all the copyright notices of the Document.
    E. Add an appropriate copyright notice for your modifications adjacent to
       the other copyright notices.
    F. Include, immediately after the copyright notices, a license notice
       giving the public permission to use the Modified Version under the
       terms of this License, in the form shown in the Addendum below.
    G. Preserve in that license notice the full lists of Invariant Sections
       and required Cover Texts given in the Document's license notice.
    H. Include an unaltered copy of this License.
    I. Preserve the section Entitled "History", Preserve its Title, and add
       to it an item stating at least the title, year, new authors, and
       publisher of the Modified Version as given on the Title Page. If there
       is no section Entitled "History" in the Document, create one stating
       the title, year, authors, and publisher of the Document as given on
       its Title Page, then add an item describing the Modified Version as
       stated in the previous sentence.
    J. Preserve the network location, if any, given in the Document for
       public access to a Transparent copy of the Document, and likewise the
       network locations given in the Document for previous versions it was
       based on. These may be placed in the "History" section. You may omit a
       network location for a work that was published at least four years
       before the Document itself, or if the original publisher of the
       version it refers to gives permission.
    K. For any section Entitled "Acknowledgements" or "Dedications", Preserve
       the Title of the section, and preserve in the section all the
       substance and tone of each of the contributor acknowledgements and/or
       dedications given therein.
    L. Preserve all the Invariant Sections of the Document, unaltered in
       their text and in their titles. Section numbers or the equivalent are
       not considered part of the section titles.
    M. Delete any section Entitled "Endorsements". Such a section may not be
       included in the Modified Version.
    N. Do not retitle any existing section to be Entitled "Endorsements" or
       to conflict in title with any Invariant Section.
    O. Preserve any Warranty Disclaimers.

   If the Modified Version includes new front-matter sections or appendices
   that qualify as Secondary Sections and contain no material copied from the
   Document, you may at your option designate some or all of these sections
   as invariant. To do this, add their titles to the list of Invariant
   Sections in the Modified Version's license notice. These titles must be
   distinct from any other section titles.

   You may add a section Entitled "Endorsements", provided it contains
   nothing but endorsements of your Modified Version by various parties--for
   example, statements of peer review or that the text has been approved by
   an organization as the authoritative definition of a standard.

   You may add a passage of up to five words as a Front-Cover Text, and a
   passage of up to 25 words as a Back-Cover Text, to the end of the list of
   Cover Texts in the Modified Version. Only one passage of Front-Cover Text
   and one of Back-Cover Text may be added by (or through arrangements made
   by) any one entity. If the Document already includes a cover text for the
   same cover, previously added by you or by arrangement made by the same
   entity you are acting on behalf of, you may not add another; but you may
   replace the old one, on explicit permission from the previous publisher
   that added the old one.

   The author(s) and publisher(s) of the Document do not by this License give
   permission to use their names for publicity for or to assert or imply
   endorsement of any Modified Version.

6. COMBINING DOCUMENTS

   You may combine the Document with other documents released under this
   License, under the terms defined in section 4 above for modified versions,
   provided that you include in the combination all of the Invariant Sections
   of all of the original documents, unmodified, and list them all as
   Invariant Sections of your combined work in its license notice, and that
   you preserve all their Warranty Disclaimers.

   The combined work need only contain one copy of this License, and multiple
   identical Invariant Sections may be replaced with a single copy. If there
   are multiple Invariant Sections with the same name but different contents,
   make the title of each such section unique by adding at the end of it, in
   parentheses, the name of the original author or publisher of that section
   if known, or else a unique number. Make the same adjustment to the section
   titles in the list of Invariant Sections in the license notice of the
   combined work.

   In the combination, you must combine any sections Entitled "History" in
   the various original documents, forming one section Entitled "History";
   likewise combine any sections Entitled "Acknowledgements", and any
   sections Entitled "Dedications". You must delete all sections Entitled
   "Endorsements".

7. COLLECTIONS OF DOCUMENTS

   You may make a collection consisting of the Document and other documents
   released under this License, and replace the individual copies of this
   License in the various documents with a single copy that is included in
   the collection, provided that you follow the rules of this License for
   verbatim copying of each of the documents in all other respects.

   You may extract a single document from such a collection, and distribute
   it individually under this License, provided you insert a copy of this
   License into the extracted document, and follow this License in all other
   respects regarding verbatim copying of that document.

8. AGGREGATION WITH INDEPENDENT WORKS

   A compilation of the Document or its derivatives with other separate and
   independent documents or works, in or on a volume of a storage or
   distribution medium, is called an "aggregate" if the copyright resulting
   from the compilation is not used to limit the legal rights of the
   compilation's users beyond what the individual works permit. When the
   Document is included in an aggregate, this License does not apply to the
   other works in the aggregate which are not themselves derivative works of
   the Document.

   If the Cover Text requirement of section 3 is applicable to these copies
   of the Document, then if the Document is less than one half of the entire
   aggregate, the Document's Cover Texts may be placed on covers that bracket
   the Document within the aggregate, or the electronic equivalent of covers
   if the Document is in electronic form. Otherwise they must appear on
   printed covers that bracket the whole aggregate.

9. TRANSLATION

   Translation is considered a kind of modification, so you may distribute
   translations of the Document under the terms of section 4. Replacing
   Invariant Sections with translations requires special permission from
   their copyright holders, but you may include translations of some or all
   Invariant Sections in addition to the original versions of these Invariant
   Sections. You may include a translation of this License, and all the
   license notices in the Document, and any Warranty Disclaimers, provided
   that you also include the original English version of this License and the
   original versions of those notices and disclaimers. In case of a
   disagreement between the translation and the original version of this
   License or a notice or disclaimer, the original version will prevail.

   If a section in the Document is Entitled "Acknowledgements",
   "Dedications", or "History", the requirement (section 4) to Preserve its
   Title (section 1) will typically require changing the actual title.

10. TERMINATION

   You may not copy, modify, sublicense, or distribute the Document except as
   expressly provided for under this License. Any other attempt to copy,
   modify, sublicense or distribute the Document is void, and will
   automatically terminate your rights under this License. However, parties
   who have received copies, or rights, from you under this License will not
   have their licenses terminated so long as such parties remain in full
   compliance.

11. FUTURE REVISIONS OF THIS LICENSE

   The Free Software Foundation may publish new, revised versions of the GNU
   Free Documentation License from time to time. Such new versions will be
   similar in spirit to the present version, but may differ in detail to
   address new problems or concerns. See http://www.gnu.org/copyleft/.

   Each version of the License is given a distinguishing version number. If
   the Document specifies that a particular numbered version of this License
   "or any later version" applies to it, you have the option of following the
   terms and conditions either of that specified version or of any later
   version that has been published (not as a draft) by the Free Software
   Foundation. If the Document does not specify a version number of this
   License, you may choose any version ever published (not as a draft) by the
   Free Software Foundation.

12. ADDENDUM: How to use this License for your documents

   To use this License in a document you have written, include a copy of the
   License in the document and put the following copyright and license
   notices just after the title page:

     Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute
     and/or modify this document under the terms of the GNU Free
     Documentation License, Version 1.2 or any later version published by the
     Free Software Foundation; with no Invariant Sections, no Front-Cover
     Texts, and no Back-Cover Texts. A copy of the license is included in the
     section entitled "GNU Free Documentation License".

   If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
   replace the "with...Texts." line with this:

     with the Invariant Sections being LIST THEIR TITLES, with the
     Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.

   If you have Invariant Sections without Cover Texts, or some other
   combination of the three, merge those two alternatives to suit the
   situation.

   If your document contains nontrivial examples of program code, we
   recommend releasing these examples in parallel under your choice of free
   software license, such as the GNU General Public License, to permit their
   use in free software.

