Logiciels en ligne de commande

Créer un disque virtuel de taille définie avec dd et le monter sous Linux

Cet article a été mis à jour, vous consultez ici une archive de cet article!
Table des matières

Introduction





Dans cet article, le but est simple. Créer un disque virtuel, et le monter dans un dossier.

Le but est d'offrir un espace de stockage avec une taille maximum limitée.

Cela peut servir pour limiter la taille d'un dossier personnel ou d'un emplacement de stockage de site web.





Création du disque virtuel





Dans un premier temps, je créé un dossier dans lequel je vais stocker mes images virtuelles :



Code BASH :
mkdir /disks




Ensuite, on créé dedans une image, avec dd tout simplement.

Voici un exemple avec un disque dur de 1Go :



Code BASH :
dd if=/dev/zero of=/disks/vdisk1 bs=1M count=1000




Formatage du disque virtuel





Dans un deuxième temps, on va créer un système de fichiers sur ce disque avec la commande mkfs.

Voici un exemple, avec le système de fichiers ext4 :



Code BASH :
mkfs.ext4 /disks/vdisk1




Caché :
Code :
mke2fs 1.42.12 (29-Aug-2014)
Rejet des blocs de périphérique : complété                        
En train de créer un système de fichiers avec 256000 4k blocs et 64000 i-noeuds.
UUID de système de fichiers=f4c83bc0-23ca-4c07-a70a-b11b922ec10a
Superblocs de secours stockés sur les blocs : 
        32768, 98304, 163840, 229376

Allocation des tables de groupe : complété                        
Écriture des tables d'i-noeuds : complété                        
Création du journal (4096 blocs) : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété






Le montage du disque





Il ne reste qu'à monter le disque pour accéder à celui-ci :



Code BASH :
mount -o loop /disks/vdisk1 /home/adrien/vdisk1




On peut vérifier le bon montage avec la commande mount :



Code BASH :
mount | grep vdisk1
 
/disks/vdisk1 on /home/adrien/vdisk1 type ext4 (rw)




Ou bien avec df :



Code BASH :
df /home/adrien/vdisk1
 
Sys. de fichiers blocks de 1K Utilisé Disponible Uti% Monté sur
/dev/loop1             991512    1264     922664   1% /home/adrien/vdisk1






Ne pas oublier d'attribuer les droits à l'utilisateur concerné :D



Code BASH :
chown -R adrien:adrien /home/adrien/vdisk1




On peut rendre permanent le montage directement dans le fichier fstab :



Code BASH :
/disks/vdisk1   /home/adrien/vdisk1     ext4    loop,defaults   0 0






Test du fonctionnement





On peut tester le fonctionnement en remplissant cette partition :



Code BASH :
adrien@calculate ~/vdisk1 $ yes "Du texte pour remplir le disque..." > bigfile.txt
 
yes: sortie standard: Aucun espace disponible sur le périphérique
yes: erreur d écriture
 




On constate que le disque est bien rempli à 100% :



Code BASH :
adrien@calculate ~/vdisk1 $ df .
Sys. de fichiers blocks de 1K Utilisé Disponible Uti% Monté sur
/dev/loop1             991512  923928          0 100% /home/adrien/vdisk1




Mais que la racine n'est pas pleine à 100% pour autant :



Code BASH :
adrien@calculate ~/vdisk1 $ df /
Sys. de fichiers blocks de 1K Utilisé Disponible Uti% Monté sur
/dev/sda1            20053572 4439748   14572096  24% /