====== Gestion des disques et des partitions avec LVM ======
* Prenons le cas d'un ajout de disque à une machine virtuelle
===== Découverte des disques =====
* Lorsque l'on ajoute un disque à une machine Linux, il n'est pas nécessaire de rebooter pour le voir
ll /dev/sdb
* S'il n'est pas apparu, il faut déclencher un scan
# ll /sys/class/scsi_host/
total 0
lrwxrwxrwx 1 root root 0 14 juin 16:20 host0 -> ../../devices/pci0000:00/0000:00:10.0/host0/scsi_host/host0
lrwxrwxrwx 1 root root 0 14 juin 16:20 host1 -> ../../devices/pci0000:00/0000:00:07.1/host1/scsi_host/host1
lrwxrwxrwx 1 root root 0 14 juin 16:20 host2 -> ../../devices/pci0000:00/0000:00:07.1/host2/scsi_host/host2
#Pour chaque répertoire "host" :
echo "- - -" >/sys/class/scsi_host/host0/scan
echo "- - -" >/sys/class/scsi_host/host1/scan
echo "- - -" >/sys/class/scsi_host/host2/scan
* Vérification
fdisk -l
===== Utilisation des volumes logiques =====
==== Mise en place ====
=== 1.Création du volume physique ====
* Il faut d'abord initialiser un disque physique pour utiliser les partitions logiques
- Préparer la partition avec fdisk#On va créer une partition primaire (type LVM) sur l'ensemble du disque /dev/sdb
fdisk /dev/sdb
n --> créer nouvelle partition
p --> partition primaire
1 --> numéro de partition
entrer --> 1er secteur
entrer --> dernier secteur
t --> type de partition --> 8e LVM
w --> ecrire
- Créer le volume physique
pvcreate /dev/sdb1
* Pour voir le résultat :pvdisplay
--- Physical volume ---
"/dev/sdb1" is a new physical volume of "25.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 25.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID Jzj5NJ-z0pL-k1b9-gZSq-Qqw5-Y9QJ-QG1Ua2
=== 2.Création d'un groupe ====
* Il faut ensuite créer un groupe et associer le volume physique précédemment créé. vgcreate nomDeVolumeGroup /dev/sdb1
* nomDeVolumeGroup --> est le nom du groupe
* Pour voir le résultat : vgdisplay
--- Volume group --- VG Name nomDeVolumeGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size 24.97 GiB
PE Size 32.00 MiB
Total PE 799
Alloc PE / Size 0 / 0
Free PE / Size 799 / 24.97 GiB
VG UUID yk0ubQ-yi9V-iniz-ilIc-uwcq-Etyq-WIMJCu
=== 3.Création d'une partition logique ===
* Il faut ensuite créer une partition et la formater :
lvcreate -L 10G -n nomDePartition nomDeVolumeGroup --> en precisant la taille
ou
lvcreate -l 100%FREE -n nomDePartition nomDeVolumeGroup --> en prenant toute la place disponible
mkfs.xfs /dev/nomDeVolumeGroup/nomDePartition
* Pour voir le résultat : lvdisplay
--- Logical volume ---
LV Path /dev/nomDeVolumeGroup/nomDePartition
LV Name nomDePartition
VG Name nomDeVolumeGroup
LV UUID 6AR39c-dDUK-EPpo-ifF0-cAnV-wWMQ-0QfWpQ
LV Write Access read/write
LV Creation host, time xxx, 2016-04-07 17:43:59 +0200
LV Status available
# open 0
LV Size 10.00 GiB
Current LE 320
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
=== 4.Montage d'une partition ===
* #Ajouter à /etc/fstab/
/dev/mapper/nomDeVolumeGroup-nomDePartition /pointDeMontage/ xfs defaults 0 0
# Créer le répertoire :
mkdir /pointDeMontage/
#Recharger la table de partition :
mount -a
==== Accroitre la capacité ====
=== Augmenter la capacité du volume group ===
* pvcreate
* vgextend
=== Augmenter la taille de la partition ===
* Vérification des valeurs (nomDeVolumeGroup - nomDePartition) avant l'opération, elle est de 10Go
lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
nomDePartition1 vg0 -wi-ao 5.00G
nomDePartition2 vg0 -wi-ao 512.00M
nomDePartition nomDeVolumeGroup -wi-ao 10.00G
* Augmentation de la taille
* __cas 1__ : augmentation donnée (exemple : 30G)
lvextend -L30G /dev/nomDeVolumeGroup/nomDePartition
Extending logical volume nomDePartition to 30.00 GB
Logical volume nomDePartition successfully resized
* __cas 2__ : augmentation avec tout le disponible
* Pour **xfs**
xfs_growfs /dev/mapper/nomDeVolumeGroup-nomDePartition
* Pour **ext4**
lvextend -l +100%FREE /dev/nomDeVolumeGroup/nomDePartition
...
* Vérification du résultat
lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
nomDePartition vg0 -wi-ao 5.00G
lvol1 vg0 -wi-ao 512.00M
nomDePartition nomDeVolumeGroup -wi-ao 30.00G
===== Autre =====
* Renommer un volume logique lvrename /dev/nomDeVolumeGroup/nomDePartition /dev/nomDeVolumeGroup/nouveauNomDePartition