Modifications entre les versions 3 et 4
Version 3 à la date du 2007-06-19 10:52:34
Taille: 595
Éditeur: ThomasNoël
Commentaire:
Version 4 à la date du 2007-06-19 11:28:17
Taille: 5345
Éditeur: ThomasNoël
Commentaire: migration depuis l'ancien wiki
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
Pour (trop) résumer en une phrase : LVM est un système permettant de créer des partitions "virtuelles" (volumes logiques) qui peuvent s'étendre sur plusieurs disques, être agrandies «à chaud», etc. LVM signifie ''Logical Volume Manager'', c'est-à-dire Gestionnaire de Volumes Logiques.
Ligne 3: Ligne 3:
Pour (trop) résumer en une phrase : LVM permet de créer des partitions "virtuelles" (volumes logiques) qui peuvent s'étendre sur plusieurs disques, être agrandies «à chaud», etc.
Ligne 4: Ligne 5:
En attendant quelque chose de plus spécifique à l'AUF, quelques liens : Quelques liens :
Ligne 10: Ligne 11:
----
CatégorieEbauche
La gestion par volumes logiques permet une gestion de plus haut niveau des problèmes de stockage sur disque par rapport à l'approche traditionnelle avec des disques et des partitions. Cela apporte à l'administrateur système une bien meilleure flexibilité pour allouer de l'espace aux applications et aux utilisateurs.

Qu'est-ce que ça apporte ''concrétement'' ? Plus de souplesse et moins de contraintes dans la gestion du partitionnement.

La suite de cette page est un aperçu des possibilités, qui ne dispense pas de lire la documentation : page de {{{man lvm}}} et sites web indiqués ci-dessus.

= Architecture à trois niveaux =

 * volume physique : les disques et les partitions qui seront utilisées par le système LVM
 * groupes de volumes : ensemble de volumes physiques. On aime bien par exemple créer un groupe pour tout ce qui est IDE et un autre pour tout ce qui est SCSI.
 * volumes logiques : les partitions qui sont présentées au système, et utilisables directement. Ces partitions sont des morceaux de groupes de volume.

= Les principales commandes =

Consulter les man pour une description détaillée de tous les paramètres de chaque commande : ils sont très bien faits. Voir également {{{man lvm}}}.

'''Volumes physiques'''
 * {{{pvcreate}}} pour initialiser un volume physique, afin de pouvoir l'ajouter à un groupe :
  {{{pvcreate /dev/hdc}}} pour dire que le disque hdc entier devient un volume physique
  {{{pvcreate /dev/sda2}}} pour dire que la partition sda2 devient un volume physique (sda2 doit être du type "Linux LVM")
 * {{{pvdisplay}}} pour afficher la liste des volumes physiques disponibles

'''Groupes de volumes''' (les «disques virtuels»)
 * {{{vgcreate}}} pour créer des groupes à partir de volumes physiques
  {{{vgcreate donnees /dev/sda2 /dev/sdb1}}} : créer un groupe ''donnees'' contenant les partitions sda2 et sdb1
 * {{{vgextend}}} pour ajouter un nouveau volume physique à un groupe
  {{{vgextend donnees /dev/sdc}}} : ajoute le disque sdc au groupe ''donnees''
 * {{{vgdisplay}}} pour afficher la liste des groupes disponibles

