GNU/Linux >> Tutoriels Linux >  >> Linux

Gestionnaire de volume logique (LVM) par rapport au partitionnement standard sous Linux

La capacité de stockage du serveur est gérée via la taille des disques durs et la configuration des partitions depuis des décennies. De toute évidence, ces stratégies fonctionnent bien et sont fiables. Cependant, repenser la gestion du stockage sur des serveurs locaux présente de nombreux avantages. Cet article compare la gestion et le partitionnement standard du stockage au gestionnaire de volumes logiques (LVM). Il présente également certaines commandes de base pour chaque approche.

Gestion du stockage traditionnel

J'utilise l'expression gestion traditionnelle du stockage pour décrire le processus de partitionnement, de formatage et de montage de la capacité de stockage à partir d'un disque dur de base. Je compare ce partitionnement standard avec une méthode alternative appelée Logical Volume Manager, ou LVM.

L'espace de stockage est généralement géré en fonction de la capacité maximale des disques durs individuels. Le résultat est que lorsqu'un administrateur système pense au stockage, il le fait en fonction de chaque lecteur. Par exemple, si un serveur dispose de trois disques durs de 1 To chacun, l'administrateur système considère littéralement le stockage, J'ai trois disques de 1 To avec lesquels travailler .

Passons très rapidement en revue la gestion traditionnelle du stockage. Voici un exemple de scénario :

1. Installez un nouveau disque dur

Achetez un disque dur d'un téraoctet (1 To), puis installez-le physiquement sur le serveur.

2. Partitionner le disque

Utiliser fdisk ou gparted pour créer une ou plusieurs partitions. Il est important de noter que les partitions ne peuvent pas consommer plus que le total de 1 To de capacité de disque.

Exemple fdisk commande :

# fdisk /dev/sdb

Je ne couvrirai pas la syntaxe de fdisk dans cet article, mais supposons que j'ai créé une seule partition qui consomme l'intégralité du disque de 1 To. La partition est /dev/sdb1 .

Affichez la capacité en utilisant /proc/partitions et lsblk contenu :

# cat /proc/partitions
# lsblk

3. Créer un système de fichiers

Créez un système de fichiers sur la nouvelle partition en utilisant le mkfs commande. Vous pouvez utiliser ext4 ou le XFS par défaut de RHEL système de fichiers.

# mkfs.ext4 /dev/sdb1

Alors que XFS est la valeur par défaut de Red Hat, il peut ne pas être aussi flexible lorsqu'il est combiné avec LVM que ext4 . XFS les systèmes de fichiers peuvent facilement être étendus mais pas réduits. Je développerai cette idée plus loin vers la fin de l'article.

4. Créer un point de montage

Le reste de ce processus est relativement standard. Tout d'abord, créez un répertoire qui servira de point de montage. Ensuite, montez manuellement la partition au point de montage.

# mkdir /newstorage
# mount /dev/sdb1 /newstorage

5. Confirmez la capacité de stockage

Utilisez le du commande pour confirmer que l'espace de stockage est accessible et de la taille attendue.

# du -h /newstorage

Remarque :Le -h l'option affiche la sortie de du en termes de capacité faciles à comprendre pour les humains, tels que Go ou TB.

6. Configurez l'espace à monter au démarrage

Modifiez le /etc/fstab fichier pour monter le système de fichiers au démarrage. Si vous avez besoin d'un rappel sur /etc/fstab , consultez l'article de Tyler Carrigan An introduction to the Linux /etc/fstab file here on Enable Sysadmin.

Gestionnaire de volumes logiques (LVM)

La capacité de stockage traditionnelle est basée sur la capacité de chaque disque. LVM utilise un concept différent. L'espace de stockage est géré en combinant ou en mettant en commun la capacité des disques disponibles. Avec le stockage traditionnel, trois disques de 1 To sont gérés individuellement. Avec LVM, ces trois mêmes disques sont considérés comme une capacité de stockage agrégée de 3 To. Ceci est accompli en désignant les disques de stockage comme volumes physiques (PV), soit la capacité de stockage utilisable par LVM. Les PV sont ensuite ajoutés à un ou plusieurs groupes de volumes (VG). Les VG sont découpés en un ou plusieurs volumes logiques (LV), qui sont ensuite traités comme des partitions traditionnelles.

