LVM signifie Logical Volume Manager. Cela permet, entre bien autres choses, d'avoir un seul système de fichier dans plusieurs disques durs. Des tutoriaux sont disponibles en bas de page. Ici, on va simuler une réinstallation du système et voir comment LVM récupère sa configuration. En effet, on peut se demander si ce niveau de complication ne va pas partir en vacances lors d'un problème ou d'une réinstallation du système d'exploitation.
LVM est vraiment solide : il sauvegarde sa configuration dès que possible, a l'air de pouvoir se débrouiller même lorsqu'on a effacé /etc/lvm. En fait, ce répertoire est même restitué après avoir successivement supprimé le répertoire et purgé lvm2 !
Un redémarrage a néamoins raison de LVM. Le détachement des périphériques de boucle doit probablement suffir mais n'a pas été testé ici.
En définitive, LVM retrouve sa configuration dès lors que les disques durs sont connectés, même lorsque les périphériques ont été inversés.
Normalement LVM utilise des partitions physiques pour fonctionner. Afin d'éviter d'avoir à sacrifier un disque dur, on va créer de toutes pièces ces partitions à partir de fichiers.
Les résultats de commande sont affichés comme ça
sudo -s
Installation du paquet lvm2, si ce n'est déjà faitaptitude install lvm2
Accès au répertoire de root et création du répertoire de test
cd /root
mkdir test
cd test
dd if=/dev/zero of=part_a bs=1M count=10
dd if=/dev/zero of=part_b bs=1M count=10
losetup /dev/loop0 part_a
losetup /dev/loop1 part_b
pvcreate /dev/loop0
pvcreate /dev/loop1
vgcreate vg_test /dev/loop0 /dev/loop1
Vérification de l'état général de LVMpvscan Total: 2 [19,62 MB] / in use: 0 [0 ] / in no VG: 2 [19,62 MB]
Notez le "in no VG: 2" : les PV n'ont pas encore été affectés.
lvcreate -L 16M -n lv_test vg_test
pvscan Total: 2 [16,00 MB] / in use: 2 [16,00 MB] / in no VG: 0 [0 ]
lvscan ACTIVE '/dev/vg_test/lv_test' [16,00 MB] inherit
mke2fs /dev/vg_test/lv_test
mkdir monte
mount /dev/vg_test/lv_test monte
cd monte
ls lost+found
echo "test" > test
Création d'un fichier aléatoire avec calcul de somme de contrôle pour vérification
dd if=/dev/urandom of=gros_fichier bs=1M count=5
md5sum gros_fichier >../md5
cd ..
umount monte
aptitude --purge remove lvm2il fait un backup et recrée même le répertoire
mv /etc/lvm /etc/lvm-orig
REBOOT
Il est possible qu'il retrouve sa config en scannant les disques durs dispo ! En effet une réinstallation sans redémarrer lui permet de retrouver sa configuration.
aptitude install lvm2
pvscan No matching physical volumes found
vgscan No volume groups found
lvscan No volume groups found
losetup /dev/loop1 part_a
losetup /dev/loop0 part_b
pvscan il retrouve les volumes
vgscan il retrouve vg_test
lvscan il le trouve mais dans l'état inactif
lvchange -a y vg_test lvscan ACTIVE ...
On poursuit les tests jusqu'au bout.
mount /dev/vg_test/lv_test monte
cat monte/test test
md5sum monte/gros_fichier c'est le bon !
lvremove /dev/vg_test/lv_test il demande confirmation
vgremove /dev/vg_test
losetup -d /dev/loop0
losetup -d /dev/loop1
pvscan No matching physical volumes found
vgscan No volume groups found
lvscan No volume groups found