16.12. Systèmes de fichiers réseaux, en mémoire et sauvegardés sur fichier

Réorganisée et augmentée par Marc Fonvieille.

En plus des disques que vous introduisez physiquement dans votre ordinateur: disquettes, CD, disques durs, et ainsi de suite; d'autres formes de disques sont gérées par FreeBSD -- les disques virtuels.

Ceux-ci comprennent les systèmes de fichiers réseaux comme le NFS et Coda, les systèmes de fichiers en mémoire et les systèmes de fichiers sauvegardé dans un fichier.

En fonction de la version de FreeBSD que vous utilisez, vous devrez utiliser des outils différents pour la création et l'utilisation de systèmes de fichiers en mémoire ou sauvegardé dans un fichier.

Note : Les utilisateurs de FreeBSD 4.X devront utiliser MAKEDEV(8) pour créer les fichiers spéciaux de périphériques requis. FreeBSD 5.0 et versions suivantes utilisent devfs(5) pour allouer de façon transparente pour l'utilisateur les fichiers spéciaux de périphériques.

16.12.1. Système de fichiers sauvegardés dans un fichier sous FreeBSD 4.X

L'utilitaire vnconfig(8) configure et active les pseudo-disques vnode. Un vnode est une représentation d'un fichier, et est le centre de l'activité du fichier. Cela signifie que vnconfig(8) utilise des fichiers pour créer et faire fonctionner un système de fichiers. Une des utilisations possibles est de monter l'image d'une disquette ou d'un CD conservée sous la forme d'un fichier.

Pour utiliser vnconfig(8), vous avez besoin du support vn(4) dans votre fichier de configuration du noyau:

pseudo-device vn

Pour monter l'image d'un système de fichiers:

Exemple 16-4. Utilisation de vnconfig pour monter une image de systèmes de fichiers sous FreeBSD 4.X

# vnconfig vn0 diskimage
# mount /dev/vn0c /mnt

Pour créer l'image d'un nouveau système de fichiers avec vnconfig(8):

Exemple 16-5. Création d'un nouveau disque sauvegardé sur fichier avec vnconfig

# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
# vnconfig -s labels -c vn0 newimage
# disklabel -r -w vn0 auto
# newfs vn0c
Warning: 2048 sector(s) in last cylinder unallocated
/dev/vn0c:     10240 sectors in 3 cylinders of 1 tracks, 4096 sectors
        5.0MB in 1 cyl groups (16 c/g, 32.00MB/g, 1280 i/g)
