GNU/Linux >> Tutoriels Linux >  >> Cent OS

Guide du débutant sur LVM (gestion des volumes logiques)

Qu'est-ce que LVM

Le gestionnaire de volumes logiques (LVM) introduit une couche supplémentaire entre les disques physiques et le système de fichiers permettant aux systèmes de fichiers d'être :
– redimensionnés et déplacés facilement et en ligne sans nécessiter une interruption du système.
– Utilisation discontinue espace sur le disque
– des noms significatifs pour les volumes, plutôt que les noms de périphériques cryptés habituels.
– s'étendent sur plusieurs disques physiques

Linux LVM est très similaire à HP-UX LVM et fournit de nombreuses autres fonctionnalités avancées telles que les instantanés, la prise en charge des clusters (GFS2, OCFS et Lustre).

Concepts

LVM comprend quelques couches conceptuelles telles que le volume physique, le volume logique et les systèmes de fichiers.

Les couches conceptuelles sont à leur tour composées d'unités plus petites comme les étendues physiques (dans le cas des volumes physiques) et les étendues logiques (dans le cas des volumes logiques).

Volume physique (VP)

Chaque volume physique peut être une partition de disque, un disque entier, un méta-périphérique ou un fichier de bouclage. Utilisez la commande pvcreate pour initialiser le stockage à utiliser par LVM. L'initialisation d'un périphérique bloc en tant que volume physique place une étiquette au début du périphérique.

Groupe de volumes (VG)

Un groupe de volumes rassemble une collection de volumes logiques et de volumes physiques en une seule unité administrative. Le groupe de volumes est divisé en étendues physiques de taille fixe. La commande vgcreate crée un nouveau groupe de volumes à l'aide du chemin de volume physique du périphérique spécial de bloc précédemment configuré pour LVM avec pvcreate.
– Les VG sont constitués de PV, qui à leur tour sont constitués d'étendues physiques (PE). La taille de PE peut différer selon les VG et est définie au moment de la création de VG.
– La taille par défaut de PE est de 4 Mo, mais vous pouvez la modifier à la valeur souhaitée au moment de la création de VG.
– En règle générale, plus la taille du PE est grande, meilleures sont les performances (mais moins de contrôle granulaire de LV).

Volume logique (VG)

Un volume logique est l'équivalent conceptuel d'une partition de disque dans un système non LVM. Les volumes logiques sont des périphériques blocs qui sont créés à partir des étendues physiques présentes dans le même groupe de volumes. Vous pouvez utiliser la commande lvcreate pour créer un volume logique dans un groupe de volumes existant.

Système de fichiers

Les systèmes de fichiers sont construits au-dessus des volumes logiques. La commande mkfs peut être utilisée pour créer un système de fichiers sur un volume logique. Une fois le système de fichiers créé, nous pouvons monter le volume logique selon nos besoins.

Commençons

L'exemple
Dans l'exemple ci-dessous, nous :
1. Créez 3 volumes physiques à partir de 3 disques physiques (/dev/sdb, /dev/sdc, /dev/sdd ).
2. Créez un groupe de volumes à partir de ces 3 PV (/dev/vg01 ).
3. Créer un volume logique dans ce VG (/dev/vg01/lvol01 ).
4. Créez un système de fichiers sur ce LV et montez-le (/data01 ).

Créer des volumes physiques

Le pvcreate La commande est utilisée pour initialiser le PV à utiliser par LVM. Avant de créer le PV, assurez-vous que le disque est visible dans le système d'exploitation. Pour analyser les périphériques de bloc à utiliser comme PV, utilisez le lvmdiskscan commande.

# lvmdiskscan
.......
  /dev/sdb   [       2.00 GiB]
  /dev/sdc   [       2.00 GiB]
  /dev/sdd   [       2.00 GiB]
  3 disks
  19 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

Initialiser les périphériques de bloc :

# pvcreate /dev/sdb /dev/sdc /dev/sdd
  Physical volume "/dev/sdb" successfully created
  Physical volume "/dev/sdc" successfully created
  Physical volume "/dev/sdd" successfully created

Afficher les volumes physiques
Utilisez les commandes pvdisplay , pvs et pvscan pour afficher les PV que nous venons de créer.

# pvdisplay
  "/dev/sdb" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Mt3F7z-a2AV-28Vn-uXe2-QejE-Z6tP-UMlQGM

  "/dev/sdc" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               5m1Fuc-yTRn-I2vG-bMfU-6SE7-53EA-s8VQjt

  "/dev/sdd" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               1x3e2A-C0Lt-DrUA-tPSM-lsMu-sn70-qg1j8p
# pvscan
  PV /dev/sdb                      lvm2 [2.00 GiB]
  PV /dev/sdc                      lvm2 [2.00 GiB]
  PV /dev/sdd                      lvm2 [2.00 GiB]
  Total: 3 [6.00 GiB] / in use: 0 [0   ] / in no VG: 3 [6.00 GiB]
# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb        lvm2 a--  2.00g 2.00g
  /dev/sdc        lvm2 a--  2.00g 2.00g
  /dev/sdd        lvm2 a--  2.00g 2.00g

Créer un groupe de volumes

Utilisez le vgcreate commande pour créer le nouveau groupe de volumes vg01 en utilisant les 3 PV que nous venons de créer. Nous pouvons spécifier les étendues avec -s option et nombre maximum de PV et LV dans le VG en utilisant les options -p et -l respectivement. Toutes ces options sont facultatives et ne doivent pas nécessairement être utilisées.

# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd
  Volume group "vg01" successfully created

