18.13. Systèmes de fichiers réseaux, en mémoire et sauvegardés sur fichier
Précédent | Chapitre 18. Stockage des données | Suivant

## 18.13. 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:

Utilisez devfs(5) pour allouer de façon transparente pour l'utilisateur les fichiers spéciaux de périphériques.

### 18.13.1. Système de fichiers sauvegardé dans un fichier

L'utilitaire mdconfig(8) est utilisé pour configurer et activer les disques mémoires, md(4), sous FreeBSD. 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 18.4. Utilisation de `mdconfig` pour monter une image d'un système de fichiers
`#` `mdconfig -a -t vnode -f `diskimage` -u `0`` `#` `mount /dev/md`0` `/mnt``

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

Exemple 18.5. Création d'un nouveau disque sauvegardé sur fichier avec `mdconfig`
`#` `dd if=/dev/zero of=`newimage` bs=1k count=`5`k` 5120+0 records in 5120+0 records out `#` `mdconfig -a -t vnode -f `newimage` -u `0`` `#` `bsdlabel -w md`0` auto` `#` `newfs md`0`a` /dev/md0a: 5.0MB (10224 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.25MB, 80 blks, 192 inodes. super-block backups (for fsck -b #) at: 160, 2720, 5280, 7840 `#` `mount /dev/md`0`a `/mnt`` `#` `df `/mnt`` Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0a 4710 4 4330 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éférez-vous à la page de manuel.

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 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 18.6. Création et montage d'un disque sauvegardé sur fichier avec `mdmfs`
`#` `dd if=/dev/zero of=`newimage` bs=1k count=`5`k` 5120+0 records in 5120+0 records out `#` `mdmfs -F `newimage` -s `5`m md`0` `/mnt`` `#` `df `/mnt`` Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md0 4718 4 4338 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éférez-vous à la page de manuel.

### 18.13.2. Système de fichiers en mémoire

Pour un système de fichiers en mémoire la « sauvegarde sur l'espace de pagination » devrait être normalement utilisée. Utiliser l'espace de pagination ne signifie pas que le disque en mémoire sera par défaut sur l'espace de pagination, mais plutôt que le disque mémoire sera alloué sur une zone de mémoire qui pourra être sauvegardée sur l'espace de pagination si nécessaire. Il est également possible de créer un disque en mémoire dont la mémoire est allouée à l'aide de malloc(9), mais ce type de configuration, tout particulièrement dans le cas de disques de grande taille, peut donner lieu à une panique du système si le noyau se trouve à cours de mémoire.

Exemple 18.7. Création d'un disque mémoire avec `mdconfig`
`#` `mdconfig -a -t swap -s `5`m -u `1`` `#` `newfs -U md`1`` /dev/md1: 5.0MB (10240 sectors) block size 16384, fragment size 2048 using 4 cylinder groups of 1.27MB, 81 blks, 192 inodes. with soft updates super-block backups (for fsck -b #) at: 160, 2752, 5344, 7936 `#` `mount /dev/md`1` `/mnt`` `#` `df `/mnt`` Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md1 4718 4 4338 0% /mnt
Exemple 18.8. Création d'un disque mémoire avec `mdmfs`
`#` `mdmfs -s `5`m md`2` `/mnt`` `#` `df `/mnt`` Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt

### 18.13.3. 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`.

Précédent | Niveau supérieur | Suivant
18.12. Sauvegardes | Sommaire | 18.14. Instantané (“Snapshot”) d'un système de fichiers

Ce document, ainsi que d'autres peut être téléchargé sur ftp://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>.