LVM

De ArchwikiFR
Révision datée du 18 mars 2011 à 21:30 par ArchFR maintenance (discussion | contributions) (Robot : Enlève modèles : I18n, Lang, Stub, Translateme)


Introduction

LVM est un gestionnaire de volumes logiques pour le noyau Linux. Le but de LVM est de fournir une couche d'abstraction entre l'espace de stockage physique et le système: il permet de créer des «partitions virtuelles» faciles à gérer (changements de taille, création, suppression...). Les éléments qui composent LVM sont:

  • Les volumes physiques (PV): ce sont les espaces de stockage traditionnels (disques, partitions, éventuellement des fichiers montés en loopback), sur lequels LVM crée ses volumes logiques. Il comprend un en-tête spécial et se divise en blocs physiques (extents).
  • Les groupes de volumes (VG): Ce sont des groupes de volumes physiques (PV) réunis par LVM en un seul «disque virtuel». Un groupe de volumes contient des volumes logiques, ceux-ci sont répartis par LVM de manière transparente sur les différents volumes physiques: un volume logique peut même être dispersé à travers les disques disponibles.
  • Les volumes logiques (LV): ce sont des «partitions virtuelles» (logiques parce qu'elles sont produites par un logiciel sans forcément correspondre à une portion d'un disque matériel. Les volumes logiques sont constitués d'étendues de blocs physiques réunis en un seul espace de stockage, et rendus lisibles par le système. On peut les utiliser comme des partitions ordinaires.
  • Étendue physique (PE): A petit bloc de disque (en général de 4MB) qui peut être affecté à un volume logique. Les étendues physiques se comportent comme les secteurs ou les cylindres des disques durs physiques.

Exemple:

Disques physiques
                
  Disque 1 (/dev/sda):
     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    |Partition1 50GB (Volume physique) |Partition2 80GB (Volume physique)     |
    |/dev/sda1                         |/dev/sda2                             |
    |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |
                                  
  Disque 2 (/dev/sdb):
     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
    |Partition1 120GB (Volume physique)                 |
    |/dev/sdb1                                          |
    | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _|
Volumes logiques LVM

  Groupe de volumes 1 (/dev/MyStorage/ = /dev/sda1 + /dev/sda2 + /dev/sdb1):
     _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
    |Volume logique 1 15GB |Volume logique 2 35GB     |Volume logique 3 200GB              |
    |/dev/MyStorage/rootvol|/dev/MyStorage/homevol    |/dev/MyStorage/mediavol             |
    |_ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |

Pour résumer: LVM permet d'utiliser tout l'espace disque disponible (le groupe de volumes) et de le présenter sous forme de partitions virtuelles (les volumes logiques) qui peuvent être découpées très différemment, pour plus de flexibilité..

Installation

Avant tout opération, il faut charger le bon module dans le noyau:

# modprobe dm-mod

Si Arch Linux est déjà installé, et que vous voulez simplement ajouter ou essayer une partition LVM, allez directement au partitionnement des disques.

Installer Arch Linux sur LVM

Prior to running Arch Linux install scripts (/arch/setup) to install Arch Linux, you need to partition your disk with cfdisk (or any other tool of your liking). Because grub legacy (grub with version less than 1.0) can't boot from LVM logical volumes you can't have /boot in LVM, so you need to create a boot partition. 100MB should be enough. The other solution would be to use lilo or grub with version 1.95 or newer.

Partitionner les disques

Ensuite, il faut créer une partition pour LVM. Elle doit avoir le type 'Linux LVM' (numéro 0x8e). Il suffit normalement d'une seule partition LVM sur chaque disque à utiliser. Les volumes logiques seront positionnés dans ces partitions, donc prévoyez la place nécessaire. Pour utiliser seulement LVM sans autre partition, prenez tout l'espace libre disponible.

Attention : Le répertoire /boot ne peut pas être situé sur une partition LVM, car GRUB (version <1.95) ne peut pas les lire.
Astuce : Toutes les partitions LVM de tous les disques présents peuvent être configurées pour apparaître comme un seul disque.

Créer les volumes physiques

Il faut maintenant initialiser les partitions pour les utiliser avec LVM. La commande fdisk -l permet de trouver quelles partitions sont marquées avec le type 'Linux LVM', on alors en faire des volumes physiques pour LVM avec la commande:

# pvcreate /dev/sda2

Remplacez /dev/sda2 avec le nom des partitions concernées pour les utiliser comme volumes physiques. Cette commande écrit un en-tête adéquat sur chaque partition. Pour voir la liste des volumes physiques reconnus par LVM, tapez:

# pvdisplay

Créer un ou plusieurs groupes de volumes

L'étape suivante consiste à créer un groupe de volumes (VG). La commande vgcreate permet de créer un groupe de volumes avec l'une des partitions, et vgextend permet d'ajouter une autre partition dans ce groupe:

# vgcreate VGroupe0 /dev/sda2
# vgextend VGroupe0 /dev/sdb1

Remplacez VGroupe0 par le nom souhaité. L'état du groupe de volume peut être affiché par la commande

# vgdisplay
Note : Il est possible de créer plusieurs groupes de volumes, ils apparaîtront alors comme des «disques» séparés.

Créer des volumes logiques

On peut maintenant définir des volumes logiques pour ce groupe. Cela se fait avec la commande lvcreate, en précisant la talle désirée et le nom du volume, et le groupe dans lequel il apparaîtra:

# lvcreate -L 10G VGroupe0 -n home

Ceci crée un volume logique accessible par le chemin /dev/mapper/VGroupe0-home ou /dev/VGroupe0/home. De la même façon, on peut choisir n'importe quel nom pour un volume logique.

Trucs et astuces

Todo

Ressources supplémentaires

Autres articles sur LVM sur ArchWiki:

Liens externes: