LINUX : Gestion des disques et des volumes LVM


 

 

Cet article présente la gestion des disques et des volumes LVM (Logical Volume Manager) sous Linux.

LVM_logo

 

1. Etat des lieux

■ Lister les volumes physique (PV)

[root@server ~]# pvs
  PV         VG   Fmt  Attr PSize  PFree
  /dev/sda2  VG01 lvm2 a--  29,50g 4,11g

Sur ce serveur il n’y a qu’un seul disque physique présent faisant 30G et faisant partie du groupe de volume VG01.

■ Lister les groupes de volumes (VG)

[root@server ~]# vgs
  VG   #PV #LV #SN Attr   VSize  VFree
  VG01   1   5   0 wz--n- 29,50g 4,11g

Sur ce serveur nous avons un seul groupe de volume VG01 de 30G comportant environ 4G d’espace non alloué.

■ Lister les volumes logiques (LV)

[root@server ~]# lvs
  LV      VG   Attr      LSize Pool Origin Data%  Move Log Cpy%Sync Convert
  LV_home VG01 -wi-ao--- 4,88g
  LV_root VG01 -wi-ao--- 9,77g
  LV_swap VG01 -wi-ao--- 3,91g
  LV_tmp  VG01 -wi-ao--- 1,95g
  LV_var  VG01 -wi-ao--- 4,88g

Ce serveur comprend 5 volumes logiques contenus dans VG01.

 

2. Ajout d’un disque à chaud

Dans le cas d’un disque physique :
Après qu’un disque physique ait été ajouté, on doit rescanner les disques sous Linux. Scanner les nouveaux disques en utilisant la commande ci-dessous, en remplaçant « host0 » par l’ID du controlleur SCSI de votre disque dans VMware (host0 pour SCSI controller 0, host1 pour SCSI controller 1, etc…).

Dans le cas d’un disque virtuel :
Après qu’un disque virtuel ait été ajouté à la VM, on doit rescanner les disques sous Linux. Scanner les nouveaux disques en utilisant la commande ci-dessous, en remplaçant « host0 » par l’ID du controlleur SCSI de votre disque dans VMware (host0 pour SCSI controller 0, host1 pour SCSI controller 1, etc…).

echo "- - -" > /sys/class/scsi_host/host0/scan

■ Utiliser la commande dmesg pour vérifier quels sont les nouveaux périphériques ajoutés, filtrer sur « Attached scsi disk ».

# dmesg | tail -n 10 | grep Attached
sd 0:0:1:0: Attached scsi disk sdb

■ Identification device :

dmesg | tail |grep '/dev/sd'

 

3. Création LVM

3 couches : PV, VG, LV (voir le schéma ci-dessus)

■ Création PV :

pvcreate /dev/<new device>

■ Création VG :

vgcreate <VGname> /dev/<new device>

■ Création LV :

lvcreate -L <taille>G (ou 100%FREE) -n <name> <VGname>

 

4. Formatage et ajout de point de montage

■ Création du répertoire cible :

mkdir /<FOLDER>

■ Formater le volume LVM en EXT4 :

mkfs.ext4 /dev/VGDATA/<LVname>

■ Ajouter le point de montage au fichier /etc/fstab :

/dev/VGDATA/<LVname>        /<FOLDER>              ext4    defaults,noatime        0 2

■ Monter la nouvelle partition :

mount -a

■ Lister les points de montage :

mount -l

 

5. Étendre une partition

■ Vérifier s’il y a de l’espace disponible (PFree) sur les volumes physiques :

[root@server ~]# pvs
  PV         VG                  Fmt  Attr PSize   PFree
  /dev/sda2  VolGroup00          lvm2 a--   15,51g    0
  /dev/sdb   VGWordpress_sdb     lvm2 a--  170,00g    0

Si ce n’est pas le cas (comme ci-dessus), il faut éventuellement ajouter de la volumétrie sur le disque, puis passer par l’étape suivante (exemple pour extension de /dev/sdb).

■ Relancer un scan des devices :

[root@server ~]# echo "1" > /sys/class/scsi_disk/<id du disque>/device/rescan
[root@server ~]# fdisk -l
 ...
 ...

■ Redimensionner le volume physique (PV) :

[root@server ~]# pvresize /dev/sdb
  Physical volume "/dev/sdb" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

[root@server ~]# pvs
  PV         VG                  Fmt  Attr PSize   PFree
  /dev/sda2  VolGroup00          lvm2 a--   15,51g     0
  /dev/sdb   VGWordpress_sdb     lvm2 a--  200,00g 30,00g

Vous avez maintenant de l’espace disponible sur votre groupe physique. Il ne reste plus qu’à étendre la partition souhaitée (dans cet exemple ajout de 10G à /dev/mapper/VGPostFiles–prd_sdb-data).

[root@server ~]# lvextend -L +10G /dev/mapper/VGWordpress_sdb-data
  Extending logical volume data to 120,00 GiB
  Logical volume data successfully resized

[root@server ~]# resize2fs -p /dev/mapper/VGWordpress_sdb-data
resize2fs 1.41.12 (17-May-2010)
Le système de fichiers de /dev/mapper/VGWordpress_sdb-data est monté sur /wordpress_data ; le changement de taille doit être effectué en ligne
old desc_blocks = 7, new_desc_blocks = 8
En train d'effectuer un changement de taille en ligne de /dev/mapper/VGWordpress_sdb-data vers 31457280 (4k) blocs.
Le système de fichiers /dev/mapper/VGWordpress_sdb-data a maintenant une taille de 31457280 blocs.

 

6. Réduire une partition

On prendra ici l’exemple du LogicalVolume LV_wordpress présent dans le VolumeGroup VGDATA et monté sur /var/WORDPRESS.

/dev/mapper/VGDATA-LV_wordpress
                      2.8T  633G  2.0T  24% /var/WORDPRESS

■ Vérifier que le volume n’est plus utilisé :

lsof /var/WORDPRESS
fuser -m /var/WORDPRESS

■ Démonter le volume :

umount /var/WORDPRESS

■ Faire un check du filesystem :

e2fsck -f /dev/mapper/VGDATA-LV_wordpress

■ Redimensionner le volume à une taille légèrement inférieur à la taille cible désirée, par exemple si on veut obtenir une taille finale de 1.8To on redimensionnera le filesystem à 1.5T :

resize2fs /dev/mapper/VGDATA-LV_wordpress 1500G

■ Réduire la taille du LV :

lvreduce --size 1.8T /dev/mapper/VGDATA-LV_wordpress

■ Étendre le filesystem pour remplir l’espace libre du LV :

resize2fs -p /dev/mapper/VGDATA-LV_wordpress

L’espace libéré est maintenant disponible dans le VG.

 

Print Friendly, PDF & Email

Laisser un commentaire

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