Périphérique de disque Linux et exemple de commande de gestion LVM

2020-02-14

Avant-propos

Dans le système d'exploitation Linux, un fichier de périphérique est un type spécial de fichier. La plupart de ces fichiers se trouvent dans le répertoire / dev et sont utilisés pour représenter un périphérique matériel spécifique détecté par l'hôte Linux.

Par exemple, le fichier / dev / sda est généralement utilisé pour faire référence au premier disque dur du système.

Le système d'exploitation Linux et ses applications et services interagissent avec les périphériques matériels correspondants via ces fichiers de périphériques.

Pour les périphériques de stockage sur disque courants (ATA, SATA, SCSI, SAS, SSD, etc.) et les lecteurs flash USB, les fichiers de périphérique sont principalement nommés sd *. Par exemple, sda représente le premier disque dur, sdb2 représente la deuxième partition du deuxième disque dur, etc.

Par conséquent, vous pouvez utiliser la commande ls -l / dev / sd * pour afficher les unités de disque dans le système:


 $ ls -l / dev / sd *
 brw-rw ---- 1 disque racine 8, 0 7 août 00:47 / dev / sda
 brw-rw ---- 1 disque racine 8, 1er août 7 00:47 / dev / sda1 
 

Autrement dit, un seul disque dur (/ dev / sda) est connecté au système actuel et le disque dur n'a qu'une seule partition (/ dev / sda1).

Deuxièmement, partitionnez

Le partitionnement peut être compris comme la division d'un disque dur entier en une ou plusieurs zones de stockage indépendantes.

Par exemple, le premier disque dur du système peut être divisé en 3 partitions, à savoir sda1, sda2, sda3. sda1 monte le répertoire racine (/), sda2 monte / var et sda3 monte le répertoire / home. Même si les fichiers journaux du répertoire / var occupent l'intégralité de l'espace de stockage de sda2, cela n'affectera pas l'utilisation des deux autres partitions.

Vous pouvez utiliser la commande fdisk -l pour afficher les informations sur le disque et la partition dans le système:


 $ sudo fdisk -l
 Disque / dev / sda: 10 Gio, 10737418240 octets, 20971520 secteurs
 Modèle de disque: VBOX HARDDISK
 Unités: secteurs de 1 * 512 = 512 octets
 Taille du secteur (logique / physique): 512 octets / 512 octets
 Taille d'E / S (minimum / optimal): 512 octets / 512 octets
 Type d'étiquette de disque: dos
 Identificateur de disque: 0x20985120

 Secteurs de début de démarrage de périphérique Taille Type d'ID
 / dev / sda1 2048 20964824 20962777 10G 83 Linux 
 

Créer une partition de disque

La commande fdisk peut également être utilisée pour partitionner le disque dur, notamment pour créer une nouvelle partition, supprimer une partition existante, créer une table de partition, etc.

J'ai ajouté un disque dur virtuel vierge au système Linux dans la machine virtuelle via le logiciel VirtualBox. Utilisez la commande fdisk -l pour afficher les unités de disque dur détectées par le système:


 $ sudo fdisk -l
 Disque / dev / sda: 10 Gio, 10737418240 octets, 20971520 secteurs
 Modèle de disque: VBOX HARDDISK
 Unités: secteurs de 1 * 512 = 512 octets
 Taille du secteur (logique / physique): 512 octets / 512 octets
 Taille d'E / S (minimum / optimal): 512 octets / 512 octets
 Type d'étiquette de disque: dos
 Identificateur de disque: 0x20985120

 Secteurs de début de démarrage de périphérique Taille Type d'ID
 / dev / sda1 2048 20964824 20962777 10G 83 Linux


 Disque / dev / sdb: 5 Gio, 5368709120 octets, 10485760 secteurs
 Modèle de disque: VBOX HARDDISK
 Unités: secteurs de 1 * 512 = 512 octets
 Taille du secteur (logique / physique): 512 octets / 512 octets
 Taille des E / S (minimum / optimal): 512 octets / 512 octets 
 

Un nouveau disque dur / dev / sdb est ajouté au système qui ne contient aucune partition.

