TUTOS.EU

Déclarer un disque supplémentaire sous Linux avec LVM

Pour l'exemple, on a une machine Linux qui fonctionne sur Virtualbox et on lui ajoute un disque

Les disques sont visibles avec la commande fdisk. Pour plus de visibilité on peut appliquer un filtre. Exemple :

fdisk -l | grep -i ^Dis
Lien vers le fichier : cliquez ici Copier le code

Les disques sont répertoriés sous /dev

dev veut dire device.

Dans l'exemple ci-dessous, les /dev/mapper ne comptent pas, c est utilisé par LVM (voir https://access.redhat.com/documentation/fr-fr/red_hat_enterprise_linux/5/html/logical_volume_manager_administration/device_mapper)

Ici le seul vrai disque est /dev/sda
les autres, en /dev/mapper/centos-root etc, utilisent /dev/sda, à la façon d'une partition.

Par exemple après ajout d'un disque de 10go, on verrait une nouvelle ligne avec un disque monté sur /dev/sdb

La commande lsblk permet également de voir les disques.
Pour notre cas il sera de 3gb et aura le nom sdb

lsblk -a
Lien vers le fichier : cliquez ici Copier le code

Si vous venez d'augmenter la taille d'un disque existant, vous pouvez faire un éventuel scan scsi des disques attachés pour prendre en compte le changement

scsi-rescan --forcerescan
Lien vers le fichier : cliquez ici Copier le code

Sur Ubuntu la commande est

for host in /sys/class/scsi_host/*; do echo "- - -" | sudo tee $host/scan; ls /dev/sd* ; done
Lien vers le fichier : cliquez ici Copier le code

Il va falloir le déclarer dans lvm. Actuellement il n'est pas affiché par la commande pvs

pvs
Lien vers le fichier : cliquez ici Copier le code

Le seul qui est vu actuellement fait 9gb

On va formater le nouveau disque avec fdisk

fdisk -u /dev/sdb
Lien vers le fichier : cliquez ici Copier le code

L'aide de fdisk s'affiche avec la touche m
On va utiliser les instructions n, t et w

La partition se crée avec la commande puis

p pour faire une partition primaire

1 pour dire que c'est la première paritition

Entrée pour faire un premier secteur de 2048, ce qui est la valeur par défaut

Entrée pour faire un dernier secteur avec la valeur par défaut

 

 

On va maintenant changer le type de la partition pour LVM.

Pour cela on appuie sur t et on indique 8e

On enregistre la configuration avec w

Il peut être nécessaire d'informer le noyau de la modification de la table de partitions via la commande partprobe

partprobe
Lien vers le fichier : cliquez ici Copier le code

On vient de créer une partition sur le disque sdb
On peut trouver son nom avec la commande

fdisk -l | grep sdb
Lien vers le fichier : cliquez ici Copier le code

Elle se nomme ici sdb1

On va en faire un volume physique pour lvm avec

pvcreate /dev/sdb1
Lien vers le fichier : cliquez ici Copier le code

La commande pvs l'affiche maintenant

Avec ce volume physique lvm /dev/sdb1, on va créer un volume group qu'on va nommer monvg01

vgcreate monvg01 /dev/sdb1
Lien vers le fichier : cliquez ici Copier le code

La commande vgdisplay ou vgs permet de l'affiche avec son nom monvg01

On fait maintenant un logicial volume avec ce volume groupe monvg01.
On nomme ici le logicial volume monlv01

lvcreate -l 100%FREE -n lv-monlv01 monvg01
Lien vers le fichier : cliquez ici Copier le code

La commande lvdisplay l'affiche.
On voit que son chemin d'accès est /dev/monvg01/lv-monlv01

On en fait un système de fichier xfs avec cette commande.
Si le volume logique fait une grande taille, cela peut prendre un peu de temps et le message "Discarding blocks..." s'affichera.

mkfs.xfs /dev/monvg01/lv-monlv01
Lien vers le fichier : cliquez ici Copier le code

Le volume logique lv-monlv01 est maintenant visible sous /dev/mapper

On le voit avec

ls -l /dev/mapper
Lien vers le fichier : cliquez ici Copier le code

On note que le nom donné pour lv-monlv01 est monvg01-lv--monlv01
On va créer un répertoire monlv01 à la racine de linux puis on va y monter le logical volume lv-monlv01

mkdir /monlv01
mount /dev/mapper/monvg01-lv--monlv01 /monlv01
Lien vers le fichier : cliquez ici Copier le code

On peut maintenant y accéder et créer un répertoire bidon avec

cd /monlv01
mkdir monrepertoiretoto
ls -l /monlv01
Lien vers le fichier : cliquez ici Copier le code

On aurait également pu créer un fichier avec

touch unfichier
Lien vers le fichier : cliquez ici Copier le code

Pour rendre le point de montage définitif il faut le mettre dans fstab

Pour cela taper

nano /etc/fstab
Lien vers le fichier : cliquez ici Copier le code

Il faut s'inspirer des autres lignes. Dans notre cas, ajouter

/dev/mapper/monvg01-lv--monlv01 /monlv01 xfs defaults 0 1
Lien vers le fichier : cliquez ici Copier le code

Enregistrer et quitter fstab.

On va tester que sa configuration est bonne en démontant /monlv01
puis en appelant mount -a

cd /
umount /monlv01
mount -a
cd /monlv01
ls -l
Lien vers le fichier : cliquez ici Copier le code

Si vous n'avez pas eu de message d'erreur c'est que votre fichier fstab est correct.
Dans le cas contraire, corrigez le ou au pire supprimez la ligner que vous avez ajouté. Il faut éviter un problème de fstab au boot.

Ici on voit bien ce que l'on avait créé dans /monlv01


2