3.2.1. Wählen Sie eine intelligente Partitionierung
Was eine sinnvolle Partitionierung ist, hängt davon ab, wie die Maschine benutzt wird. Eine gute Faustregel ist, mit Ihren Partitionen eher großzügig zu sein und die folgenden Faktoren zu berücksichtigen:
Jeder Verzeichnisbaum, auf den ein Benutzer Schreibzugriff hat (wie zum Beispiel
/home
,
/tmp
und
/var/tmp/
) sollte auf einer separaten Partition liegen. Dies reduziert das Risiko eines DoS (Denial of Service, »Dienstverweigerung«) durch einen Benutzer, indem er Ihren »/«-Einhängepunkt vollschreibt und so das gesamte System unbenutzbar macht.
Außerdem verhindert dieses Vorgehen Hardlink-Angriffe.
Außerdem sollte jeder Verzeichnisbaum, dessen Größe schwanken kann, zum Beispiel /var
(insbesondere /var/log
) eine separate Partition bekommen. Auf einem Debian-System sollten Sie der /var-Partition etwas mehr Platz als auf anderen Systemen geben, da heruntergeladene Pakete (der Zwischenspeicher von apt) unter /var/cache/apt/archives
gespeichert werden.
Jede Partition, in der Sie Nicht-Distributions-Software installieren wollen, sollte separat sein. Nach dem File-Hierarchy-Standard wären dies /opt
oder /usr/local
. Wenn dies separate Partitionen sind, werden sie nicht gelöscht, falls Sie einmal Ihr Debian neu installieren (müssen).
Rein sicherheitstechnisch ist es sinnvoll, zu versuchen, statische Daten auf eine eigene Partition zu legen und diese dann als nur-lesbar einzuhängen (mounten). Oder noch besser: Legen Sie diese Daten auf einem rein-lesbaren Medium ab. Lesen Sie dazu die Ausführungen weiter unten.
Im Falle eines Mailservers ist es wichtig, eine separate Partition für die Mail-Warteschlange (mail spool) anzulegen. Nicht-Lokale Benutzer können (wissentlich oder unwissentlich) diese Verzeichnisse (/var/mail
oder /var/spool/mail
) füllen. Liegt dieses Verzeichnis auf einer separaten Partition, würde dies das System nicht sofort unbenutzbar machen. Anderenfalls (wenn das Verzeichnis auch auf der /var
-Partition liegt) hat das System ein großes Problem: Protokoll-Einträge (logs) können nicht erstellt werden, Pakete können nicht installiert werden und es könnten sogar ein paar Programme Probleme mit dem Starten haben (wenn sie /var/run
benutzen).
Außerdem sollten Sie für Partitionen, deren Platzbedarf Sie noch nicht abschätzen können, den Logical-Volume-Manager (lvm-common und die benötigten ausführbaren Programme, entweder lvm10 oder lvm2) installieren. Durch Benutzen von lvm
können Sie Datenträger-Gruppen erstellen, die über mehrere Festplatten verteilt sind.
3.2.2. Auswahl der passenden Dateisysteme
Während der Partitionierung des Systems müssen Sie sich ebenfalls entscheiden, welche Dateisysteme Sie benutzen möchten. Als Standard-Dateisystem
wird während der Installation für Linux-Partitionen
ext3
ausgewählt, das ein »Journaling Dateisystem« ist. Es ist empfehlenswert, immer ein solches Dateisystem zu verwenden, wie zum Beispiel
ext3
,
reiserfs
,
jfs
oder
xfs
. Dadurch verringern Sie Probleme nach einen Absturz des Systems in folgenden Fällen:
Auf Laptops auf allen Dateisystemen. Auf diese Art reduzieren Sie die Wahrscheinlichkeit eines Datenverlustes, wenn beispielsweise unerwartet Ihr Akku leer wird oder das System aufgrund eines Hardware-Problems (etwa durch die X-Konfiguration, was relativ häufig auftritt) neu gestartet werden muss.
Auf produktiven Systemen, die große Mengen von Daten speichern (zum Beispiel Mail-Server, FTP-Server, Netzwerk-Dateiserver, ...), ist es empfehlenswert, ein Journaling-Dateisystem auf diesen Partitionen einzusetzen. Wenn das System abstürzt, benötigt der Server so weniger Zeit, um das Dateisystem wieder herzustellen und zu prüfen, und die Wahrscheinlichkeit eines Datenverlustes wird verringert.
Lassen wir mal die Betrachtung der Leistung von Journaling-Dateisystemen beiseite (da dies oft in quasi-religiöse Glaubenskriege ausartet). In der Regel ist es besser, das ext3
-Dateisystem zu benutzen. Der Grund dafür ist die Abwärtskompatibilität zu ext2
. So können Sie, wenn es Probleme mit dem Journal gibt, dieses einfach abschalten und haben immer noch ein funktionierendes Dateisystem. Außerdem müssen Sie, wenn Sie das System mal mit einer Boot-Diskette (oder CD-ROM) wiederherstellen müssen, keinen speziellen Kernel benutzen. Wenn es sich um einen 2.4er oder 2.6er Kernel handelt, ist Unterstützung für ext3
bereits vorhanden. Wenn es sich um einen 2.2er-Kernel handelt, können Sie trotzdem Ihr Dateisystem booten, auch wenn Sie die Journaling-Fähigkeiten einbüßen. Wenn Sie ein anderes Journaling-Dateisystem benutzen, werden Sie feststellen, dass eine Wiederherstellung nicht möglich ist, bis Sie einen 2.4er oder 2.6er Kernel mit den benötigten Modulen haben. Wenn Sie einen 2.2er Kernel auf der Rettungsdiskette verwenden müssen, kann es sich als noch schwerer erweisen, auf reiserfs
oder xfs
zuzugreifen.
Auf jeden Fall ist die Datenintegrität unter
ext3
besser, da es auch Datei-Daten protokolliert, während andere Dateisysteme lediglich Meta-Daten protokollieren (siehe auch
http://lwn.net/2001/0802/a/ext3-modes.php3).
Beachten Sie aber, dass es auch einige Partitionen gibt, die von einem Journaling-Dateisystem nicht profitieren könnten. Wenn Sie beispielsweise eine eigene Partition für /tmp/
verwenden, könnte ein übliches ext2
-Dateisystem besser sein, weil es bei einem Neustart des Systems ohnehin geleert wird.