Les options facultatives utilisées avec la commande vgcreate sont :

Option Signification
-s Taille de l'étendue physique
-p Nombre maximum de PV
-l Nombre maximum de LV
–allouer politique d'allocation (contiguë, n'importe où ou accrochée)

Affichage des informations VG
Les commandes vgs et vgdisplay peuvent être utilisées pour afficher les informations sur le VG que nous venons de créer :

# vgs vg01
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   3   0   0 wz--n- 5.99g 5.99g
# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               5.99 GiB
  PE Size               4.00 MiB
  Total PE              1533
  Alloc PE / Size       0 / 0
  Free  PE / Size       1533 / 5.99 GiB
  VG UUID               Cw7GGz-NH3o-Sax2-5jPv-buZS-938T-tmNKFa

Activer et désactiver les VG
Le vgchange La commande peut être utilisée pour activer/désactiver un groupe de volumes.
Pour désactiver un VG :

# vgchange -a n vg01
  0 logical volume(s) in volume group "vg01" now active

Pour activer un VG :

# vgchange -a y vg01
  1 logical volume(s) in volume group "vg01" now active

Créer un volume logique

Le volume logique peut maintenant être créé dans le VG à l'aide de la commande lvcreate .
– Si vous ne spécifiez pas le nom du LV dans la commande, le LV reçoit par défaut le nom lvol# .
– Normalement, si vous ne spécifiez pas quel PV couvrir le LV, le volume logique sera créé sur le PV sur une base de prochain-libre.
– Pour créer un volume logique lvol01 de taille 5 Go :

# lvcreate -L 5G -n lvol01 vg01
  Logical volume "lvol01" created

Création d'un volume segmenté
Pour créer un volume réparti sur les 3 PV que nous avons créés :

# lvcreate -L 5G -I 4096 -i 3 -n lvol01 vg01
  Rounding size (1280 extents) up to stripe boundary size (1281 extents)
  Logical volume "lvol01" created
I - PVs to span while creating striped volume
i - stripe unit

Créer un volume en miroir
Pour créer un volume en miroir à 3 voies couvrant les 3 PV (sdb, sdc, sdd) :

# lvcreate -L 1G -m 2 -n lvol01 vg01
  Logical volume "lvol01" created

Nous pouvons également spécifier les appareils à utiliser lors de la création du LV en miroir. Dans notre cas comme nous n'avions que 3 PV dans le VG, le LV est créé par défaut sur ces 3 PV.

Affichage des informations LV
Les commandes lvdisplay , niveaux et lvscan peut être utilisé pour afficher les informations sur le LV que nous venons de créer.

# lvs /dev/vg01/lvol01
  LV     VG   Attr      LSize Pool Origin Data%  Move Log         Cpy%Sync Convert
  lvol01 vg01 mwi-a-m-- 1.00g                         lvol01_mlog   100.00
# lvdisplay /dev/vg01/lvol01
  --- Logical volume ---
  LV Path                /dev/vg01/lvol01
  LV Name                lvol01
  VG Name                vg01
  LV UUID                ptlmAV-mO42-fWiJ-e2Ml-r9kj-PFcC-MOexxw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2014-10-22 09:04:25 -0700
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             256
  Mirrored volumes       3
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
# lvscan
  ACTIVE            '/dev/vg01/lvol01' [1.00 GiB] inherit

Créer un système de fichiers

La dernière étape consiste à créer un système de fichiers sur le nouveau LV que nous venons de créer et à le monter sur un répertoire pour pouvoir y accéder et y stocker des données. La commande mkfs peut être utilisé pour créer un système de fichiers au-dessus du LV.

# mkfs.ext4 /dev/vg01/lvol01
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Le volume logique peut être monté, une fois le système de fichiers créé. Assurez-vous d'ajouter une entrée à /etc/fstab , afin qu'il soit monté automatiquement au démarrage du système.

# mkdir /data01
# mount /dev/vg01/lvol01 /data01
# vi /etc/fstab
/dev/vg01/lvol01	/data01			ext4	defaults	0 0
# df -h /data01
Filesystem                   Size  Used  Avail  Use%  Mounted on
/dev/mapper/vg01-lvol01     1008M   34M  924M   4%    /data01

L'outil graphique pour gérer LVM

Il existe un outil graphique sympa disponible (system-config-lvm ) au cas où vous souhaiteriez l'utiliser. S'il n'est pas déjà installé sur le système, installez-le en utilisant yum :

# yum install system-config-lvm

Pour démarrer l'outil d'administration Graphical LVM, lancez la commande :

# system-config-lvm

Configuration LVM :opérations/utilitaires de volume logique (LV)
Configuration LVM :opérations/utilitaires de groupe de volumes (VG)
Configuration LVM :opérations/utilitaires de volume physique (PV)


Cent OS
  1. Comment créer une partition Lvm/volume physique> 2 To ?

  2. Réduction de la racine à l'aide de la gestion du volume logique ?

  3. Comment activer un volume physique LVM "SUSPENDU"

  4. Comment supprimer un disque d'un groupe de volumes LVM

  5. CentOS / RHEL :Comment trouver les volumes logiques (LV) contenus dans le volume physique (PV) dans LVM

Utilisation de LVM pour gérer les volumes physiques, les groupes de volumes et les volumes logiques – RHCSA Objectif Préparation

Un guide sur les instantanés LVM avec ext4 sur CentOS 7

Gestion des volumes logiques

Sauvegarde et restauration d'instantanés LVM sous Linux

La gestion des volumes logiques expliquée sous Linux

Développer le volume logique Lvm sur la machine virtuelle ?