Menu Fermer

Ajout d’un second disque à une VM en utilisant LVM

Dans cet article va être abordé la création d’un nouveau groupe de volume sur un nouveau disque fraîchement ajouté sur notre VM Debian. Les commandes de gestion présentes ici sont identiques sous beaucoup de systèmes Linux, y compris RedHat et dérivés.

Lister les disques

Pour lister la configuration actuelle des disques on peux utiliser la commande parted -l

parted -l
# Exemple pour un disque déja configuré
Disk /dev/sda: 53.7GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  1075MB  1074MB  fat32        EFI System Partition  boot, esp
 2      1075MB  2149MB  1074MB  xfs
 3      2149MB  38.7GB  36.5GB                                     lvm
 
# Exemple pour un disque sans table de partition
Error: /dev/sdb: unrecognised disk label
Model: Msft Virtual Disk (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags:

Création du volume physique LVM

Ici je vais dédier partitionner le disque afin de créer une partition dédiée au lvm. La première étape est donc de créer une table de partition sur /dev/sdb.

On commence par démarrer l’édition du disque via parted

parted /dev/sdb

Il y a 2 commande a passer dans parted, la première « mklabel gpt » pour créer la table de partition. La seconde « mkpart primary 1 100% » pour créer une partition de type primaire a l’emplacement 1 utilisant 100% de l’espace disque.
Ci dessous la suite complète des commandes sur mon système :

#parted /dev/sdb
GNU Parted 3.5
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary 1 100%
(parted) print
Model: Msft Virtual Disk (scsi)
Disk /dev/sdb: 107GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name     Flags
 1      1049kB  107GB  107GB               primary
(parted) quit

On peux ensuite créer le volume physique via la commande pvcreate

pvcreate /dev/sdb1

On peux désormais voir notre nouveau volume physique via pvs

# pvs
  PV         VG        Fmt  Attr PSize    PFree
  /dev/sda3  vg_system lvm2 a--    34.00g    4.00m
  /dev/sdb1            lvm2 ---  <100.00g <100.00g

Création du groupe de volume

Nous allons maintenant créer notre groupe de volume qui ne contiendra que /dev/sdb et sera nommé vg_data

vgcreate vg_data /dev/sdb1

On peux valider la création via vgs

# vgs
  VG        #PV #LV #SN Attr   VSize    VFree
  vg_data     1   0   0 wz--n- <100.00g <100.00g
  vg_system   1   4   0 wz--n-   34.00g    4.00m

Création des volumes logiques

Ici le besoin pour les datas est de mettre à disposition de l’espace pour /opt et /tmp

Nous allons donc créer deux volumes logiques. 50 Go pour opt et 15 Go pour tmp

lvcreate -n opt -L50Go vg_data
lvcreate -n tmp -L15Go vg_data

La commande lvs nous donnera ensuite l’état des volumes nouvellement créés :

# lvs
  LV    VG        Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  data  vg_data   -wi-a----- 50.00g
  tmp   vg_data   -wi-a----- 15.00g
  home  vg_system -wi-ao---- 10.00g
  root  vg_system -wi-ao---- 10.00g
  swap  vg_system -wi-ao----  4.00g
  var   vg_system -wi-ao---- 10.00g

Partitionnement et montage

Dans ce cas de figure /opt est vide et /tmp ne contient rien de précieux sur un système tout juste installé. Ils n’y a donc rien à déplacer avant. Une fois les nouveaux volumes montés les données ne seront plus accessibles.

Nous allons commencer par créer les systèmes de fichiers. Ici je vais prendre xfs pour sa souplesse d’administration qui va de pair avec des volumes logiques pouvant être évoluer.

mkfs.xfs /dev/vg_data/opt
mkfs.xfs /dev/vg_data/tmp

Nous allons maintenant ajouter dans fstab la nouvelle configuration des partitions. Voici les deux lignes que j’ai ajoutée à mon fstab pour cet exemple :

/dev/mapper/vg_data-opt    /opt  xfs     defaults    0 0
/dev/mapper/vg_data-tmp    /tmp  xfs     defaults    0 0

Afin que le système prenne en compte sans redémarrage le nouveau fstable on recharge systemctl

systemctl daemon-reload

Et maintenant on monte les partitions via mount

mount -a

Elles sont désormais disponibles pour le système. /tmp ayant été remplacé un redémarrage de la machine peut être requis.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.