Voir deux disques durs comme un seul avec LVM
Il n'est pas rare de nos jours de disposer de plusieurs disques durs sur le même ordinateur. Même certains portables ont cette capacité. C'est le cas de mon ordinateur, qui dispose d'un disque dur de 250Go et d'un disque dur de 128Go, les deux en SSD.
Si vous avez déjà installé Ubuntu ou l'un de ses dérivé, vous lui avez peut-être laissé la charge de créer les partitions, en utilisant le partitionnement LVM :
Notez que si vous avez demandé le chiffrement du disque, le LVM est automatiquement coché.
Sans rentrer dans les détails, le partitionnement LVM a plusieurs avantages. Ceux qui nous intéressent dans cet article sont :
-
nous pouvons étendre un volume LVM sur plusieurs disques.
-
Nous pouvons le faire à chaud, sans démonter le système de fichier ou les partitions sur lesquels nous travaillons !
Si vous voulez plus d'informations sur LVM, lisez cet article wikipedia :
https://fr.wikipedia.org/wiki/Gestion_par_volumes_logiques
Je partirai ici du principe que l'installation est déjà faite, sur le premier disque dur (nommé généralement sda), avec un système de fichier basé sur LVM (chiffré ou non, peu importe). Le second disque dur (sdb) est vierge ou contient des données, peu importe, nous allons le formater.
A ce sujet : n'oubliez pas de faire des sauvegardes. Même si je n'ai jamais rencontré le moindre problème avec cette opération, rien n'est impossible en informatique, surtout les pannes ou les bugs ! Donc, assurez-vous d'avoir bien sauvegardé vos données avant de continuer.
L'opération n'est pas longue mais elle est un peu « rugueuse », car entièrement en ligne de commandes. Elle reste cependant simple à réaliser.
Lancez un terminal, puis connectez-vous en root, soit en tapant « su » si vous connaissez le mot de passe de l'utilisateur root, soit en tapant « sudo su » puis votre mot de passe sinon.
La première chose à faire, est de faire un état des lieux rapide de ce qui est en place. Pour cela, la commande suivante fait le boulot (ce qu'il faut taper est en bleu, ce qui est important en jaune) :
root@U2442:/home/emmanuel# pvdisplay
--- Physical volume ---
PV Name /dev/mapper/sda5_crypt
VG Name ubuntu-vg
PV Size 232,64 GiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 59556
Free PE 0
Allocated PE 59556
PV UUID ICjVBp-UOUC-t5H3-mlG9-1Eg3-vwSz-d3Rdd7
root@U2442:/home/emmanuel#
Les points à retenir sont :
-
Le nom du système LVM nous sera utile pour la suite : ubuntu-vg
-
Le disque fait 232Go environ.
-
Le reste n'est pas utile ici.
Nous allons préparer le deuxième disque dur, qui viendra s'ajouter à celui dont nous venons de faire connaissance (en jaune sont surlignées les informations importantes, en bleu ce que vous devez taper) :
root@U2442:/home/emmanuel# fdisk /dev/sdb
Commande (m pour l'aide) : p
Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 têtes, 63 secteurs/piste, 15566 cylindres, total 250069680 secteurs
Unités = secteurs de 1 * 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Identifiant de disque : 0x000dee0b
Périphérique Amorçage Début Fin Blocs Id. Système
Commande (m pour l'aide) : n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
Numéro de partition (1-4, 1 par défaut) :
Utilisation de la valeur 1 par défaut
Premier secteur (2048-250069679, 2048 par défaut) :
Utilisation de la valeur 2048 par défaut
Dernier secteur, +secteurs ou +taille{K,M,G} (2048-250069679, 250069679 par défaut) :
Utilisation de la valeur 250069679 par défaut
Commande (m pour l'aide) : t
Partition sélectionnée 1
Code Hexa (taper L pour lister les codes): 8e
Type système de partition modifié de 1 à 8e (LVM Linux)
Commande (m pour l'aide) : wq
La table de partitions a été altérée.
Appel d'ioctl() pour relire la table de partitions.
Synchronisation des disques.
root@U2442:/home/emmanuel#
Nous allons maintenant ajouter au groupe « ubuntu-vg » le deuxième disque :
root@U2442:/home/emmanuel# vgextend ubuntu-vg /dev/sdb1
No physical volume label read from /dev/sdb1
Physical volume "/dev/sdb1" successfully created
Volume group "ubuntu-vg" successfully extended
root@U2442:/home/emmanuel#
Voyons le résultat :
root@U2442:/home/emmanuel# pvdisplay
--- Physical volume ---
PV Name /dev/mapper/sda5_crypt
VG Name ubuntu-vg
PV Size 232,64 GiB / not usable 4,00 MiB
Allocatable yes (but full)
PE Size 4,00 MiB
Total PE 59556
Free PE 0
Allocated PE 59556
PV UUID ICjVBp-UOUC-t5H3-mlG9-1Eg3-vwSz-d3Rdd7
--- Physical volume ---
PV Name /dev/sdb1
VG Name ubuntu-vg
PV Size 119,24 GiB / not usable 3,34 MiB
Allocatable yes
PE Size 4,00 MiB
Total PE 30525
Free PE 30525
Allocated PE 0
PV UUID k5EDJ7-oAU4-HFuh-IQby-BwIL-LbWw-5nqxFP
root@U2442:/home/emmanuel#
Cette fois, nous voyons bien les deux disques, qui font tous les deux partie du groupe « ubuntu-vg ».
Nous devons maintenant étendre le volume logique sur le deuxième disque :
root@U2442:/home/emmanuel# lvextend -L+119G /dev/ubuntu-vg/root
Extending logical volume root to 343,74 GiB
Logical volume root successfully resized
root@U2442:/home/emmanuel#
Nous voyons ici que le volume logique a maintenant une taille de 343,74Go, ce qui correspond à nos 232,64Go du premier disque plus les 119Go du second. Nous avons presque terminé.
Si le volume logique fait bien 343Go, Linux ne voit pas encore cet espace donc ne peut pas l'utiliser. Il faut l'avertir que la taille du système de fichier a changé :
root@U2442:/home/emmanuel# resize2fs /dev/ubuntu-vg/root
resize2fs 1.42.9 (4-Feb-2014)
Le système de fichiers de /dev/ubuntu-vg/root est monté sur / ; le changement de taille doit être effectué en ligne
old_desc_blocks = 15, new_desc_blocks = 22
Le système de fichiers /dev/ubuntu-vg/root a maintenant une taille de 90109952 blocs.
Nous pouvons contrôler la taille du système de fichiers vu par Linux :
root@U2442:/home/emmanuel# df -h
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/mint--vg-root 343G 71G 252G 22% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 3,9G 4,0K 3,9G 1% /dev
tmpfs 788M 1,4M 787M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 3,9G 832K 3,9G 1% /run/shm
none 100M 20K 100M 1% /run/user
/dev/sda1 236M 46M 179M 21% /boot
root@U2442:/home/emmanuel#
Les 343Go sont bien là.
Par mesure de précaution, il est sage de redémarrer pour bien asseoir les modifications et s'assurer que tout va bien.
Deux ou trois petites choses encore :
-
l'opération est la même que LVM soit chiffré ou non.
-
Il est possible de reproduire l'opération sur d'autres disques.
-
Il est préférable d'utiliser des disques durs basés sur les mêmes technologies. Si vous disposez d'un disque SSD pour votre système et d'un disque dur traditionnel en plus, rien ne vous garantira que vos fichiers seront sur un disque ou sur l'autre. Les accès pourront donc être très rapides ou plus lents. Si vous disposez de deux disques SSD ou de deux disques traditionnels, alors foncez, vous ne verrez pas de différence de vitesse.
-
Ne confondez pas LVM et RAID. Le premier n'apporte aucune mesure de sécurité, contrairement à certains RAID. N'oubliez donc pas de sauvegarder régulièrement vos données.