Wer bei der Installation die jeweiligen Werkzeuge das Einrichten der Festplatte übernehmen
lässt, der wird mit der hier besprochenen Problematik nicht in Berührung kommen.
In Abschnitt Partitionen wurde schon Grundsätzliches über die
Partitionierung von Festplatten aufgeführt. Was der Sinn der Aufteilung in mehrere Partitionen ist wurde ebenso
dort erläutert, wie die Problematik mit großen Festplatten.
Hier soll der Schwerpunkt auf
die geeignete Anordnung in Bezug auf Linux liegen.
Wieviele Partitionen passen auf eine Festplatte?
Eine Festplatte kann maximal 4 primäre Partitionen
beherbergen.
Ursache ist die vor langer Zeit ins Leben berufene Standardisierung des MBR, in dem
ganze 64 Bytes zur Aufnahme der Partitionstabelle vorgesehen sind (+446 Bytes für den Code eines
Bootloaders + 2 Bytes für eine "Magic number" AA55). Die Informationen
zu einer Partition (Bootflag, Start- und Endsektor, Dateisystemtyp...) werden also jeweils in 16 Bytes abgelegt.
Benötigt
man weitere, so muss zumindest eine diese Partitionen eine erweiterte
sein, die dann ihrerseits mehrere logische Partitionen enthalten kann
(genau genommen enthält sie einen Zeiger auf die erste
logische Partition, in dessen Bootsektor sich der Zeiger auf die nächste logische Partition befindet, usw.).
Die Anzahl logischer Partitionen ist bei (E)IDE-Platten auf maximal 63 und bei SCSI-Platten auf 15 begrenzt.
Wieviele Partitionen sind mindestens notwendig?
-
Es ist wohl einleuchtend, dass jedes zu installierende Betriebssystem mindestens eine eigene Partition benötigt, also
ist die Summe der von uns verwendeten Systeme schon einmal die untere Schranke der Partitionenanzahl.
-
Aus Gründen der Effizienz benötigt man unter Linux mindestens zwei (primäre oder logische)
Partitionen.
Eine dient zur Aufnahme der Root-Partition,
die andere steht als Swap-Speicher zur Verfügung.
Swap-Speicher dient
der Auslagerung von Speicherseiten aus dem Hauptspeicher auf die Festplatte,
falls im Hauptspeicher nicht genügend Platz zum Laden der Programme/Daten vorhanden ist.
Als Summe von Swap-und Hauptspeicher sollte man mindestens 64MB veranschlagen, mit
128MB ist man bei den meisten Anwendungen auf der sicheren Seite. Mit einem entsprechenden Kernel kann eine
Swap-Größe von bis zu 8 GByte (64 Partitionen zu je 128 MByte) verwaltet werden.
Wieviele Partitionen sind für Linux ratsam?
Im speziellen Fall wird man sicher bessere Lösungen finden, als die, die ich hier angebe. Aber bei der
Verteilung der Partitionen das Optimum herauszuholen, bedeutet auf jegliche Hardwarekonstellation und jeden
Einsatzbereich einzugehen. Deswegen sollten die nachfolgenden Tipps nur als Faustregeln verstanden werden.
-
Wer mehrere Festplatten sein Eigen nennt, der sollte eine Verteilung der Installation über diese
in Betracht ziehen.
In einem Linuxsystem bewerben sich etliche Prozesse um die knappen Hardwareressourcen und
nicht viele davon greifen konkurrierend auf die Festplatte(n) zu.
Liegen die Daten zweier Prozesse auf ein und derselben Festplatte, dann wird der Schreib/Lesekopf im Sinne der
Gleichbehandlung der Anforderungen mal ein Stück der einen Datei, dann wieder eine Portion der anderen
lesen. D.h. zusätzlich zur reinen Zeit für das Lesen der Dateien geht noch Zeit für die
Kopfpositionierung drauf. Lägen die Daten auf verschiedenen Festplatten, gelängen die Zugriffe wesentlich
schneller...
Jetzt weiß man zwar niemals, welcher Prozess zu welcher Zeit auf welche Datei zugreift, aber mit ein paar simplen
Überlegungen lassen sich einige Verzeichnisse herauspicken, die man besser auf getrennten Festplatten/Partitionen
anlegen sollte:
- Swap-Partition und das Root-Verzeichnis sind sichere Kandidaten... Gerade bei Rechnern mit
geringem Hauptspeicherausbau (< 128 MB) ist der Swap heiß begehrt...
/usr
und /usr/lib
sollten auf verschiedene Platten:
Die meisten Programme erfordern das dynamische Nachladen von Bibliotheken. Wird also ein
Programm aus /usr/bin
gestartet, werden meist noch eine Reihe von
Bibliotheken aus /usr/lib
geladen. Das geht schneller, wenn beide Verzeichnisse auf
getrennten Platten liegen...
- Ähnliche Überlegungen legen eigene Bereiche für
/var
und
/tmp
... nahe.
- Aber auch wenn nur eine Festplatte für Linux verfügbar ist, lassen sich einige Optimierungen
treffen:
- Die Zugriffsgeschwindigkeit bei neueren Festplatten hängt stark von der Zylindernummer ab
(siehe Partionen). So sollten die stark frequentierten
Partitionen außen (kleine Zylindernummer) liegen und die weniger gebräuchlichen auf den
inneren Zylindern.
Eine Aufteilung der Art : /boot
(1024-Zylinder-Problem), Swap,
Root-Verzeichnis, ..., /home
ist sicher nicht verkehrt.
- Andere Überlegungen empfehlen die Trennung der statischen von den dynamischen Daten. So
werden die Daten im Verzeichnis
/var
auf einem als Server eingesetzten System binnen
kürzester Zeit expandieren. Und die Heimatverzeichnisse der Nutzer vom eigentlichen System zu trennen, ist
immer eine gute Idee. Letzteres ermöglicht ein späteres Update des Systems ohne die privaten Daten
sichern zu müssen und es gibt noch einen wichtigeren Grund...
Angenommen wir haben eine simple Installation vorgenommen und die Platte nur in die Bereiche für den
Swap-Speicher und eine Partition für den Rest aufgeteilt. Viel freier Speicher ist nicht mehr übrig geblieben,
dafür laden sich die Nutzer fleißig die dicksten Movies aus dem Netz... Nicht mehr lange und der Vorrat
an Speicherkapazität ist erschöpft.
Was wird passieren? Niemand wird mehr vernünftig mit dem System arbeiten können, da kein Prozess
mehr vermag, seine Statusdaten abzulegen. Der Systemverwalter will sich anmelden und per Hand Platz schaffen... und
scheitert, da nicht mal ihm Ressourcen zur Verfügung stehen. Unter Umständen muss das System neu gestartet
werden.
Was hier nicht erwähnt wurde... ist die Möglichkeit des Einsatzes von Raid-Systemen. Aber diese werden
ohnehin nur im Serverbereich oder für den Freak von Interesse sein...