GNU/Linux >> Tutoriels Linux >  >> Linux

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

Dans le cadre de la préparation à l'examen RHCSA, nous avons déjà appris à gérer les partitions sur disque. Les partitions sont utiles pour séparer l'espace disque (par exemple, séparer les fichiers liés à la base de données des fichiers liés au serveur Web), mais nous avons une solution beaucoup plus flexible qui peut séparer ou agréger l'espace de stockage.

Cette solution s'appelle LVM, le gestionnaire de volumes logiques. LVM nous permet de voir plusieurs disques comme un seul système de fichiers, surmontant ainsi les limitations du site d'un disque physique. Nous pouvons également créer une mise en miroir de logiciels sur des disques à protéger ou des données écrites sur le système de fichiers. Dans ce tutoriel, nous couvrirons les bases :nous gérerons les trois couches de LVM, les volumes physiques, les groupes de volumes et les volumes logiques.

Dans ce didacticiel, vous apprendrez :

  • Comment créer et supprimer des volumes physiques
  • Comment attribuer des volumes physiques à des groupes de volumes
  • Comment créer et supprimer des volumes logiques

Création d'un nouveau volume physique avec LVM.

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système Red Hat Enterprise Linux 8.1
Logiciel LVM 2.03
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Avec LVM, nous avons trois couches qui se superposent :physical volumes (pv), qui ressemblent beaucoup à des partitions, marquées uniquement pour une utilisation LVM. Nous pouvons créer un volume physique à partir d'une partition de disque ou d'un disque brut entier. Si nous avons l'intention d'utiliser un disque uniquement comme volume physique LVM, nous n'avons pas besoin de créer une partition dessus en premier. La couche suivante est un volume group (vg). Comme son nom l'indique, il s'agit simplement du regroupement de volumes physiques. À cette couche, nous pouvons agréger tout l'espace du volume physique sous-jacent dans une unité de stockage plus grande. En plus des groupes de volumes, nous pouvons créer la couche finale, logical volumes (lv). Ceux-ci peuvent contenir des systèmes de fichiers dans lesquels nous pouvons stocker nos données.

L'une des principales caractéristiques de LVM est que nous pouvons ajouter un autre volume physique à un groupe de volumes à la volée, et nous pouvons également modifier la taille d'un volume logique pendant que le système est en cours d'exécution. Ainsi, si nous manquons d'espace, nous pouvons évoluer sans arrêter un système.

Les abréviations des calques sont de bons rappels quand on traite de LVM. Les commandes qui fonctionnent sur différentes couches commencent toutes par ces abréviations, par exemple, si nous travaillons avec des volumes physiques, la commande pour en créer un sera pvcreate , la commande pour répertorier les volumes physiques existants sera pvdisplay , etc. Même si nous devons le faire rarement, il est facile de deviner ou de trouver la bonne commande, car cette convention de dénomination est cohérente sur toutes les couches.

Pour ce didacticiel, nous avons ajouté aux disques, 2 Go de taille chacun pour notre machine de laboratoire. Ils sont reconnus comme /dev/sdb et /dev/sdc sur notre système, tandis que /dev/sda contient le système d'exploitation, auquel nous ne toucherons pas lors des étapes suivantes.

Comment créer et supprimer des volumes physiques

Comment créer un volume physique

Pour créer un volume physique, nous utiliserons pvcreate . Nous allons créer un volume physique de 2 Go sur les deux sdb , et sdc .

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

Nous pouvons vérifier si nous avons bien fait les choses en listant nos volumes physiques. Nous utiliserons pvdisplay .

# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               rhel
  PV Size               <14.00 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              3583
  Free PE               0
  Allocated PE          3583
  PV UUID               rfezEa-GlgW-jWUX-Zixs-Ydw0-EsZS-nk3JDH
   
  "/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               V2PUv4-O9eQ-jFvQ-UmQf-dmq3-caF9-xmxYGj
   
  "/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               PWTs7Q-x3wD-RyXj-ertn-Sh2N-CiXb-ayDc1q

La machine de laboratoire utilise déjà LVM dans sa configuration par défaut (comme la plupart des distributions de nos jours), c'est pourquoi /dev/sda2 est montré. Nous sommes intéressés par nos deux nouveaux volumes physiques, que nous pouvons maintenant vérifier.

Comment supprimer un volume physique

Pour supprimer un volume physique, nous avons le pvremove commande. Ne supprimez pas un volume physique contenant des données écrites qui sont nécessaires.

# pvremove /dev/sdc 
  Labels on physical volume "/dev/sdc" successfully wiped.

Comment attribuer des volumes physiques à des groupes de volumes

Création d'un groupe de volumes à partir de volumes physiques.

Après avoir recréé le sdc supprimé volume physique, nous avons tout ce dont nous avons besoin pour créer un groupe de volumes pouvant contenir un volume logique. Nous pourrions créer un "groupe" de volumes qui n'a qu'un seul volume physique - ce qui est le cas exact de la valeur par défaut sda2 - mais pour démontrer l'agrégation de stockage, nous utiliserons nos deux nouveaux volumes physiques pour créer un groupe de volumes appelé "données" qui dispose de 4 Go d'espace disque disponible.

Nous pouvons créer un groupe de volumes avec vgcreate . Tout ce dont nous avons besoin est de spécifier le nom du VG et les volumes physiques qui seront membres du groupe de volumes.

