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

Introduction



Dans cet article, nous verrons comment créer un disque virtuel avec dd, 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% /
 


:magic:
Cette page a été vue 8242 fois