Das FreeBSD-Handbuch
Zurück | Kapitel 4. Grundlagen des UNIX Betriebssystems | Weiter

# 4.5. Festplatten, Slices und Partitionen

FreeBSD identifiziert Dateien anhand eines Dateinamens. In Dateinamen wird zwischen Groß- und Kleinschreibung unterschieden: `readme.txt` und `README.TXT` bezeichnen daher zwei verschiedene Dateien. FreeBSD benutzt keine Dateiendungen wie `.txt`, um den Typ der Datei (ein Programm, ein Dokument oder andere Daten) zu bestimmen.

Dateien werden in Verzeichnissen gespeichert. In einem Verzeichnis können sich keine oder hunderte Dateien befinden. Ein Verzeichnis kann auch andere Verzeichnisse enthalten und so eine Hierarchie von Verzeichnissen aufbauen, die Ihnen die Ablage von Daten erleichtert.

In Dateinamen werden Verzeichnisse durch einen Schrägstrich (`/`, Slash) getrennt. Wenn das Verzeichnis `foo` ein Verzeichnis `bar` enthält, in dem sich die Datei `readme.txt` befindet, lautet der vollständige Name der Datei (oder der Pfad zur Datei) `foo/bar/readme.txt`.

Verzeichnisse und Dateien werden in einem Dateisystem gespeichert. Jedes Dateisystem besitzt ein Wurzelverzeichnis (Root-Directory), das weitere Verzeichnisse enthalten kann.