Utilisez la commande fdisk / dev / sdb pour partitionner le nouveau disque dur:


 $ sudo fdisk / dev / sdb

 Bienvenue dans fdisk (util-linux 2.33.1).
 Les modifications resteront en mémoire uniquement, jusqu'à ce que vous décidiez de les écrire.
 Soyez prudent avant d'utiliser la commande d'écriture.

 Le périphérique ne contient pas de table de partition reconnue.
 Création d'une nouvelle étiquette de disque DOS avec l'identificateur de disque 0xce119026.

 Commande (m pour l'aide): m

 Aide:

  DOS (MBR)
  basculer un drapeau amorçable
  b modifier l'étiquette de disque BSD imbriquée
  c bascule l'indicateur de compatibilité dos

  Générique
  d supprimer une partition
  Espace libre non partitionné de la liste F
  l liste les types de partition connus
  n ajouter une nouvelle partition
  p imprimer la table de partition
  t changer un type de partition
  v vérifier la table de partition
  j'imprime des informations sur une partition

  Divers
  m imprimer ce menu
  u changer les unités d'affichage / d'entrée
  x fonction supplémentairet Attr PSize PFree
  / dev / sdc lvm2 --- 5.00g 5.00g 
 

Créez un groupe de volumes logiques basé sur des volumes physiques avec la commande vgcreate:


 $ sudo vgcreate data-volume / dev / sdc
  Le groupe de volumes "data-volume" a été créé avec succès 
 

Utilisez la commande vgs pour répertorier tous les groupes de volumes logiques actuels:


 $ sudo vgs
  VG #PV #LV #SN Attr VSize VFree
  volume de données 1 0 0 wz - n- <5,00g <5,00g 
 

Utilisez la commande lvcreate pour créer un volume logique dans un groupe de volumes:


 $ sudo lvcreate --name data --size 2G data-volume
  Création de «données» de volume logique. 
 

Le volume logique est accessible via / dev / mapper / - ou / dev / / , c'est-à-dire que le volume logique de données qui vient d'être créé est accessible via / dev / data-volume / données spécifiées.

Créez un système de fichiers Ext4 sur ce volume logique:


 $ sudo mkfs.ext4 / dev / data-volume / data
 mke2fs 1.44.6 (5 mars 2019)
 Création d'un système de fichiers avec 524288 blocs 4k et 131072 inodes
 UUID du système de fichiers: 0f24cdd8-62e0-42fd-bc38-aa3bce91e099
 Sauvegardes Superblock stockées sur des blocs:
  32768, 98304, 163840, 229376, 294912

 Affectation des tables de groupe: terminé
 Écriture de tables d'inode: terminé
 Création d'un journal (16384 blocs): terminé
 Écriture des superblocs et des informations de comptabilité du système de fichiers: terminé 
 

À ce stade, le volume logique peut être monté sur une branche de répertoire et utilisé comme une partition physique normale.

Gestion des groupes de volumes et des volumes logiques

Vous pouvez utiliser la commande lvextend pour étendre dynamiquement l'espace de stockage d'un volume logique:


 $ sudo lvextend --size + 2G --resizefs / dev / data-volume / data
 fsck de util-linux 2.33.1
 / dev / mapper / data - volume-data: clean, 11/131072 files, 26156/524288 blocks
  La taille du volume / données / données du volume logique est passée de 2,00 Gio (512 extensions) à 4,00 Gio (1024 extensions).
  Volume logique data-volume / data correctement redimensionné.
 resize2fs 1.44.6 (5 mars 2019)
 Redimensionner le système de fichiers sur / dev / mapper / data - volume-data en blocs 1048576 (4k).
 Le système de fichiers sur / dev / mapper / data - volume-data fait maintenant 1048576 (4k) blocs de long. 
 

Où --size + 2G est utilisé pour spécifier une augmentation de l'espace 2G et --resizefs spécifie d'étendre la taille du système de fichiers tout en augmentant la taille du volume logique (le système de fichiers ne se développe pas automatiquement car l'espace du volume logique change par défaut).

Ou vous pouvez spécifier directement la taille étendue, comme:


 $ sudo lvextend --size 4G --resizefs / dev / data-volume / data 
 

D'autres commandes couramment utilisées, telles que l'extension du volume logique avec la commande lvresize, lui permettent d'occuper tout l'espace restant dans le groupe de volumes actuel:


 $ sudo lvresize -l + 100% gratuit / dev / data-volume / data
  La taille du volume logique données-volume / données est passée de <3,00 Gio (767 extensions) à <5,00 Gio (1279 extensions).
  Le volume logique data-volume / data a été redimensionné avec succès. 
 

Étant donné que la commande ci-dessus n'ajoute pas l'option --resizefs ou -r, le système de fichiers n'augmente pas automatiquement la taille avec le volume logique. Vous pouvez étendre manuellement le système de fichiers à l'aide de la commande resize2fs:


 $ sudo resize2fs / dev / data-volume / data 
 

Supposons qu'au bout d'un certain temps, l'espace du volume logique / dev / data-volume / data soit sur le point d'être rempli de données, vous pouvez essayer d'ajouter un autre disque dur sdd:


 $ lsblk
 NOM MAJ: MIN RM SIZE RO TYPE MOUNTPOINT
 disque sda ​​8: 0 0 10G 0
 └─sda1 8: 1 0 10G 0 partie /
 sdb 8:16 0 5G 0 disque
 ├─sdb1 8:17 0 3G 0 part / mnt / data
 └─sdb2 8:18 0 2G 0 partie [SWAP]
 sdc 8:32 0 5G 0 disque
 └─data - volume-data 253: 0 0 5G 0 lvm
 sdd 8:48 0 5G 0 disque
 sr0 11: 0 1 1024M 0 rom 
 

Utilisez la commande pvcreate pour créer un volume physique:


 $ sudo pvs
  PV VG Fmt Attr PSize PFree
  / dev / sdc volume de données lvm2 a-- <5.00g 0
  / dev / sdd lvm2 --- 5.00g 5.00g 
 

Utilisez la commande vgextend pour ajouter ce volume physique au groupe de volumes volume de données créé précédemment:


 $ sudo vgextend data-volume / dev / sdd
  Extension du groupe de volumes "data-volume" avec succès
 $ sudo vgs
  VG #PV #LV #SN Attr VSize VFree
  volume de données 2 1 0 wz - n- 9,99 g <5,00 g 
 

Le groupe de volumes de volume de données à ce moment contient deux volumes physiques (/ dev / sdc et / dev / sdd) et un volume logique (/ dev / data-volume / data). La taille totale devient 10G et est inactive. L'espace est 5G (c'est-à-dire le volume physique qui vient d'être ajouté).

Enfin, utilisez la commande lvresize pour augmenter la taille du volume logique afin qu'il occupe tout l'espace de stockage des deux volumes physiques:


 $ sudo lvresize -l + 100% gratuit -r / dev / data-volume / data
 fsck de util-linux 2.33.1
 / dev / mapper / data - volume-data: clean, 11/196608 files, 30268/785408 blocks
  La taille du volume / données / données du volume logique est passée de <5,00 Gio (1279 extensions) à 9,99 Gio (2558 extensions).
  Volume logique data-volume / data correctement redimensionné.
 resize2fs 1.44.6 (5 mars 2019)
 Redimensionner le système de fichiers sur / dev / mapper / data - volume-data en blocs 2619392 (4k).
 Le système de fichiers sur / dev / mapper / data - volume-data fait maintenant 2619392 (4k) blocs de long. 
 

À ce stade, la taille du volume logique / dev / data-volume / data est étendue à 10G, qui occupe tout l'espace de l'ensemble du volume de données du groupe de volumes (y compris deux volumes physiques 5G).

Résumé: le groupe de volumes LVM (vg) agit comme un disque physique et est utilisé pour héberger des volumes logiques (lv). Un groupe de volumes peut être composé de plusieurs volumes physiques (disques ou partitions, etc.). Lorsqu'il n'y a pas assez d'espace, vous pouvez ajouter de nouveaux volumes physiques à développer à tout moment.

Le volume logique (lv) sur un groupe de volumes est similaire à une partition de disque et peut être monté sur un répertoire comme espace de stockage. Cependant, l'emplacement et la taille des partitions physiques sont fixes, et les volumes logiques peuvent être redimensionnés dynamiquement en fonction des groupes de volumes, et même s'étendre sur plusieurs disques physiques et partitions, ce qui rend la gestion plus pratique et plus flexible.

Liste des commandes LVM courantes:

                                                                                                                                                                                                                                                                                                                                               

Résumé

Ce qui précède est le contenu entier de cet article. J'espère que le contenu de cet article aura une certaine référence et valeur d'apprentissage pour l'étude ou le travail de chacun. Merci pour votre soutien.

PV VG Fmt Attr PSize PFree   / dev / sdc volume de données lvm2 a-- <5.00g 0   / dev / sdd lvm2 --- 5.00g 5.00g

Utilisez la commande vgextend pour ajouter ce volume physique au groupe de volumes volume de données créé précédemment:


 $ sudo vgextend data-volume / dev / sdd
  Extension du groupe de volumes "data-volume" avec succès
 $ sudo vgs
  VG #PV #LV #SN Attr VSize VFree
  volume de données 2 1 0 wz - n- 9,99 g <5,00 g 
 

Le groupe de volumes de volume de données à ce moment contient deux volumes physiques (/ dev / sdc et / dev / sdd) et un volume logique (/ dev / data-volume / data). La taille totale devient 10G et est inactive. L'espace est 5G (c'est-à-dire le volume physique qui vient d'être ajouté).

Enfin, utilisez la commande lvresize pour augmenter la taille du volume logique afin qu'il occupe tout l'espace de stockage des deux volumes physiques:


 $ sudo lvresize -l + 100% gratuit -r / dev / data-volume / data
 fsck de util-linux 2.33.1
 / dev / mapper / data - volume-data: clean, 11/196608 files, 30268/785408 blocks
  La taille du volume / données / données du volume logique est passée de <5,00 Gio (1279 extensions) à 9,99 Gio (2558 extensions).
  Volume logique data-volume / data correctement redimensionné.
 resize2fs 1.44.6 (5 mars 2019)
 Redimensionner le système de fichiers sur / dev / mapper / data - volume-data en blocs 2619392 (4k).
 Le système de fichiers sur / dev / mapper / data - volume-data fait maintenant 2619392 (4k) blocs de long. 
 

À ce stade, la taille du volume logique / dev / data-volume / data est étendue à 10G, qui occupe tout l'espace de l'ensemble du volume de données du groupe de volumes (y compris deux volumes physiques 5G).

Résumé: le groupe de volumes LVM (vg) agit comme un disque physique et est utilisé pour héberger des volumes logiques (lv). Un groupe de volumes peut être composé de plusieurs volumes physiques (disques ou partitions, etc.). Lorsqu'il n'y a pas assez d'espace, vous pouvez ajouter de nouveaux volumes physiques à développer à tout moment.

Le volume logique (lv) sur un groupe de volumes est similaire à une partition de disque et peut être monté sur un répertoire comme espace de stockage. Cependant, l'emplacement et la taille des partitions physiques sont fixes, et les volumes logiques peuvent être redimensionnés dynamiquement en fonction des groupes de volumes, et même s'étendre sur plusieurs disques physiques et partitions, ce qui rend la gestion plus pratique et plus flexible.

Liste des commandes LVM courantes:

Commande        Utilisé pour     
pvcreate Dispositifs d'étiquetage à utiliser avec LVM
pvremove Suppression de l'étiquette LVM d'un volume physique
pvdisplay / pvs Affichage des informations sur le périphérique spécifié ou tous les volumes physiques du système
vgcreate Création d'un nouveau groupe de volumes
vgremove Suppression (suppression) d'un groupe de volumes
vgextend Ajout de volumes physiques à un groupe de volumes
vgreduce Suppression de volumes physiques d'un groupe de volumes
vgdisplay / vgs Affichage d'informations sur le groupe spécifié ou tous les groupes de volumes sur le système
lvcreate Création d'un nouveau volume logique
lvremove Suppression (suppression) d'un volume logique
lvextend Augmentation de la taille d'un volume logique
lvreduce Diminution de la taille d'un volume logique
lvdisplay / lvs Affichage de tous les volumes logiques sur le système ou dans un groupe de volumes spécifié
                                                                                                                                                                                                                                                                                                                                               

Résumé

Ce qui précède est le contenu entier de cet article. J'espère que le contenu de cet article aura une certaine référence et valeur d'apprentissage pour l'étude ou le travail de chacun. Merci pour votre soutien.

C'est tout le contenu de cet article. J'espère que le contenu de cet article aura une certaine référence et valeur d'apprentissage pour l'étude ou le travail de chacun. Merci pour votre soutien.

www.xd1998.com@2001-2030Partage De Technologie
Commande        Utilisé pour     
pvcreate Dispositifs d'étiquetage à utiliser avec LVM
pvremove Suppression de l'étiquette LVM d'un volume physique
pvdisplay / pvs Affichage des informations sur le périphérique spécifié ou tous les volumes physiques du système
vgcreate Création d'un nouveau groupe de volumes
vgremove Suppression (suppression) d'un groupe de volumes
vgextend Ajout de volumes physiques à un groupe de volumes
vgreduce Suppression de volumes physiques d'un groupe de volumes
vgdisplay / vgs Affichage d'informations sur le groupe spécifié ou tous les groupes de volumes sur le système
lvcreate Création d'un nouveau volume logique
lvremove Suppression (suppression) d'un volume logique
lvextend Augmentation de la taille d'un volume logique
lvreduce Diminution de la taille d'un volume logique
lvdisplay / lvs Affichage de tous les volumes logiques sur le système ou dans un groupe de volumes spécifié