super-block backups (for fsck -b #) at:
 32
# mount /dev/vn0c /mnt
# df /mnt
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/vn0c        4927        1     4532     0%    /mnt

16.12.2. Système de fichiers sauvegardé dans un fichier sous FreeBSD 5.X

L'utilitaire mdconfig(8) est utilisé pour configurer et activer les disques mémoires, md(4), sous FreeBSD 5.X. Pour utiliser mdconfig(8), vous devez charger le module md(4) ou en ajouter le support dans votre fichier de configuration du noyau:

device md

La commande mdconfig(8) supporte trois sortes de disques virtuels en mémoire: les disques mémoire alloués avec malloc(9), les disques mémoires utilisant un fichier ou l'espace de pagination comme espace disque. Une des utilisations possibles est le montage d'images de disquettes ou de CDs conservées sous forme de fichier.

Pour monter l'image d'un système de fichiers:

Exemple 16-6. Utilisation de mdconfig pour monter une image d'un système de fichiers sous FreeBSD 5.X

# mdconfig -a -t vnode -f diskimage -u 0
# mount /dev/md0 /mnt

Pour créer l'image d'un nouveau système de fichiers avec mdconfig(8):

Exemple 16-7. Création d'un nouveau disque sauvegardé sur fichier avec mdconfig

# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
# mdconfig -a -t vnode -f newimage -u 0
# disklabel -r -w md0 auto
# newfs md0c
/dev/md0c: 5.0MB (10240 sectors) block size 16384, fragment size 2048
    using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
super-block backups (for fsck -b #) at:
 32, 2624, 5216, 7808
# mount /dev/md0c /mnt
# df /mnt
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/md0c        4846        2     4458     0%    /mnt

Si vous ne préciser pas de numéro d'unité avec l'option -u, mdconfig(8) utilisera le mécanisme d'allocation automatique de md(4) pour sélectionner un périphérique libre. Le nom de l'unité allouée s'affichera sur la sortie standard comme par exemple md4. Pour plus de détails concernant mdconfig(8), réferrez-vous à la page de manuel.

Note : Depuis la version FreeBSD 5.1-RELEASE, l'utilitaire bsdlabel(8) remplace l'ancien programme disklabel(8). Avec bsdlabel(8) de nombreuses options et paramètres obsolètes ont été retirés; dans l'exemple ci-dessus, l'option -r doit être enlevée. Pour plus d'information, consultez la page de manuel bsdlabel(8).

L'outil mdconfig(8) est très utile, cependant son utilisation demande de nombreuses lignes de commandes pour créer un système de fichiers sauvegardé sur fichier. FreeBSD 5.0 vient avec un outil appelé mdmfs(8), ce programme configure un disque md(4) en utilisant mdconfig(8), y ajoute dessus un système de fichiers UFS en utilisant newfs(8), et le monte avec mount(8). Par exemple, si vous désirez créer et monter la même image de système de fichiers que précédemment, tapez simplement ce qui suit:

Exemple 16-8. Création et montage d'un disque sauvegardé sur fichier avec mdmfs

# dd if=/dev/zero of=newimage bs=1k count=5k
5120+0 records in
5120+0 records out
# mdmfs -F newimage -s 5m md0 /mnt
# df /mnt
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md0        4846    2  4458     0%    /mnt

Si vous utilisez l'option md sans numéro d'unité, mdmfs(8) utilisera la fonction automatique de sélection d'unité de md(4) pour choisir un périphérique non utilisé. Pour plus de détails au sujet de mdmfs(8), réferrez-vous à la page de manuel.

16.12.3. Système de fichiers en mémoire sous FreeBSD 4.X

Le pilote de périphérique md(4) est un moyen simple et efficace pour créer des systèmes de fichiers en mémoire sous FreeBSD 4.X. malloc(9) est utilisé pour allouer la mémoire.

Prenez simplement un système de fichiers que vous avez préparé avec, par exemple, vnconfig(8), et:

Exemple 16-9. Disque mémoire md sous FreeBSD 4.X

# dd if=newimage of=/dev/md0
5120+0 records in
5120+0 records out
# mount /dev/md0c /mnt
# df /mnt
Filesystem  1K-blocks     Used    Avail Capacity  Mounted on
/dev/md0c        4927        1     4532     0%    /mnt

Pour plus de détails, veuillez vous réferrer à la page de manuel md(4).

16.12.4. Système de fichiers en mémoire sous FreeBSD 5.X

Les mêmes outils sont utilisés pour les systèmes de fichiers en mémoire ou sauvegardé sur fichiers: mdconfig(8) or mdmfs(8). L'espace disque utilisé par le système de fichiers mémoire est alloué avec malloc(9).

Exemple 16-10. Création d'un disque mémoire avec mdconfig

# mdconfig -a -t malloc -s 5m -u 1
# newfs -U md1
/dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048
    using 4 cylinder groups of 1.27MB, 81 blks, 256 inodes.
    with soft updates
super-block backups (for fsck -b #) at:
 32, 2624, 5216, 7808
# mount /dev/md1 /mnt
# df /mnt
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md1        4846    2  4458     0%    /mnt

Exemple 16-11. Création d'un disque mémoire avec mdmfs

# mdmfs -M -s 5m md2 /mnt
# df /mnt
Filesystem 1K-blocks Used Avail Capacity  Mounted on
/dev/md2        4846    2  4458     0%    /mnt

Au lieu d'utiliser une système de fichiers dont l'espace disque repose sur malloc(9), il est possible d'utiliser de l'espace de pagination, pour cela remplacez juste malloc avec swap dans la ligne de commande de mdconfig(8). L'utilitaire mdmfs(8) par défaut (sans -M) créé un disque basé sur l'espace de pagination. Pour plus de détail, réferrez-vous aux pages de manuel mdconfig(8) et mdmfs(8).

16.12.5. Détacher un disque mémoire du système

Quand un système de fichiers en mémoire ou sauvegardé dans un fichier n'est pas utilisé, vous devriez rendre au système toutes les ressources. La première chose à faire est de démonter le système de fichiers, ensuite utiliser mdconfig(8) pour détacher le disque du système et rendre les ressources.

Par exemple pour détacher et libérer toutes les ressources utilisées par /dev/md4:

# mdconfig -d -u 4

Il est possible d'afficher des informations sur les périphériques md(4) configurés en utilisant la commande mdconfig -l.

Sous FreeBSD 4.X, vnconfig(8) est utilisé pour détacher le périphérique. Par exemple pour détacher et libérer toutes les ressources utilisées par /dev/vn4:

# vnconfig -u vn4

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 18:01:13