Dieses Konzept kennen Sie vielleicht von anderen Betriebssystemen, aber es gibt einige Unterschiede: In MS-DOS® werden Datei- und Verzeichnisnamen mit dem Zeichen `\` getrennt, Mac OS® benutzt dazu das Zeichen `:`.

FreeBSD kennt keine Laufwerksbuchstaben und in Pfaden werden keine Bezeichnungen für Laufwerke benutzt. Die Pfadangabe `c:/foo/bar/readme.txt` gibt es in FreeBSD nicht.

Stattdessen wird ein Dateisystem als Wurzeldateisystem (root file system) ausgewählt. Das Wurzelverzeichnis dieses Dateisystems wird `/` genannt. Jedes andere Dateisystem wird unter dem Wurzeldateisystem eingehangen (mount). Daher scheint jedes Verzeichnis, unabhängig von der Anzahl der Platten, auf derselben Platte zu liegen.

Betrachten wir drei Dateisysteme `A`, `B` und `C`. Jedes Dateisystem besitzt ein eigenes Wurzelverzeichnis, das zwei andere Verzeichnisse enthält: `A1`, `A2`, `B1`, `B2`, `C1` und `C2`.

Das Wurzeldateisystem soll `A` sein. Das Kommando `ls` zeigt darin die beiden Verzeichnisse `A1` und `A2` an. Der Verzeichnisbaum sieht wie folgt aus:

Ein Dateisystem wird in einem Verzeichnis eines anderen Dateisystems eingehangen. Wir hängen nun das Dateisystem `B` in das Verzeichnis `A1` ein. Das Wurzelverzeichnis von `B` ersetzt nun das Verzeichnis `A1` und die Verzeichnisse des Dateisystems `B` werden sichtbar:

Jede Datei in den Verzeichnissen `B1` oder `B2` kann über den Pfad `/A1/B1` oder `/A1/B2` erreicht werden. Dateien aus dem Verzeichnis `/A1` sind jetzt verborgen. Wenn das Dateisystem `B` wieder abgehangen wird (umount), erscheinen die verborgenen Dateien wieder.

Wenn das Dateisystem `B` unter dem Verzeichnis `A2` eingehangen würde, sähe der Verzeichnisbaum so aus:

Die Dateien des Dateisystems `B` wären unter den Pfaden `/A2/B1` und `/A2/B2` erreichbar.

Dateisysteme können übereinander eingehangen werden. Der folgende Baum entsteht, wenn im letzten Beispiel das Dateisystem `C` in das Verzeichnis `B1` des Dateisystems `B` eingehangen wird:

`C` könnte auch im Verzeichnis `A1` eingehangen werden:

Der MS-DOS-Befehl `join` kann Ähnliches bewirken.

Normalerweise müssen Sie sich nicht mit Dateisystemen beschäftigen. Während der Installation werden die Dateisysteme und die Stellen, in der sie eingehangen werden, festgelegt. Dateisysteme müssen Sie erst wieder anlegen, wenn Sie eine neue Platte hinzufügen.

Sie können sogar mit nur einem großen Dateisystem auskommen. Dies hat mehrere Nachteile und einen Vorteil.

Vorteile mehrerer Dateisysteme

- Die Dateisysteme können mit unterschiedlichen Optionen (mount options) eingehangen werden. Bei sorgfältiger Planung können Sie beispielsweise das Wurzeldateisystem nur lesbar einhängen. Damit schützen Sie sich vor dem unabsichtlichen Löschen oder Editieren kritischer Dateien. Von Benutzern beschreibbare Dateisysteme wie `/home` können Sie mit der Option nosuid einhängen, wenn sie von anderen Dateisystemen getrennt sind. Die SUID- und GUID-Bits verlieren auf solchen Dateisystemen ihre Wirkung und die Sicherheit des Systems kann dadurch erhöht werden.

- Die Lage von Dateien im Dateisystem wird, abhängig vom Gebrauch des Dateisystems, automatisch von FreeBSD optimiert. Ein Dateisystem mit vielen kleinen Dateien, die häufig geschrieben werden, wird anders behandelt als ein Dateisystem mit wenigen großen Dateien. Mit nur einem Dateisystem ist diese Optimierung unmöglich.

- In der Regel übersteht ein FreeBSD-Dateisystem auch einen Stromausfall. Allerdings kann ein Stromausfall zu einem kritischen Zeitpunkt das Dateisystem beschädigen. Wenn die Daten über mehrere Dateisysteme verteilt sind, lässt sich das System mit hoher Wahrscheinlichkeit noch starten. Dies erleichtert das Zurückspielen von Datensicherungen.

Vorteil eines einzelnen Dateisystems

- Die Größe von Dateisystemen liegt fest. Es kann passieren, dass Sie eine Partition vergrößern müssen. Dies ist nicht leicht: Sie müssen die Daten sichern, das Dateisystem vergrößert anlegen und die gesicherten Daten zurückspielen.

  > Wichtig: FreeBSD kennt den Befehl growfs(8), mit dem man Dateisysteme im laufenden Betrieb vergrößern kann.

Dateisysteme befinden sich in Partitionen (damit sind nicht die normalen MS-DOS-Partitionen gemeint). Jede Partition wird mit einem Buchstaben von `a` bis `h` bezeichnet und kann nur ein Dateisystem enthalten. Dateisysteme können daher über ihren Mount-Point, den Punkt an dem sie eingehangen sind, oder den Buchstaben der Partition, in der sie liegen, identifiziert werden.

FreeBSD benutzt einen Teil der Platte für den Swap-Bereich, der dem Rechner virtuellen Speicher zur Verfügung stellt. Dadurch kann der Rechner Anwendungen mehr Speicher zur Verfügung stellen als tatsächlich eingebaut ist. Wenn der Speicher knapp wird, kann FreeBSD nicht benutzte Daten in den Swap-Bereich auslagern. Die ausgelagerten Daten können später wieder in den Speicher geholt werden (dafür werden dann andere Daten ausgelagert).

Für einige Partitionen gelten besondere Konventionen:

Partition | Konvention
--- | ---
`a` | Enthält normalerweise das Wurzeldateisystem
`b` | Enthält normalerweise den Swap-Bereich
`c` | Ist normalerweise genauso groß wie die Slice in der die Partition liegt. Werkzeuge, die auf der kompletten Slice arbeiten, wie ein Bad-Block-Scanner, können so die `c`-Partition benutzen. Für gewöhnlich legen Sie in dieser Partition kein Dateisystem an.
`d` | Früher hatte die `d`-Partition eine besondere Bedeutung. Heute ist dies nicht mehr der Fall und die Partition `d` kann wie jede andere Partition auch verwendet werden.

Jede Partition, die ein Dateisystem enthält, wird in einer Slice angelegt. Slice ist der Begriff, den FreeBSD für MS-DOS-Partitionen verwendet. Slices werden von eins bis vier durchnummeriert.

Die Slice-Nummern werden mit vorgestelltem `s` hinter den Gerätenamen gestellt: “da0s1” ist die erste Slice auf dem ersten SCSI-Laufwerk. Auf einer Festplatte gibt es höchstens vier Slices. In einer Slice des passenden Typs kann es weitere logische Slices geben. Diese erweiterten Slices werden ab fünf durchnummeriert: “ad0s5” ist die erste erweiterte Slice auf einer IDE-Platte. Diese Geräte werden von Dateisystemen benutzt, die sich in einer kompletten Slice befinden müssen.

Slices, “dangerously dedicated”-Festplatten und andere Platten enthalten Partitionen, die mit Buchstaben von `a` bis `h` bezeichnet werden. Der Buchstabe wird an den Gerätenamen gehangen: “da0a” ist die `a`-Partition des ersten `da`-Laufwerks. Dieses Laufwerk ist “dangerously dedicated”. “ad1s3e” ist die fünfte Partition in der dritten Slice der zweiten IDE-Platte.

Schließlich wird noch jede Festplatte des Systems eindeutig bezeichnet. Der Name einer Festplatte beginnt mit einem Code, der den Typ der Platte bezeichnet. Es folgt eine Nummer, die angibt, um welche Festplatte es sich handelt. Anders als bei Slices werden Festplatten von Null beginnend durchnummeriert. Gängige Festplatten-Namen sind in Tabelle 4-1 zusammengestellt.

Wenn Sie eine Partition angeben, erwartet FreeBSD, dass Sie auch die Slice und die Platte angeben, in denen sich die Partition befindet. Wenn Sie eine Slice angeben, müssen Sie auch die Platte der Slice angeben. Setzen Sie den Namen aus dem Plattennamen gefolgt von einem `s`, der Slice-Nummer und dem Buchstaben der Partition zusammen. Einige Beispiele finden Sie in Beispiel 4-1.

Der Aufbau einer Festplatte wird in Beispiel 4-2 dargestellt.

Um FreeBSD zu installieren, müssen Sie zuerst Slices auf den Festplatten anlegen. Innerhalb der Slices, die Sie für FreeBSD verwenden wollen, müssen Sie dann Partitionen anlegen. In den Partitionen wiederum werden die Dateisysteme (oder der Auslagerungsbereich) angelegt. Für Dateisysteme müssen Sie schließlich noch festlegen, wo diese eingehangen werden (Mount-Point).

Tabelle 4-1. Laufwerk-Codes

Code | Bedeutung
--- | ---
`ad` | ATAPI (IDE) Festplatte
`da` | SCSI-Festplatte
`acd` | ATAPI (IDE) CD-ROM
`cd` | SCSI-CD-ROM
`fd` | Disketten-Laufwerk

Beispiel 4-1. Namen von Platten, Slices und Partitionen

Name | Bedeutung
--- | ---
`ad0s1a` | Die erste Partition (`a`) in der ersten Slice (`s1`) der ersten IDE-Festplatte (`ad0`).
`da1s2e` | Die fünfte Partition (`e`) der zweiten Slice (`s2`) auf der zweiten SCSI-Festplatte (`da1`).

Beispiel 4-2. Aufteilung einer Festplatte

Das folgende Diagramm zeigt die Sicht von FreeBSD auf die erste IDE-Festplatte eines Rechners. Die Platte soll 4 GB groß sein und zwei Slices (MS-DOS-Partitionen) mit je 2 GB besitzen. Die erste Slice enthält ein MS-DOS-Laufwerk (`C:`), die zweite Slice wird von FreeBSD benutzt. Im Beispiel verwendet die FreeBSD-Installationen drei Datenpartitionen und einen Auslagerungsbereich.

Jede der drei Partitionen enthält ein Dateisystem. Das Wurzeldateisystem ist die `a`-Partition. In der `e`-Partition befindet sich der `/var`-Verzeichnisbaum und in der `f`-Partition befindet sich der Verzeichnisbaum unterhalb von `/usr`.

Zurück | Zum Anfang | Weiter
Verzeichnis-Strukturen | Nach oben | Anhängen und Abhängen 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>.