19.13. Netzwerk-, speicher- und dateibasierte Dateisysteme
Zurück | Kapitel 19. Speichermedien | Weiter

## 19.13. Netzwerk-, speicher- und dateibasierte Dateisysteme

Verbessert und neu strukturiert von Marc Fonvieille.

Neben Laufwerken, die sich physikalisch im Rechner befinden wie Diskettenlaufwerke, CDs, Festplatten usw., kann FreeBSD auch mit anderen Laufwerken, den virtuellen Laufwerken, umgehen.

Dazu zählen Netzwerkdateisysteme wie Network Filesystem und Coda, speicher- und dateibasierte Dateisysteme.

Abhängig von der verwendeten FreeBSD Version werden speicher- und dateibasierte Dateisysteme mit unterschiedlichen Werkzeugen angelegt.

### Anmerkung:

Gerätedateien werden unter FreeBSD automatisch von devfs(5) angelegt.

### 19.13.1. Dateibasierte Laufwerke unter FreeBSD

Unter FreeBSD werden virtuelle Laufwerke (md(4)) mit mdconfig(8) erzeugt. Dazu muss das Modul md(4) geladen sein oder das entsprechende Gerät in der Kernelkonfiguration aktiviert sein:

device md

Mit mdconfig(8) können drei verschiedene virtuelle Laufwerke angelegt werden: speicherbasierte Laufwerke, deren Speicher von malloc(9) zur Verfügung gestellt wird, oder dateibasierte Laufwerke, deren Speicher von einer Datei oder dem Swap-Bereich zur Verfügung gestellt wird. Eine mögliche Anwendung ist das Einhängen von Dateien, die Abbilder von CD-ROMs oder Disketten enthalten.

Das Abbild eines Dateisystems wird wie folgt eingehangen:

Beispiel 19.3. Einhängen eines existierenden Abbildes unter FreeBSD
`#` `mdconfig -a -t vnode -f `diskimage` -u `0`` `#` `mount /dev/md`0` `/mnt``

Ein neues Dateisystem-Abbild erstellen Sie mit mdconfig(8) wie folgt:

Beispiel 19.4. Erstellen eines dateibasierten Laufwerks mit `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

Wenn Sie keine Gerätenummer mit dem Schalter `-u` angeben, wird von md(4) automatisch eine ungenutzte Gerätenummer zugewiesen. Das zugewiesene Gerät wird auf der Standardausgabe ausgegeben (zum Beispiel `md4`). Weitere Informationen entnehmen Sie bitte der Hilfeseite mdconfig(8).

Das Werkzeug mdconfig(8) ist sehr nützlich, doch muss man viele Kommandos absetzen, um ein dateibasiertes Dateisystem zu erstellen. FreeBSD enthält das Werkzeug mdmfs(8), das die notwendigen Schritte in einem Befehl zusammenfasst. Es konfiguriert mit mdconfig(8) ein md(4)-Laufwerk, erstellt darauf mit newfs(8) ein Dateisystem und hängt es anschließend mit mount(8) ein. Das virtuelle Laufwerk aus dem obigen Beispiel kann somit einfach mit den nachstehenden Befehlen erstellt werden:

Beispiel 19.5. Mit `mdmfs` ein dateibasiertes Dateisystem erstellen
`#` `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

Wenn sie die Option `md` ohne Gerätenummer verwenden, wählt md(4) automatisch ein ungenutztes Gerät aus. Weitere Einzelheiten entnehmen Sie bitte der Hilfeseite mdmfs(8).

### 19.13.2. Speicherbasierte Laufwerke unter FreeBSD

Verwenden Sie ein speicherbasiertes Dateisystem, sollten Sie die Option „swap backing“ aktivieren. Setzen Sie diese Option, heißt dies allerdings nicht, dass das speicherbasierte Laufwerk automatisch auf ihre Festplatte ausgelagert wird, vielmehr wird der Speicherplatz danach aus einem Speicherpool angefordert, der bei Bedarf auf die Platte ausgelagert werden kann. Zusätzlich ist es möglich, malloc(9)-gestützte speicherbasierte Laufwerke zu erstellen. Das Anlegen solcher Laufwerke kann allerdings zu einer System-Panic führen, wenn der Kernel danach über zu wenig Speicher verfügt.

Beispiel 19.6. Erstellen eines speicherbasierten Laufwerks mit `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
Beispiel 19.7. Erstellen eines speicherbasierten Laufwerks mit `mdmfs`
`#` `mdmfs -s `5`m md`2` `/mnt`` `#` `df `/mnt`` `#` `df `/mnt`` Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/md2 4846 2 4458 0% /mnt

### 19.13.3. Virtuelle Laufwerke freigeben

Wenn ein virtuelles Laufwerk nicht mehr gebraucht wird, sollten Sie dem System die belegten Ressourcen zurückgeben. Hängen Sie dazu zuerst das Dateisystem ab und geben Sie dann die benutzten Ressourcen mit mdconfig(8) frei.

Alle von `/dev/md4` belegten Ressourcen werden mit dem nachstehenden Kommando freigegeben:

`#` `mdconfig -d -u `4``

Eingerichtete md(4)-Geräte werden mit dem Befehl `mdconfig -l` angezeigt.

Zurück | Nach oben | Weiter
19.12. Datensicherung | Zum Anfang | 19.14. Schnappschüsse von Dateisystemen

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.