Administrateur Linux - Gestion des volumes

Logical Volume Management (LVM)est une méthode utilisée par Linux pour gérer les volumes de stockage sur différents disques durs physiques. Cela ne doit pas être confondu avec RAID. Cependant, il peut être considéré dans un concept similaire à RAID 0 ou J-Bod. Avec LVM, il est possible d'avoir (par exemple) trois disques physiques de 1 To chacun, puis un volume logique d'environ 3 To tel que / dev / sdb. Ou même deux volumes logiques de 1,5 To, 5 volumes de 500 Go ou toute combinaison. Un seul disque peut même être utilisé pour des instantanés de volumes logiques.

Note- L'utilisation de volumes logiques augmente en fait les E / S disque lorsqu'elles sont correctement configurées. Cela fonctionne de la même manière que les données de répartition RAID 0 sur des disques séparés.

Lors de l'apprentissage de la gestion de volume avec LVM, c'est plus facile si nous savons ce qu'est chaque composant dans LVM. Veuillez étudier le tableau suivant pour bien comprendre chaque composant. Si vous en avez besoin, utilisez Google pour étudier. Comprendre chaque élément d'un volume logique est important pour les gérer.

PV Volume physique sda
PP Partition physique sda1, sda2
VG Groupe de volumes Ressources physiques mises en commun
LV Volume logique Vu comme une installation de stockage pour le système d'exploitation

UNE physical volumesera vu comme / dev / sda, / dev / sdb; un disque physique détecté par Linux.

UNE physical partitionsera une section du disque partitionnée par un utilitaire de disque tel que fdisk. Gardez à l'esprit que la partition physique n'est pas recommandée dans la plupart des configurations LVM courantes. Exemple: le disque / dev / sda est partitionné pour inclure deux partitions physiques: / dev / sda1 et / dev / sda1

Si nous avons deux disques physiques de 1 To chacun, nous pouvons créer un groupe de volumes de près de 2 To parmi les deux.

À partir du groupe de volumes, nous pouvons créer trois volumes logiques, chacun de toute taille ne dépassant pas la taille totale du groupe de volumes.

Outils d'administration de disque Linux traditionnels

Avant de vous familiariser avec les derniers et les meilleurs outils de gestion LVM dans CentOS 7, nous devons d'abord explorer les outils plus traditionnels qui ont été utilisés pour la gestion des disques Linux. Ces outils seront utiles et seront toujours utilisés avec les outils LVM avancés d'aujourd'hui tels que System Storage Manager: lsblk, parted et mkfs.xfs.

Maintenant, en supposant que nous ayons ajouté un ou deux autres disques à notre système, nous devons énumérer les disques détectés par Linux. Je conseillerais toujours d'énumérer les disques à chaque fois avant d'effectuer des opérations considérées comme destructives.lsblkest un excellent outil pour obtenir des informations sur le disque. Voyons quels disques CentOS détecte.

[root@localhost rdc]# lsblk
NAME         MAJ:MIN    RM    SIZE    RO    TYPE MOUNTPOINT
sda            8:0       0     20G     0        disk 
├─sda1         8:1       0      1G     0     part /boot
└─sda2         8:2       0     19G     0        part 
  ├─cl-root  253:0       0     17G     0      lvm  /
  └─cl-swap  253:1       0      2G     0      lvm  [SWAP]
    sdb       8:16       0      6G     0       disk 
    sdc       8:32       0      4G     0       disk 
    sr0       11:0       1   1024M     0       rom

Comme vous pouvez le voir, nous avons trois disques sur ce système: sda, sdb et sdc.

Disk sda contient notre installation CentOS fonctionnelle, nous ne voulons donc pas jouer avec sda. Les deux sdb et sdc ont été ajoutés au système pour ce didacticiel. Rendons ces disques utilisables sur CentOS.

Créer une étiquette de disque

[root@localhost rdc]# parted /dev/sdb mklabel GPT
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this
   disk will be lost. Do you want to continue?
Yes/No? Yes                               
[root@localhost rdc]#

Nous avons maintenant un disque étiqueté. Exécutez simplement la commande parted de la même manière sur sdc .

Créer les partitions sur le disque

Nous ne créerons qu'une seule partition sur chaque disque. Pour créer des partitions, la commande parted est à nouveau utilisée.

[root@localhost rdc]# parted -a opt /dev/sdb mkpart primary ext4 0% 100%

Warning - Vous avez demandé une partition de 0,00 à 6442 Mo (secteurs 0..12582911).

L'emplacement le plus proche que nous pouvons gérer est de 17,4 ko à 1048 ko (secteurs 34..2047).

Est-ce toujours acceptable pour vous?

Oui Non? NON

[root@localhost rdc]# parted -a opt /dev/sdc mkpart primary ext4 0% 100%

Information - Vous devrez peut-être mettre à jour / etc / fstab.

[root@localhost rdc]# lsblk                                               
NAME        MAJ:MIN   RM    SIZE    RO    TYPE MOUNTPOINT
sda           8:0      0     20G     0        disk 
├─sda1        8:1      0      1G     0      part / boot
└─sda2        8:2      0     19G     0        part 
 ├─cl-root  253:0      0     17G     0       lvm  /
 └─cl-swap  253:1      0      2G     0       lvm  [SWAP]