Source :Présentation de l'architecture Red Hat LVM

1. Installez un nouveau disque dur

Évidemment, il doit y avoir un disque de stockage disponible. Tout comme nous l'avons vu ci-dessus, vous devez installer physiquement un lecteur dans le serveur.

2. Désignez des volumes physiques

Les volumes physiques (PV) sont des disques ou des partitions disponibles pour LVM en tant que capacité de stockage potentielle. Ils ont des identifiants et des métadonnées qui décrivent chaque PV. Il est intéressant de noter que, contrairement au RAID, les PV n'ont pas besoin d'être de la même taille ou sur des disques qui ont la même vitesse. Vous pouvez mélanger et assortir les types de lecteur pour créer des PV. Pour implémenter LVM, commencez par désigner un lecteur en tant que volume physique.

Commande pour créer un PV :

# pvcreate /dev/sdb1
# pvcreate /dev/sdc

Ces deux exemples de commandes sont légèrement différents. La première commande désigne la partition 1 sur le disque de stockage b en tant que PV. La deuxième commande définit la capacité totale du disque de stockage c en tant que VP.

Afficher la capacité PV et des informations supplémentaires :

# pvdisplay

Cette commande affiche tous les volumes physiques configurés sur le serveur.

3. Gérer les groupes de volumes

Une fois qu'un ou plusieurs disques sont disponibles pour LVM en tant que volumes physiques, la capacité de stockage est combinée en groupes de volumes (VG). Il peut y avoir plus d'un VG sur un serveur, et les disques peuvent être membres de plus d'un VG (mais les PV eux-mêmes ne peuvent être membres que d'un seul VG).

Utilisez le vgcreate commande pour créer un nouveau groupe de volumes. Le VG doit avoir au moins un membre. La syntaxe de la commande est :

vgcreate name-of-new-VG PV-members

Utilisez la commande suivante pour créer un groupe de volumes nommé vg00 avec /dev/sdb1 et /dev/sdc en tant que membres :

# vgcreate vg00 /dev/sdb1 /dev/sdc

Afficher les informations pour un VG nommé vg00 :

# vgdisplay vg00

4. Gérer les volumes logiques

Le VG peut être subdivisé en un ou plusieurs volumes logiques (LV). Ces volumes logiques sont alors utilisés comme s'il s'agissait de partitions traditionnelles. Le VG a une capacité totale, puis une partie de cette capacité est allouée à un volume logique.

Le lvcreate La commande découpe la capacité de stockage d'un VG. Il y a quelques options à connaître.

options lvcreate
Option Description
-n Nom du LV - ex. ventes-lv
-L Taille en G ou T - ex. 10G
-q Silencieux, supprime la sortie de la commande
-v Mode détaillé fournissant des détails supplémentaires

La syntaxe de lvcreate commande est la suivante :

lvcreate -L size -n lvname vgname

Voici la commande pour créer un 10 Volume logique Go nommé sales-lv taillé dans le vg00 Groupe de volumes :

# lvcreate -L 10G -n sales-lv vg00

Comme vous vous en souvenez, nous avons créé le vg00 Groupe de volumes de deux volumes physiques, /dev/sdb1 et /dev/sdc . Donc, en résumé, nous avons combiné la capacité de /dev/sdb1 et /dev/sdc dans vg00 , puis a créé un volume logique nommé sales-lv à partir de cet espace de stockage agrégé.

Vous pouvez utiliser le lvdisplay commande pour voir la configuration du volume logique.

# lvdisplay /dev/vg00/sales-lv

5. Appliquer un système de fichiers et définir un point de montage

Une fois le LV créé, il est géré comme n'importe quelle autre partition. Il a besoin d'un système de fichiers et d'un point de montage, comme nous l'avons configuré dans la section de gestion de partition standard ci-dessus.

  1. Exécutez le mkfs.ex4 commande sur le LV.
  2. Créez un point de montage en utilisant mkdir.
  3. Montez manuellement le volume à l'aide de mount ou éditez la commande /etc/fstab pour monter le volume automatiquement au démarrage du système.
  4. Utilisez le df -h pour vérifier que la capacité de stockage est disponible.

[ Vous pourriez également aimer :  Introduction au gestionnaire de volumes logiques ]

Capacité d'évolutivité

