Info16.fr

Le blog de B@rtounet

#Gnu/Linux

Initiation rapide au LVM : Gerer votre système de fichiers. testé sous Ubuntu 6.06 / Suse 10

27 juillet 2011 Rédigé par bartounet

En général quand on parle d'espace disque, on pense à partition primaire, etendue, lecteur logique etc... Chez soi, quand on manque d'espace disque on rajoute un hdd et on crée une nouvelle partition... Avec LVM (Logical Volume Manager) on s'affranchie de cette limite, il va permettre de voir l'ensemble des disque comme des volumes extensible a volonté. On pourra par exemple regrouper 10 disques dur physique en un seul volume et vu par le système comme une seule et meme partition. Et cette dernière sera extensible volonté.

En général quand on parle d'espace disque, on pense à partition primaire, etendue, lecteur logique etc... Chez soi, quand on manque d'espace disque on rajoute un hdd et on crée une nouvelle partition... Avec LVM (Logical Volume Manager) on s'affranchie de cette limite, il va permettre de voir l'ensemble des disque comme des volumes extensible a volonté. On pourra par exemple regrouper 10 disques dur physique en un seul volume et vu par le système comme une seule et meme partition. Et cette dernière sera extensible volonté.

Le système de LVM insère des sous-couches entre la partition de disque et votre système de fichier (là où sont vos données). Ces sous-couches vont vous permettre de modifier dynamiquement la taille des systèmes de fichier, sans mettre en péril vos données. Ainsi vous pourrez ajouter, enlever de l'espace disque d'un filesystem à la volée, rajouter un système de fichier... sans modification de la table des partitions.

Ces deux couches se nomment : le "Volume Group (Abréviation : VG)" et le "Logical Volume (ou LV)".

A un "Volume Group", nous affecterons des partitions de disque. Chaque disque ou partition de disque affecté à un VG lui est exclusivement réservé. Il est impossible d'affecter un même disque à plusieurs VG.

Dans chaque VG, nous créerons plusieurs LV. Chaque LV sera alors formaté et monté dans notre arborescence pour y être utilisé par l'utilisateur final. Quand nous formatons un LV, nous créons en fait un système de fichier (fs) : c'est cette couche que vous utilisez lorsque vous effectuez l'opération de montage.

Un petit schéma :

Partition(s) de disque

|> Volume Group |> Logicals Volumes |> système de fichiers

Au lieu de :

Une partition de disque

|>un système de fichier

Ces couches intermédiaires vont donc permettre une meilleure mobilité de nos systèmes de fichiers. ( cf:http://sluce.developpez.com/lvm/ )

Tout dabord assurer vous que vous disposez du paquet lvm2

Pour la suite, je m'appuie sur le magnifique outil Webmin ainsi que la ligne de commande, on aurait put tout faire en ligne de commande mais webmin permet de faire plus rapidement certaine chose...

Je beneficie d'un pc portable et deux clés USB, je me suis dit pourquoi ne pas crée des LVM avec ces clé puisqu'elles sont vues comme des disques à part entière par le système.

Deux clés USB: /dev/sdd1 et /dev/sdg1

Passons par Webmin /hardware/LVM

Nous avons à présent: un VG (volume group) qui est test_vg ( comprenant un disque physique) un LG (logical volume)

Nous allons creer le systeme de fichier sur ce logical volume

sles101:~ # mkfs.ext3 /dev/test_vg/lv_usb mke2fs 1.38 (30-Jun-2005) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 124416 inodes, 248832 blocks 12441 blocks (5.00%) reserved for the super user First data block=0 8 block groups 32768 blocks per group, 32768 fragments per group 15552 inodes per group Superblock backups stored on blocks:         32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first.  Use tune2fs -c or -i to override.

On peut maintenant monter notre file system

sles101:~ # mount /dev/test_vg/lv_usb /media/usb1

On creer des dossiers à l'intérieur

sles101:~ # cd /media/usb1/ sles101:/media/usb1 # ls lost+found sles101:/media/usb1 # mkdir test1 test2 test3 sles101:/media/usb1 # ls lost+found  test1  test2  test3

Tout fonctionne à merveille, mais imaginez que vous travaillez sur ce volume, et que la place vient a manquer. En temps normal on ajouterai un disque, on creerai le systeme de fichier et on serait obliger de travailler sur l'autre disque... en plus d'avoir un nouveau disque dans le systeme cela peut etre problematique. Imaginez uneb ase de donnée sur un disque qui n'a plus d'espace, il faudrait déplacer toute la base sur un nouveau média

Avec le LVM ce probleme n'existe plus, il va nous permettre d'integrer un nouveau disque physique dans notre volume existant et ainsi etendre le systeme sur la nouvelle partition logique .

Pour le système cela va etre transparent, il va voir le meme disque mais avec une plus grande capacité.

Rappel: on a pour l'instant un volume test_vg comprenant un disque (1 clé usb 1go), ce volume contient une partition logique lv_usb avec un systeme de fichier qui s'étend sur tout le volume logique.

On veut maintenant ajouter un nouveau disque (une nouvelle clé usb de 1go) l'integrer à test_vg, et etendre lv_usb sur ce nouveau média ainsi que son système de fichier.

Ajoutons le nouveau disque au volume test_vg

Retour sur webmin pour ajouter le disque:

Retour sur la ligne de commande pour etendre notre logical volue et donc notre file system.

Pour l'instant on à seulement un file system de 1000Mo. on va l'etendre à 1500Mo

sles101:/media/usb1 # lvextend -L+500M /dev/test_vg/lv_usb     Extending logical volume lv_usb to 1.44 GB   Logical volume lv_usb successfully resized

On peut maintenant monter notre FS

sles101:/media # mount /dev/test_vg/lv_usb /media/usb1/  sles101:/media # cd /media/usb1/ sles101:/media/usb1 # ls lost+found  test1  test2  test3

On peut voir que notre volume logique est plus grand et que les données sont intactes.

sles101:/media/usb2 # fdisk /dev/test_vg/lv_usb Command (m for help): p Disk /dev/test_vg/lv_usb: 1543 MB, 1543503872 bytes 255 heads, 63 sectors/track, 187 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes

Cela se vérifie bien sur sous webmin:

Information sur bartounet auteur de l'article

Les commentaires sont fermés.