sdb          8:16      0      6G     0        disk 
└─sdb1       8:17      0      6G     0        part 
 sdc         8:32      0      4G     0        disk 
└─sdc1       8:33      0      4G     0        part 
sr0          11:0      1   1024M     0        rom

[root@localhost rdc]#

Comme vous pouvez le voir à partir de la sortie de lsblk, nous avons maintenant deux partitions, chacune sur sdb et sdc.

Créer le système de fichiers

Enfin, avant de monter et d'utiliser un volume, nous devons ajouter un système de fichiers. Nous utiliserons le système de fichiers XFS.

root@localhost rdc]# mkfs.xfs -f /dev/sdb1
meta-data = /dev/sdb1               isize = 512    agcount = 4, agsize = 393088 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1572352, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0
[root@localhost rdc]# mkfs.xfs -f /dev/sdc1
meta-data   = /dev/sdc1             isize = 512    agcount = 4, agsize = 262016 blks
            =                      sectsz = 512    attr = 2, projid32bit = 1
            =                         crc = 1      finobt = 0, sparse = 0
data        =                       bsize = 4096   blocks = 1048064, imaxpct = 25
            =                       sunit = 0      swidth = 0 blks
naming      = version 2             bsize = 4096   ascii-ci = 0 ftype = 1
log         = internal log          bsize = 4096   blocks = 2560, version = 2
            =                      sectsz = 512    sunit = 0 blks, lazy-count = 1
realtime    = none                  extsz = 4096   blocks = 0, rtextents = 0

[root@localhost rdc]#

Vérifions pour nous assurer que chacun a un système de fichiers utilisable.

[root@localhost rdc]# lsblk -o NAME,FSTYPE
NAME           FSTYPE
sda         
├─sda1         xfs
└─sda2         LVM2_member
 ├─cl-root     xfs
 └─cl-swap     swap
sdb         
└─sdb1         xfs
sdc         
└─sdc1         xfs
sr0

[root@localhost rdc]#

Chacun utilise maintenant le système de fichiers XFS. Montons-les, vérifions le montage et copions un fichier dans chacun.

[root@localhost rdc]# mount -o defaults /dev/sdb1 /mnt/sdb
[root@localhost rdc]# mount -o defaults /dev/sdc1 /mnt/sdc

[root@localhost ~]# touch /mnt/sdb/myFile /mnt/sdc/myFile
[root@localhost ~]# ls /mnt/sdb /mnt/sdc
 /mnt/sdb:
  myFile

 /mnt/sdc:
  myFile

Nous avons deux disques utilisables à ce stade. Cependant, ils ne seront utilisables que lorsque nous les montons manuellement. Pour monter chacun au démarrage, nous devons éditer le fichier fstab . En outre, des autorisations doivent être définies pour les groupes ayant besoin d'accéder aux nouveaux disques.

Créer des groupes de volumes et des volumes logiques

L'un des plus grands ajouts à CentOS 7 était l'inclusion d'un utilitaire appelé System Storage Manager ou ssm .System Storage Manager simplifie considérablement le processus de gestion des pools LVM et des volumes de stockage sous Linux.

Nous allons passer par le processus de création d'un pool de volumes simple et de volumes logiques dans CentOS. La première étape consiste à installer le System Storage Manager.

[root@localhost rdc]# yum  install system-storage-manager

Regardons nos disques en utilisant la commande ssm list .

Comme indiqué ci-dessus, un total de trois disques sont installés sur le système.

  • /sdba1 - Héberge notre installation CentOS

  • /sdb1 - Monté sur / mnt / sdb

  • /sdc1 - Monté sur / mnt / sdc

Ce que nous voulons faire est de créer un groupe de volumes en utilisant deux disques (sdb et sdc). Mettez ensuite trois volumes logiques de 3 Go à la disposition du système.

Créons notre groupe de volumes.

[root@localhost rdc]# ssm create -p NEW_POOL /dev/sdb1 /dev/sdc1

Par défaut, ssm créera un seul volume logique étendant la totalité des 10 Go du pool. Nous ne voulons pas de cela, alors supprimons ceci.

[root@localhost rdc]# ssm remove /dev/NEW_POOL/lvol001
 Do you really want to remove active logical volume NEW_POOL/lvol001? [y/n]: y
 Logical volume "lvol001" successfully removed
[root@localhost rdc]#

Enfin, créons les trois volumes logiques.

[root@localhost rdc]# ssm create -n disk001 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk002 --fs xfs -s 3GB -p NEW_POOL
[root@localhost rdc]# ssm create -n disk003 --fs xfs -s 3GB -p NEW_POOL

Maintenant, vérifions nos nouveaux volumes.

Nous avons maintenant trois volumes logiques distincts répartis sur deux partitions de disque physique.

Les volumes logiques sont une fonctionnalité puissante désormais intégrée à CentOS Linux. Nous avons touché la surface sur la gestion de ces derniers. La maîtrise des pools et des volumes logiques s'accompagne d'une pratique et d'un apprentissage approfondi de Tutorials Point. Pour l'instant, vous avez appris les bases de la gestion LVM dans CentOS et possédez la possibilité de créer des volumes logiques par bandes de base sur un seul hôte.