Main menu:

Site search

Categories

janvier 2009
L M M J V S D
 1234
567891011
12131415161718
19202122232425
262728293031  

Archive

Grouper des systèmes de fichiers

Lorsqu’une partition arrive à saturation, lorsque la place manque, il n’y a bien souvent pas d’autre solution que d’acheter un nouveau disque, de le partitionner à nouveau mais en créant des partitions plus grandes et de tout réinstaller sur le nouveau disque.
Ceci ne peut être évité sauf si vous utilisez LVM (Logical Volume Manager) qui est un système de gestion des disques issus de HP-UX et dont la taille des ‘Volumes’ peut-être modifiée dynamiquement. Mais comme vous avez partitionné vos disques de façon très classique, ce n’est pas une option pour vous. Dans ce cas, vous serez peut-être intéressé par ce petit utilitaire basé sur FUSE (Filesystem in User space) et qui permet de regrouper des points de montage pour n’en faire plus qu’un: mhddfs.

Dans l’exemple ci-dessous, je vais grouper le répertoire /home qui fait 70Gb avec une partition de 16Gb qui se trouve sur un autre disque de façon a en augmenter la taille. Le résultat sera disponible dans un point de montage appelé new_home et qui aura comme taille 86 Gb.

Installons d’abord mhddfs:

$ sudo aptitude install mhddfs

Voici ce que donne la commande df qui donne des renseignements sur la place occupée et disponible des différents filesystems.

$ df
Sys. de fich.           1K-blocs       Occupé Disponible Capacité Monté sur
/dev/sdb1              9921508   4214864   5206624  45% /
/dev/sdb3             69355444  56178864   9681240  86% /home
/dev/sdc1             15659200        32  15659168   1% /media/disk

Nous allons grouper /dev/sdb3 et /dev/sdc1:

$ sudo mkdir /mnt/new_home

$ sudo mhddfs /home,/media/disk /mnt/combi -o allow_other
mhddfs: directory '/home' added to list
mhddfs: directory '/media/disk' added to list
mhddfs: mount to: /mnt/new_home
mhddfs: move size limit 4294967296 bytes

L’option -o allow_other permet que ce filesystem soit accessible à tous les utilisateurs.
Maintenant voyons avec df les modifications qui ont été apportées à nos filesystems:

$ sudo df
Sys. de fich.           1K-blocs       Occupé Disponible Capacité Monté sur
/dev/sdb1              9921508   4214872   5206616  45% /
/dev/sdb3             69355444  56178864   9681240  86% /home
/dev/sdc1             15659200        32  15659168   1% /media/disk
/home;/media/disk     85014644  56178896  25340408  69% /mnt/new_home

Un système de fichiers supplémentaire a été créé et est monté en /mnt/new_home.
Chaque fois que vous écrirez dans /mnt/new_home, mhddfs regardera si /home contient assez de place pour stocker le fichier. Si c’est le cas, le fichier sera écrit à cet endroit. Si ce n’est pas le cas, il sera écrit dans /media/disk. C’est tout à fait transparent pour l’utilisateur et d’une simplicité extrème.
Pour démonter ce filesystem et comme pour tous les filesystems basés sur FUSE, on utilisera fusermount:

$ sudo fusermount -u /mnt/new_home

Si maintenant, vous voulez rendre le montage de ce nouveau système de fichiers automatique au démarrage d’Ubuntu, il suffit d’ajouter une ligne dans votre fichier /etc/fstab:

$ sudo gedit /etc/fstab

Ajoutez la ligne suivante:

/home,/media/disk /mnt/new_home fuse defaults,allow_other 0 0

Voilà un petit utilitaire très simple à utiliser et capable de rendre de grands services.
N’oubliez pas de consulter la page de manuel de mhddfs.