A ce stade, nous avons vu la configuration de LVM, mais nous n'avons pas encore vraiment pu voir les nombreux avantages. L'un des avantages des configurations LVM est la possibilité d'adapter facilement et rapidement la capacité de stockage. Habituellement, bien sûr, les administrateurs système doivent évoluer (augmenter la capacité). Il est intéressant de noter que vous pouvez également réduire la capacité de stockage avec LVM. Cela signifie que si la capacité de stockage est sur-allouée (vous avez configuré beaucoup plus de stockage que nécessaire), vous pouvez la réduire. Je couvrirai les deux scénarios dans cette section.

Commençons par augmenter la capacité.

Augmenter la capacité

Vous pouvez ajouter de la capacité de stockage au volume logique. Ceci est utile si les utilisateurs consomment plus d'espace que prévu. Le processus est assez logique :

  1. Ajoutez un disque et configurez-le en tant que PV.
  2. Ajoutez-le à un VG.
  3. Ajoutez la capacité au LV, puis étendez le système de fichiers.

1. Installez un disque de stockage, puis configurez-le en tant que PV

Pour augmenter la capacité, installez un nouveau disque et configurez-le en tant que PV, conformément aux étapes ci-dessus. S'il existe déjà un disque avec de l'espace libre disponible, vous pouvez certainement l'utiliser également.

Voici un rappel de la commande pour créer un PV :

# pvcreate /dev/sdb2

Dans ce cas, je désigne la partition 2 sur le disque /dev/sdb comme nouveau PV.

2. Ajouter de l'espace au VG

Une fois la nouvelle capacité désignée pour LVM, vous pouvez l'ajouter au VG, augmentant ainsi la taille du pool.

Exécutez cette commande pour ajouter un nouveau PV à un VG existant :

# vgextend vg00 /dev/sdb2

Maintenant, le pool de stockage est plus grand. L'étape suivante consiste à ajouter la capacité accrue au volume logique spécifique. Vous pouvez allouer tout ou partie de l'espace de stockage PV que vous venez d'ajouter au pool au LV existant.

3. Ajouter de l'espace au LV

Ensuite, ajoutez une partie ou la totalité du nouvel espace de stockage VG au LV qui doit être étendu.

Exécutez le lvextend commande pour étendre le LV à une taille donnée :

# lvextend -L3T /dev/vg00/sales-lv

Exécutez le lvextend commande pour ajouter 1 Go d'espace à la taille existante :

# lvextend -L+1G /dev/vg00/sales-lv

4. Étendez le système de fichiers pour rendre la capacité de stockage disponible

Enfin, étendez le système de fichiers. Les deux ext4 et XFS prend en charge cette capacité, donc l'un ou l'autre des systèmes de fichiers convient.

Démontez le système de fichiers en utilisant le umount commande :

# umount /newstorage

Voici la commande de base pour ext4 :

# resize2fs /dev/vg00/sales-lv 3T

Réduire la capacité

Réduire l'espace de stockage est une tâche moins courante, mais il convient de le noter. Le processus se produit dans l'ordre inverse de l'expansion du stockage.

Remarque :XFS les systèmes de fichiers ne sont pas réellement réduits. Au lieu de cela, sauvegardez le contenu, puis restaurez-le dans un LV nouvellement redimensionné. Vous pouvez utiliser le xfsdump utilitaire pour y parvenir. Le ext4 système de fichiers peut être réduit. C'est le système de fichiers sur lequel je me concentre dans cette section. Comme nous l'avons vu plus haut avec l'extension du système de fichiers, le volume doit être démonté. La commande exacte variera en fonction de votre nom LV.

# umount /dev/vg00/sales-lv

1. Réduire le système de fichiers

Ensuite, utilisez le resize2fs commande pour réduire la taille du système de fichiers. Il est recommandé d'exécuter fsck sur ext4 systèmes de fichiers avant de les réduire. Il est également recommandé de sauvegarder les données sur le LV au cas où quelque chose d'inattendu se produirait.

Voici un exemple de réduction d'un ext4 système de fichiers :

# resize2fs /dev/vg00/sales-lv 3T

Remarque  :Vous ne pouvez pas réduire un système de fichiers à une taille inférieure à la quantité de données qui y sont stockées.

2. Réduire la LV