'''Volumes logiques''' (les «partitions virtuelles»)
 * note préliminaire importante : pour l'instant ''grub'' ne peut pas booter sur un volume logique. Il faut donc prévoir de laisser la racine ou au moins ''/boot'' en partition non LVM.
 * {{{lvdisplay}}} affiche la liste des volumes logiques déjà définis
 * {{{lvcreate}}} pour créer un volume logique (c'est à dire une partition utilisable par le système) dans un des groupes de volumes du système.
  {{{lvcreate -n web -L 10G donnees}}} va créer un volume {{{/dev/donnees/web}}} de 10Go puisés dans le groupe {{{donnees}}}. Cette partition sera utilisable de façon habituelle :
  {{{
mkfs -t ext3 /dev/donnees/web # formatage de la partition en ext3
mkdir /srv/web # création du point de montage
mount /dev/donnees/web # montage de la partition... (à fixer dans /etc/fstab ensuite)
}}}

= Changer la taille d'un volume logique =

C'est le point fort de LVM : on peut agrandir une partition «à chaud», alors que le système fonctionne.

== Agrandir ==

La commande {{{lvextend}}} permet de changer la taille d'un volume logique :

  {{{lvextend -L +2 /dev/donnees/exemple}}}

Attention, cela n'augmente que la taille de la partition ! Il faut ensuite ajuster le système de fichier, avec {{{resize2fs}}} ou {{{resize_reiserfs}}}, suivant les cas.

Attention, en Debian Sarge, resize2fs ne peut ajuster que la taille d'une partition non montée.

== Diminuer ==

Avec {{{lvreduce}}}, opération inverse de lvextend. Attention, procéder '''d'abord'' à la diminution du filesystem avec les commandes {{{resizexxx}}} '''avant''' de diminuer la taille de la partition elle-même. En général cette opération ne peut pas être réalisée «à chaud», il faut d'abord démonter la partition et donc souvent arrêter les services de la machine qui utilisent la partition.


= Retirer un disque =

Autre point fort : on peut retirer un disque jugé défectueux afin de le remplacer avant la panne définitive. Le premier qui a du temps écrit comment ici ;)

= Les snapshots =

Cela permet de créer une copie d'une partition en cours d'utilisation, en utilisant trés peu d'espace supplementaire : seulement un nombre de blocs proportionnel aux modifications faites sur la partition en cours d'utilisation à partir du moment de la création de l'image. On utilise pour cela la commande {{{lvcreate --snapshot ...}}}. Pour pouvoir faire des snapshots, il faut que le module {{{dm-snapshot}}} soit chargé au préalable dans le noyau.

Utilisation intéressante : les sauvegardes.

LVM signifie Logical Volume Manager, c'est-à-dire Gestionnaire de Volumes Logiques.

Pour (trop) résumer en une phrase : LVM permet de créer des partitions "virtuelles" (volumes logiques) qui peuvent s'étendre sur plusieurs disques, être agrandies «à chaud», etc.

Quelques liens :

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

Qu'est-ce que ça apporte concrétement ? Plus de souplesse et moins de contraintes dans la gestion du partitionnement.

La suite de cette page est un aperçu des possibilités, qui ne dispense pas de lire la documentation : page de man lvm et sites web indiqués ci-dessus.

Architecture à trois niveaux

  • volume physique : les disques et les partitions qui seront utilisées par le système LVM
  • groupes de volumes : ensemble de volumes physiques. On aime bien par exemple créer un groupe pour tout ce qui est IDE et un autre pour tout ce qui est SCSI.
  • volumes logiques : les partitions qui sont présentées au système, et utilisables directement. Ces partitions sont des morceaux de groupes de volume.

Les principales commandes

Consulter les man pour une description détaillée de tous les paramètres de chaque commande : ils sont très bien faits. Voir également man lvm.

Volumes physiques

  • pvcreate pour initialiser un volume physique, afin de pouvoir l'ajouter à un groupe :

    • pvcreate /dev/hdc pour dire que le disque hdc entier devient un volume physique pvcreate /dev/sda2 pour dire que la partition sda2 devient un volume physique (sda2 doit être du type "Linux LVM")

  • pvdisplay pour afficher la liste des volumes physiques disponibles

Groupes de volumes (les «disques virtuels»)

  • vgcreate pour créer des groupes à partir de volumes physiques

    • vgcreate donnees /dev/sda2 /dev/sdb1 : créer un groupe donnees contenant les partitions sda2 et sdb1

  • vgextend pour ajouter un nouveau volume physique à un groupe

    • vgextend donnees /dev/sdc : ajoute le disque sdc au groupe donnees

  • vgdisplay pour afficher la liste des groupes disponibles

Volumes logiques (les «partitions virtuelles»)

  • note préliminaire importante : pour l'instant grub ne peut pas booter sur un volume logique. Il faut donc prévoir de laisser la racine ou au moins /boot en partition non LVM.

  • lvdisplay affiche la liste des volumes logiques déjà définis

  • lvcreate pour créer un volume logique (c'est à dire une partition utilisable par le système) dans un des groupes de volumes du système.

    • lvcreate -n web -L 10G donnees va créer un volume /dev/donnees/web de 10Go puisés dans le groupe donnees. Cette partition sera utilisable de façon habituelle :

      mkfs -t ext3 /dev/donnees/web    # formatage de la partition en ext3
      mkdir /srv/web                   # création du point de montage
      mount /dev/donnees/web           # montage de la partition... (à fixer dans /etc/fstab ensuite)

Changer la taille d'un volume logique

C'est le point fort de LVM : on peut agrandir une partition «à chaud», alors que le système fonctionne.

Agrandir

La commande lvextend permet de changer la taille d'un volume logique :

  • lvextend -L +2 /dev/donnees/exemple

Attention, cela n'augmente que la taille de la partition ! Il faut ensuite ajuster le système de fichier, avec resize2fs ou resize_reiserfs, suivant les cas.

Attention, en Debian Sarge, resize2fs ne peut ajuster que la taille d'une partition non montée.

Diminuer

Avec lvreduce, opération inverse de lvextend. Attention, procéder d'abord à la diminution du filesystem avec les commandes resizexxx avant de diminuer la taille de la partition elle-même. En général cette opération ne peut pas être réalisée «à chaud», il faut d'abord démonter la partition et donc souvent arrêter les services de la machine qui utilisent la partition.

Retirer un disque

Autre point fort : on peut retirer un disque jugé défectueux afin de le remplacer avant la panne définitive. Le premier qui a du temps écrit comment ici ;)

Les snapshots

Cela permet de créer une copie d'une partition en cours d'utilisation, en utilisant trés peu d'espace supplementaire : seulement un nombre de blocs proportionnel aux modifications faites sur la partition en cours d'utilisation à partir du moment de la création de l'image. On utilise pour cela la commande lvcreate --snapshot .... Pour pouvoir faire des snapshots, il faut que le module dm-snapshot soit chargé au préalable dans le noyau.

Utilisation intéressante : les sauvegardes.

LVM (dernière édition le 2010-01-04 09:27:13 par NacerAdamouSaidou)