# vgcreate data /dev/sdb /dev/sdc
  Volume group "data" successfully created

Nous pouvons lister les propriétés de notre nouveau groupe de volumes avec vgdisplay .

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  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                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       0 / 0   
  Free  PE / Size       1022 / 3.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

A noter la taille VG de près de 4 Go, soit la somme des deux volumes physiques. Ce ne sera pas exactement la somme des volumes, car un espace est réservé aux métadonnées.

Comment créer et supprimer des volumes logiques

En plus d'un groupe de volumes, nous pouvons créer des volumes logiques qui à leur tour peuvent contenir des systèmes de fichiers. L'installation par défaut sur de nombreuses distributions sépare le stockage de cette façon, par exemple, les données de l'utilisateur sont conservées sur le /home volume logique et les journaux système sont stockés sur le /var le volume. Dans le cas où un utilisateur remplit le volume d'accueil, le système global pourra toujours écrire des journaux, et ses services continueront donc à fonctionner pendant que l'administrateur système peut gérer l'utilisateur devenu sauvage.

Comment créer un volume logique

Nous allons créer deux volumes logiques, le premier appelé "database" avec 2 Go de taille, l'autre appelé "webserver" avec 500 Mo d'espace disque. Comme vous pouvez le deviner à partir des exemples ci-dessus, la commande que nous utiliserons est lvcreate .

# lvcreate -L 2G -n database data
  Logical volume "database" created.
# lvcreate -L 500M -n webserver data
  Logical volume "webserver" created.

Nous pouvons afficher nos propriétés de volume avec lvdisplay <volume path> , ou nous pouvons lister tous nos volumes logiques si nous ne fournissons pas d'argument pour lvdisplay . Bien que cela puisse fournir une sortie longue sur certains systèmes, cela est utile dans un environnement inconnu, car les chemins de volume peuvent varier en fonction de la distribution et de la version.

# lvdisplay /dev/data/database 
  --- Logical volume ---
  LV Path                /dev/data/database
  LV Name                database
  VG Name                data
  LV UUID                D7f9An-G0dd-kEGw-OGrP-HZlA-dQlX-yBbQbi
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:24 +0100
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2
   
# lvdisplay /dev/data/webserver 
  --- Logical volume ---
  LV Path                /dev/data/webserver
  LV Name                webserver
  VG Name                data
  LV UUID                7Ldt79-aw0i-Oydm-4d0I-JaVe-Zd8m-xKpvrD
  LV Write Access        read/write
  LV Creation host, time rhel8rhcsa, 2019-12-28 16:53:38 +0100
  LV Status              available
  # open                 0
  LV Size                500.00 MiB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

Si nous vérifions notre groupe de volumes à ce stade, nous pouvons remarquer l'espace que les volumes logiques utilisent à partir du groupe de volumes.

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       637 / <2.49 GiB
  Free  PE / Size       385 / 1.50 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Comment créer un volume logique sur le système RHEL Linux

Comment supprimer un volume logique

Pour libérer de l'espace ou réorganiser les volumes, nous pouvons supprimer les volumes logiques avec lvremove .

AVERTISSEMENT
Ne supprimez pas les volumes logiques qui contiennent des données précieuses. Cela détruira les données sur le volume.

Il y a des ceintures de sécurité intégrées, il est révolu le temps où l'essuyage de notre système n'avait pas à attendre une invite. Au moins, lors de l'utilisation des commandes LVM.

# lvremove /dev/data/webserver 
Do you really want to remove active logical volume data/webserver? [y/n]: y
  Logical volume "webserver" successfully removed

Une autre liste de groupes de volumes montre que les 500 Mo du webserver le volume est maintenant rajouté à la taille libre du groupe de volumes :

# vgdisplay data
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               3.99 GiB
  PE Size               4.00 MiB
  Total PE              1022
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       510 / 1.99 GiB
  VG UUID               CmM07M-16Ys-PZx2-XGvo-N1j3-nINX-fnIFIA

Exercices

  1. Créez deux groupes de volumes et créez des volumes logiques sur chacun d'eux avec le même nom.
  2. Ajoutez un autre volume physique à votre groupe de volumes, puis créez un volume logique qui occupe tout le groupe de volumes. Essayez maintenant de supprimer l'un des volumes physiques.
  3. Essayez de créer un volume logique ayant la taille exacte du groupe de volumes.
  4. Créez un autre volume physique sur un disque, ajoutez-le à votre groupe de volumes, puis éteignez la machine et retirez le disque. Qu'est-ce que vgdisplay dire sur le disque manquant ?
  5. Ajoutez à nouveau le disque précédemment supprimé. Est-il reconnu au prochain démarrage ?

Linux
  1. Comment créer un volume physique sous Linux en utilisant LVM

  2. Créer des volumes logiques sous Linux avec LVM

  3. Gérer les groupes de sécurité et les règles

  4. Comment fusionner 2 groupes de volumes (VG) en un seul à l'aide de vgmerge dans LVM

  5. Configuration LVM :opérations/utilitaires de volume logique (LV)

Ajouter de nouvelles partitions, des volumes logiques et permuter vers un système de manière non destructive - Préparation de l'objectif RHCSA

Créer et configurer des répertoires setgid pour la collaboration – Préparation des objectifs RHCSA

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 ?

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