Login
Newsletter
Do, 19. April 2012, 15:00

Linux optimal partitionieren

Linux bietet zahlreiche Möglichkeiten, die Festplatten zu partitionieren. Hier ein Schema, das sich für einfache Desktop- und Server-Systeme bewährt hat.

Am Anfang einer Linux-Installation steht die Partitionierung der Festplatten. Die meisten Distributionen können diese automatisch vornehmen, und das Ergebnis fällt mehr oder weniger befriedigend aus. Die Alternative ist, die Partitionen exakt nach eigenen Vorstellungen anzulegen.

Da unser letzter Artikel zum Partitionieren schon alt ist, will ich hier ein paar Worte dazu verlieren, wie eine in der Praxis bewährte Partitionierung aussehen kann. Im Grunde hängt die optimale Partitionierung von vielen Faktoren ab, nicht nur vom Verwendungszweck des Systems, sondern beispielsweise auch von bestimmten Vorlieben. Die Linux-Distributionen können aber für die automatische Partitionierung aber nur ein einziges Schema vorgeben. Das kann logischerweise nicht allen Benutzern passen.

Im folgenden soll es nur um die Größe der Partitionen gehen. Die Auswahl des Dateisystems ist noch einmal eine andere Frage, die davon weitgehend unabhängig ist. Ich will es hier bei der Feststellung bewenden lassen, dass aktuell ext4 und XFS die ausgereiftesten und leistungsfähigsten Dateisysteme sind.

Will man ein System über viele Jahre hinweg ohne Neuinstallation betreiben, so ist man gut beraten, die Partitionen so anzulegen, dass sie vergrößerbar sind. Denn erfahrungsgemäß wird der Platzbedarf im Lauf der Zeit selten geringer, sondern er steigt. Die beste Vorgehensweise ist daher der Einsatz des Logical Volume Managers. Denn LVM-Partitionen lassen sich online ändern. Lösungen, die auf Partitionstabellen beruhen, erfordern dagegen heikle Änderungen und schlimmstenfalls Verschiebungen von Partitionen, was bei großen Partitionen sehr langwierig oder gar unmöglich werden kann.

Wie, Ihre Distribution unterstützt kein LVM? Dann sollten Sie über den Wechsel zu einer Distribution nachdenken, die für den Langzeit-Einsatz gedacht ist. - Ein Nachteil von LVM ist, dass man eine initiale Ramdisk benötigt, aber das ist ohnehin die Methode, mit der fast alle Distributionen booten. Außerdem muss das Verzeichnis /boot außerhalb des LVM liegen. Dieses muss daher eine eigene Partition erhalten. Da der ganze Rest von LVM kontrolliert werden kann, sollte die Festplatte folgendermaßen aufgeteilt werden:

PartitionGerätenameGröße Typ
1 /dev/sda1 500 MBLinux (83)
2 /dev/sda2 Rest LVM (8e)

Es ist nicht nötig, sich mit erweiterten Partitionen herumzuplagen. 500 MB für /boot sind reichlich und sollten für alle Zeit genügen. Wer etwas Platz sparen muss, kann die Größe auf 200 MB reduzieren.

In der Volume Group würde ich nicht weniger als fünf Partitionen, möglicherweise mehr, anlegen:

  • Die Root-Partition einschließlich /usr (welches nach aktueller Meinung keine separate Partition sein sollte, da manchmal zum Booten nötige Tools hier liegen) benötigt für ein Desktop-System heute 10 GB, und wenn man /var mit einbezieht, vielleicht 12 GB. Server-Systeme können mit 2 GB auskommen, wenn man die wichtigsten Daten wie /srv usw. separat hält.
  • Eine Swap-Partition legt man mit maximal der doppelten RAM-Größe an. Wer viel RAM besitzt und nicht damit rechnet, dass dieses komplett ausgeschöpft wird, kann die Größe auch kleiner als das RAM wählen.
  • /var/log als eigene Partition (1 GB) verhindert, dass die Root-Partition volläuft, wenn die Log-Dateien unerwartet groß werden.
  • /opt enthält manuell installierte Programme, die man aus mehreren Gründen besser separiert. Zu den Gründen zählen Backup-Überlegungen, die Verhinderung, dass die Daten bei einer Neuinstallation massakriert werden, und / kleiner zu halten. 1 GB genügt anfänglich.
  • /home kann beliebig wachsen im Lauf der Zeit. Auch hier ist es am besten, nicht größer als nötig anzufangen.
  • Optional kann man /var und vielleicht auch /var/tmp (nicht /tmp, das zunehmend als Ramdisk implementiert wird, aktuelle Informationen dazu von Lennart Poettering) auf eigene Partitionen legen. Bei /var/tmp gelten ähnliche Überlegungen wie bei /var/log, und ein separates /var ist nützlich, um die variablen Daten von den statischen (/usr) zu trennen.
  • Wer eine Datenbank betreibt, sollte überlegen, wo er diese Daten ablegt. Standardmäßig werden Orte wie /var/lib/mysql,/var/lib/postgresql und /var/lib/ldap verwendet. Diese wären nach einer Neuinstallation ausgelöscht! Eine eigene Partition könnte sich lohnen, oder man integriert sie in /home. Es bieten sich /home/mysql usw. an, da die Datenbanken ohnehin unter entsprechenden Benutzerkonten laufen.
  • Wer virtuelle Maschinen betreibt, kann die Images, die in der Regel einige GB groß sind, in eine separate Partition legen, die besonders große Blöcke verwendet. Voraussetzung sind Linux 3.2 oder neuer, ext4 sowie eine sehr neue Version der e2fs-Tools.

Das Anlegen von LVM-Partitionen ist eine Kleinigkeit. Wenn die Volume Group, vom Installer angelegt, vg0 heißt, und das neue 10 GB große Volume postgres, dann lautet der Befehl:

lvcreate -L 10G -n postgres vg0

Das Vergrößern von Partitionen ist genauso eine Kleinigkeit, hier für eine /opt-Partition mit ext4 als Dateisystem:

lvresize -L 15G vg0/opt
resize2fs /dev/mapper/vg0-opt

Dies dauert nur wenige Sekunden. XFS ist beim Vergrößern noch schneller, der Befehl lautet xfs_growfs /opt. Man kann weiterarbeiten ohne herunterzufahren, als wäre nichts geschehen.

Mögliche Szenarien, die eine Änderung der Partitionen nach sich ziehen können:

  • Eine Partition wird zu klein. Solange LVM noch freien Speicher hat, kann dieser genutzt werden, um die Partition zu vergrößern.
  • Die Festplatte wird zu klein und eine weitere hinzugefügt. Diese kann in die bestehende Volume Group eingebunden werden, und alle Partitionen können vergrößert werden wie benötigt.
  • Eine Partition wird in zwei aufgeteilt. Das entspricht dem Anlegen einer neuen Partition und Verschieben eines Teils der Daten.
  • Sollte es einmal nötig sein, eine Partition zu verkleinern, legt man, sofern der Platz reicht, am besten eine neue kleinere Partition an, kopiert die Dateien hinein, aktiviert die neue Partition anstelle der alten und löscht dann die alte.

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten