Utiliser les périphériques de loop pour gérer des disques virtuels

La commande losetup permet de gérer les périphériques de loop. En l’associant avec les commandes dd, mkfs et mount il devient trivial de créer un environnement complet de disques virtuels. Cela peut être utile pour mettre en place un système de fichiers chiffré, ou un environnement de test (ex : utiliser des fichiers pour simuler des disques afin de tester le raid logiciel, tester LVM, …).

Création du fichier qui servant à simuler le disque

Création d’un fichier de 10 Mo :

dd if=/dev/zero of=/tmp/vdisk1 bs=1M count=10

Ce qui donne :

ls -sh /tmp/vdisk1
10M /tmp/vdisk1

Création du périphérique de loop

Création du périphérique associé au “disque” précedemment créé :

losetup -f /tmp/vdisk1
# l'option -f permet de recuperer le prochain loop device libre
# ici /dev/loop2, donc c'est l'equivalent de la commande :
# losetup /dev/loop2 /tmp/vdisk1

Pour vérifier la mise en place du périphérique :

losetup -a
# [...]
/dev/loop2: []: (/tmp/vdisk1)

Monter le disque

Créer le système de fichiers (ici ext4), puis le monter :

mkfs -t ext4 /dev/loop2
mkdir /mnt/test
mount /dev/loop2 /mnt/test

Pour vérifier :

mount | grep test
/dev/loop2 on /mnt/test type ext4 (rw,relatime,seclabel,data=ordered)

Le périphérique est maintenant utilisable, il est possible de lire et écrire des données dessus :

df -h /mnt/test
Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/loop2         8,7M    172K  7,9M   3% /mnt/test

Suppression du périphérique de loop

Démonter le périphérique, le détacher des loop devices puis le supprimer :

umount /mnt/test
losetup -d /dev/loop2
rm /tmp/vdisk1
Vous avez aimé ?

Laisser un commentaire

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

quatre × 2 =