Utilisez le lvreduce commande pour réduire l'espace de stockage alloué au LV. Cela renvoie la capacité de stockage potentielle au VG.

# lvreduce -L 2T vg00/sales-lv

Il est essentiel de réaliser que la commande ci-dessus définit le sales-lv à 2T . Ce n'est pas supprimer deux téraoctets du LV existant. Il configure le LV à deux téraoctets. Il est possible de dire lvreduce pour soustraire une quantité d'espace de la capacité existante en utilisant une commande très similaire :

# lvreduce -L -2T vg00/sales-lv

Dans ce cas, j'ai ajouté un - (tiret) avant le 2T taille, indiquant que je veux que cette quantité d'espace soit soustraite du sales-lv existant capacité. La différence entre les deux commandes est petite mais importante.

Vous avez maintenant la capacité retournée au VG pour une utilisation dans un autre LV. Vous pouvez utiliser les commandes d'extension décrites précédemment pour réaffecter cette capacité. Le VG peut également être rétréci.

Flexibilité

La capacité peut également être facilement réallouée avec LVM. Vous pouvez réduire la capacité d'un VG et l'ajouter à un autre. Ceci est accompli en réduisant le système de fichiers, puis en supprimant le LV du VG. Disons que vous avez un serveur avec 10 To de capacité. En utilisant les processus ci-dessus, vous avez créé deux LV de 5 To chacun. Au bout de quelques semaines, vous découvrez que vous auriez dû créer des LV de 7 To et 3 To à la place. Vous pouvez supprimer 2 To de capacité de l'un des groupes de volumes, puis ajouter cette capacité à l'autre VG. C'est bien plus de flexibilité que les offres de partitionnement traditionnelles.

LVM prend également en charge les configurations RAID, la mise en miroir et d'autres paramètres avancés qui en font une solution encore plus attrayante. L'article de Tyler Carrigan, Création de volumes logiques sous Linux avec LVM, contient de bonnes informations sur la répartition et la mise en miroir des volumes logiques.

[ Vous voulez tester vos compétences d'administrateur système ? Faites une évaluation des compétences aujourd'hui. ] 

Récapitulez

Logical Volume Manager est un excellent moyen d'ajouter de la flexibilité à vos besoins de stockage, et ce n'est vraiment pas beaucoup plus compliqué que la gestion traditionnelle des disques. Il existe une excellente documentation sur le site de Red Hat, et les cours de formation officiels la couvrent également très efficacement.

L'une des choses que j'apprécie à propos de LVM est la structure de commande logique. La majorité des commandes de gestion sont liées et donc relativement faciles à retenir. Le point du tableau suivant n'est pas pour résumer les commandes, mais plutôt pour vous faire remarquer que les commandes sont toutes très similaires et donc conviviales :

Des commandes similaires sont utilisées pour gérer les composants LVM
Commande Description
pvcreate Créer un volume physique
pvdisplay Afficher les informations sur le volume physique
psv Afficher les informations sur le volume physique
pvsupprimer Supprimer le volume physique
vgcreate Créer un groupe de volumes
vgdisplay Afficher les informations sur le groupe de volumes
vgs Afficher les informations sur le groupe de volumes
vgremove Supprimer le groupe de volumes
vgextend/vgreduce Étendre ou réduire le groupe de volumes
lvcreate Créer un volume logique
lvdisplay Afficher les informations de volume logique
lvs Afficher les informations de volume logique
lvsupprimer Supprimer le volume logique
lvextend/lvextend Étendre ou réduire le volume logique

La prochaine fois que vous mettrez en place un serveur de fichiers local, envisagez d'utiliser LVM au lieu des techniques traditionnelles de gestion du stockage. Vous pourriez vous remercier des mois ou des années plus tard car vous devez ajuster la capacité de stockage du serveur.


Linux
  1. Comment créer un système de fichiers sur une partition ou un volume logique Linux

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

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

  4. Configuration du stockage par blocs sur les serveurs Linux

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

Comment gérer le stockage sous Linux avec LVM

Comment créer un groupe de volumes sous Linux avec LVM

Comment redimensionner un volume logique avec 5 commandes LVM simples

Sauvegarde et restauration d'instantanés LVM sous Linux

La gestion des volumes logiques expliquée sous Linux

Quels sont les avantages du gestionnaire de volumes logiques