Table des matières

, , , , ,

LVM

Création et utilisation de volumes LVM.

Nous nous appuierons sur une Debian satble (lenny).

Je ne vais pas décrire LVM ici, d'autres sites comme wikipedia font ca bien mieux que moi.

Voici cependant les principes généraux :

Préparatifs

Pour utiliser LVM il faut installer lvm (qui l'eu crut :p ) :

apt-get install lvm2

Creation du volume LVM

Creation de partitions LVM

Pour la creation de partition, il faut utiliser l'outil lvcreate.
Je vous conseille de regarder ce que donne un “lvcreate –help” pour les options, mais voici les plus utilisées :

Par exemple pour créer un volume de 12Go nommé “debian-backports” sur le VolumeGroup vg0 précédement créé :

lvcreate -n debian-backports -L 12G vg0

Vous pouvez vérifier que le LV a bien été créé avec la commande lvdisplay, qui devrait vous donner quelque chose comme :

# lvdisplay 
  --- Logical volume ---
  LV Name                /dev/vg0/debian-backports
  VG Name                vg0
  LV UUID                VsIPFa-IFGS-aJLt-6Zmt-8Li4-t94P-jxtvgE
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                12,00 GB
  Current LE             3072
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0

Utilisation de cette partition

Cette partition peut maintenant être accédée et utilisée via “/dev/vg0/debian-backports”.

Toutes les opérations possibles avec une partition “classique” le sont aussi avec celle la.

Par exemple pour la formater en ext3 :

mkfs.ext3 /dev/vg0/debian-backports

Opérations de redimensionnement des partitions

Il faut voir la partition LVM comme un “tiroir” qui contiendrait le systeme de fichier moralité :

Maitenant que vous etes prévenus ….

attention a ne pas reduire une partition à moins d'espace que l'espace actuellement occupé dessus.

Agrandissement

L'agrandissement d'un LV LVM est aisée et ne comporte pas trop de risques :

  1. demontage de la partition :
    umount /mnt/debian-backports
  2. agrandissement de la partition :
    lvresize -L 13G /dev/vg0/debian-backports
  3. cette commande recommande d'effectuer un fsck sur cette partition, ce qu'il faut faire :
    e2fsck -f /dev/vg0/debian-backports
  4. relancer ensuite la commande d'au dessus pour l'agrandissement
  5. redimensionner ensuite le systeme de fichier :
    resize2fs /dev/vg0/debian-backports
  6. vous pouvez ensuite remonter la partition et constater que sa taille a augmenté :
    mount /dev/vg0/debian-backports /mnt/debian-backports
On peut passer une taille d'agrandissement a lvresize avec un + dans l'option -L, comme par exemple -L+3G pour agrandir de 3 Go.Je vous conseille d'ailleurs cette utilisation qui évite une réduction intempestive
On peut aussi utiliser la commande lvextend, qui permet par exemple d'agrandir le LV en utilisant tout l'espace non alloué sur le VG :
lvextend -l +100%FREE /dev/vg0/debian-backports

Réduction

Attention la réduction est une opération à risque, faites des sauvegardes avant

S'assurer que l'on peut : vérifier l'espace réellement utilisé grace a “df -h”, comme par exemple :

# df -h /export/www
Sys. fich.                Taille Util. Dispo Uti% Monté sur
/dev/mapper/VolGroupe-WWW   9,8G  801M  9,0G   9% /export/www

Il y a de l'espace disponible donc on va pouvoir réduire à disons 5 Go.

Pour se faire :

  1. Démonter la partition :
    # umount /export/www/
  2. Faire un fsck :
    # e2fsck -f /dev/VolGroupe/WWW

    ce qui donne par exemple :

    # e2fsck -f /dev/VolGroupe/WWW
    e2fsck 1.42.5 (29-Jul-2012)
    Passe 1 : vérification des i-noeuds, des blocs et des tailles
    Passe 2 : vérification de la structure des répertoires
    Passe 3 : vérification de la connectivité des répertoires
    Passe 4 : vérification des compteurs de référence
    Passe 5 : vérification de l'information du sommaire de groupe
    /dev/VolGroupe/WWW : 8913/1310720 fichiers (19.6% non contigüs), 278712/2621440 blocs
  3. Réduire la partition avec resize2fs à une taille (supérieure a la taille des données) légèrement inférieure à la taille finale, ici on choisit 4 Go pour une taille finale de 5 Go :
    # resize2fs -p /dev/VolGroupe/WWW 4G

    par exemple :

    # resize2fs -p /dev/VolGroupe/WWW 4G
    resize2fs 1.42.5 (29-Jul-2012)
    En train de redimensionner le système de fichiers sur /dev/VolGroupe/WWW à 1048576 (4k) blocs.
    Début de la passe 2 (max = 198072)
    Relocalisation de blocs       XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Début de la passe 3 (max = 80)
    Examen de la table d'i-noeuds XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Début de la passe 4 (max = 433)
    Mise à jour des références d'i-noeudsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Le système de fichiers /dev/VolGroupe/WWW a maintenant une taille de 1048576 blocs.
  4. Réduire le LV à une taille supérieure à celle de la réduction resize2fs que l'on vient d'effectuer :
    # lvresize /dev/VolGroupe/WWW --size 5G

    et accepter le message d'avertissement, ce qui donne :

    # lvresize /dev/VolGroupe/WWW --size 5G
      WARNING: Reducing active logical volume to 5,00 GiB
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce WWW? [y/n]: y
      Reducing logical volume WWW to 5,00 GiB
      Logical volume WWW successfully resized
  5. Réagrandir la partition pour qu'elle occupe toute la taille du LV en utilisant
    # resize2fs -p /dev/VolGroupe/WWW

    comme par exemple :

    # resize2fs -p /dev/VolGroupe/WWW
    resize2fs 1.42.5 (29-Jul-2012)
    En train de redimensionner le système de fichiers sur /dev/VolGroupe/WWW à 1310720 (4k) blocs.
    Début de la passe 1 (max = 8)
    Extension de la table d'i-noeudsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    Le système de fichiers /dev/VolGroupe/WWW a maintenant une taille de 1310720 blocs.
  6. Lancer un fsck, pour être sur (avec l'option -f):
    # e2fsck -f /dev/VolGroupe/WWW
    e2fsck 1.42.5 (29-Jul-2012)
    Passe 1 : vérification des i-noeuds, des blocs et des tailles
    Passe 2 : vérification de la structure des répertoires
    Passe 3 : vérification de la connectivité des répertoires
    Passe 4 : vérification des compteurs de référence
    Passe 5 : vérification de l'information du sommaire de groupe
    /dev/VolGroupe/WWW : 8913/655360 fichiers (18.7% non contigüs), 257511/1310720 blocs
  7. Si tout s'est bien passé on peut maintenant remonter la partition et vérifier la taille finale :
    # mount /export/www/
    # df -h /export/www/
    Sys. fich.                Taille Util. Dispo Uti% Monté sur
    /dev/mapper/VolGroupe-WWW   4,8G  798M  4,1G  17% /export/www