Handbuch:IA64/Blöcke/Festplatten

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Handbook:IA64/Blocks/Disks and the translation is 100% complete.


Partitionen

Obwohl es theoretisch möglich wäre eine vollständige Festplatte zu nutzen um ein Linux-System unterzubringen, kommt das in der Praxis fast nie vor. Stattdessen werden komplette Festplatten Block Devices in kleinere, besser handhabbare Block Devices unterteilt. Auf IA64 Systemen werden diese Partitionen genannt.

Itanium Systeme verwenden zum Booten EFI, das Extensible Firmware Interface. Das Partitionstabellen-Format das EFI versteht wird GPT oder GUID Partition Table genannt. Das Partitionierungsprogramm das GPT versteht wird "parted" genannt, darum ist dies das Tool das wir unten verwenden. Darüber hinaus kann EFI nur FAT Dateisysteme lesen, deshalb ist dies das Format für die EFI Bootpartition. Dort installiert "elilo" den Kernel.

Erweiterte Speichermöglichkeit

Die IA64 Installations-CDs bieten Unterstützung für LVM2. LVM2 erhöht die Flexibilität, die das Partitionieren anbietet. Während der Installationsanleitungen konzentrieren wir uns auf "normale" Partitionen, aber es ist dennoch gut zu wissen, dass auch LVM2 unterstützt wird.

Ein Partitionsschema entwerfen

Wie viele Partitionen und wie groß?

Die Anzahl der Partitionen hängt stark von der Ziel-Umgebung ab. Wenn es beispielsweise viele Nutzer gibt, ist eine eigene Partition /home/ ratsam, da diese die Sicherheit erhöht und Backups vereinfacht. Wenn Gentoo installiert wird um als Mailserver zu dienen, dann sollte es ein eigenes /var/ geben, weil alle Mails in /var/ gespeichert werden. Eine gute Wahl des Dateisystems maximiert dann die Performance. Spiele-Server werden eine eigene Partition /opt/ besitzen, da die meiste Spiele-Server-Software dort installiert wird. Der Grund ist ähnlich wie für das /home/ Verzeichnis: Sicherheit und Backups. In den meisten Situationen muss /usr/ ausreichend groß sein: hier wird nicht nur die Mehrzahl der Anwendungen gespeichert, sondern auch das Gentoo ebuild Repository (standardmäßig unter: /var/db/repos/gentoo), das alleine schon rund 650 MiB benötigt. Diese Größenabschätzung enthält noch nicht den benötigten Plattenplatz für die Verzeichnisse binpkgs/ und distfiles/, die standardmäßig unter /var/cache/ gespeichert werden.

Es hängt also stark davon ab, was der Administrator erreichen möchte. Separate Partitionen oder Volumes haben folgende Vorteile:

  • Wählen Sie das performanteste Dateisystem für jede Partition oder jedes Volume.
  • Dem Gesamtsystem kann der freie Speicherplatz nicht ausgehen, wenn ein fehlerhaftes Tool kontinuierlich Dateien auf eine Partition oder ein Volume schreibt.
  • Falls nötig werden Dateisystemüberprüfungen zeitlich reduziert, da mehrere Überprüfungen gleichzeitig durchgeführt werden können. (Wenngleich dieser Vorteil eher bei mehreren Festplatte als bei Partitionen zum Tragen kommt.)
  • Sie können die Sicherheit erhöhen indem Sie einige Partitionen oder Volumes read-only, nosuid (setuid Flags werden ignoriert), noexec (executable Flags werden ignoriert) etc. einbinden.

Viele Partitionen können aber auch Nachteile haben. Wenn diese schlecht an das System angepasst sind, kann es sein, dass eine Partition voll ist und auf einer anderen Partition noch viel freier Platz verfügbar ist. Ein weiterer Nachteil besteht darin, dass separate Partitionen - vor allem für wichtige Mount-Pfade wie /usr/ oder /var/ - es häufig notwendig machen, während des Bootens ein initramfs zu benutzen, welches diese Partitionen vor der Ausführung anderer Boot-Skripte mountet. Das ist aber nicht immer notwendig und hängt vom Einzelfall ab.

Weiterhin gibt es ein Limit von maximal 15 Partitionen für SCSI- und SATA-Datenträger, es sei denn, der Datenträger nutzt GPT-Labels.

Was ist mit dem Swap-Speicher?

Die perfekte Größe für eine Swap-Partition gibt es nicht. Der Zweck von Swap-Speicher es ist Festplattenspeicherplatz für den Kernel bereitzuhalten, wenn der interne Speicher (RAM) knapp wird. Der Swap-Speicher erlaubt dem Kernel Speicherseiten auf die vermutlich nicht bald zugegriffen wird auf die Platte auszulagern (Swap oder Page-Out) um Arbeitsspeicher freizumachen. Wird der Speicherinhalt plötzlich benötigt, müssen diese Speicherseiten (Pages) wieder zurück in den Arbeitsspeicher geladen werden (Page-In), dies dauert eine Weile (da Festplatten verglichen mit Arbeitsspeicher sehr langsam sind).

Wenn auf dem System keine Speicherintensiven Anwendungen ausgeführt werden oder das System viel Speicher zur Verfügung hat, benötigt es vermutlich nicht viel Swap-Speicher. Allerdings wird der Swap-Speicher ebenfalls dazu verwendet, den gesamten Speicherinhalt im Ruhezustand (Hibernation) aufzunehmen. Wenn das System den Ruhezustand benötigt, brauchen Sie daher einen größeren Swap-Speicher. Häufig muss dieser mindestens so groß sein, wie der im System installierte Arbeitsspeicher.


Nicht-Standard Beispiel-Partitionsschema

Eine Beispiel-Partitionierung für eine 20 GB Festplatte ist unten dargestellt, verwendet in einen Demonstrations-Laptop (mit Webserver, Mailserver, Gnome, ...):

root #df -h
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda5     ext4    509M  132M  351M  28% /
/dev/sda2     ext4    5.0G  3.0G  1.8G  63% /home
/dev/sda7     ext4    7.9G  6.2G  1.3G  83% /usr
/dev/sda8     ext4   1011M  483M  477M  51% /opt
/dev/sda9     ext4    2.0G  607M  1.3G  32% /var
/dev/sda1     ext2     51M   17M   31M  36% /boot
/dev/sda6     swap    516M   12M  504M   2% <not mounted>
(Unpartitionierter Bereich für zukünftige Verwendung: 2 GB)

/usr/ ist hier ziemlich voll (83% belegt), aber wenn die gesamte Software erst einmal installiert ist, wächst /usr/ normalerweise nicht mehr viel. Die Zuweisung einiger Gigabytes Festplatten-Speicher für /var/ mag übertrieben scheinen, denken Sie aber daran, dass portage diese Partition standardmäßig zum kompilieren von Paketen verwendet. Um /var/ in einer vernünftigen Größe (z.B. 1 GB) zu halten, ändern Sie die PORTAGE_TMPDIR Variable in /etc/portage/make.conf um auf eine Partition mit genügend freier Festplattenkapazität zum Kompilieren von sehr großen Paketen wie LibreOffice zu verweisen.

Fesplatte partitionieren mit parted

Die folgenden Teile erklären, wie Sie das Beispiel-Partitionslayout erstellen, das wir im Rest der Installationsanleitung verwenden, nämlich:

Partition Beschreibung
/dev/sda1 EFI Boot Partition
/dev/sda2 Swap Partition
/dev/sda3 Root Partition

Ändern Sie das Partitions-Layout Ihren Vorstellungen entsprechen ab.

Anzeigen des Partitions-Layouts

parted ist der GNU Partition Editor. Wenden Sie parted auf die Festplatte an (in unserem Beispiel verwenden wir /dev/sda):

root #parted /dev/sda

Wenn Sie in parted angekommen sind, erscheint eine Eingabeaufforderung die folgendermaßen aussieht:

(parted)

An dieser Stelle ist eines der verfügbaren Kommandos help, um andere zur Verfügung stehende Kommandos anzuzeigen. Ein anderer Befehl ist print, um die derzeitige Festplattenkonfiguration anzuzeigen:

(parted)print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017    203.938  fat32                             boot
2        203.938   4243.468  linux-swap
3       4243.469  34724.281  ext4

Diese Konfiguration ist sehr ähnlich zu der oben empfohlenen. Achten Sie in der zweiten Zeile darauf, dass die Partitionstabelle vom Typ GPT ist. Wenn es ein anderer Typ ist, wird das ia64 System nicht von dieser Festplatte booten können. Zur Erklärung wie Partitionen erzeugt werden, lassen Sie uns erst die Partitionen löschen und sie anschließend neu erzeugen.

Löschen aller Partitionen

Notiz
Im Gegensatz zu fdisk und einigen anderen Partitionierungs-Programmen, die Änderungen so lange verschieben bis der Schreibbefehl erteilt wird, haben die parted Kommandos sofortige Wirkung. Das heißt wenn Partition hinzugefügt oder entfernt wurden gibt es keine "Rückgängig" Funktion.

Der einfache Weg um alle Partitionen zu löschen und neu anzufangen der garantiert, dass wir den richtigen Partitionstyp verwenden ist eine neue Partitionstabelle mit dem Befehl mklabel zu erstellen. Dies führt zu einer leeren GPT Partitionstabelle.

(parted) mklabelgpt
(parted) mklabelprint
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags

Jetzt, da die Partitionstabelle leer ist, sind wir soweit um die Partitionen zu erstellen. Wie wir zuvor angesprochen haben, werden wir ein Standard-Partitionsschema verwenden. Natürlich brauchen Sie diese Anweisungen nicht haargenau zu befolgen, sondern können sie Ihren persönlichen Bedürfnissen anpassen.

EFI Boot Partition erstellen

Erzeugen Sie als erstes eine kleinen EFI Boot Partition im FAT Dateisystem, damit die IA64 Firmware sie lesen kann. In unserem Beispiel ist sie 32 MB groß, das zum speichern von Kerneln und elilo Konfigurationen geeignet sein sollte. Rechnen Sie damit, dass jeder IA64 Kernel um die 5 MB groß ist. Diese Konfiguration lässt somit etwas Spielraum zum Experimentieren.

(parted)mkpart primary fat32 0 32
(parted)print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017     32.000  fat32

Swap Partition erstellen

Lassen Sie uns nun die Swap Partition erstellen. Die klassische Größe einer Swap Partition war zwei mal so groß wie der Arbeitsspeicher im System. In modernen Systemen mit viel Arbeitsspeicher ist dies nicht länger notwendig. In den meisten Desktop Systemen reicht eine 512 Megabyte große Swap Partition aus. Für einen Server sollten Sie etwas mehr in Betracht ziehen, um die zu erwartenden Bedürfnisse zu berücksichtigen.

(parted)mkpart primary linux-swap 32 544
(parted)print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017     32.000  fat32
2         32.000    544.000

Root Partition erstellen

Schließlich erstellen wir die Root Partition. Unsere Konfiguration wird dazu führen, dass die Root Partition die noch verbleibende Festplatte belegt. Wir verwenden standardmäßig ext4, aber es sind auch ext2, jfs, reiserfs oder xfs möglich. Das eigentliche Dateisystem wird nicht in diesem Schritt erzeugt, aber die Partitionstabelle enthält die Angabe, welche Partition welches Dateisystem beinhaltet und es ist eine gute Idee, die Tabelle passend zum Verwendungszweck anzulegen.

(parted)mkpart primary ext4 544 34732.890
(parted)print
Disk geometry for /dev/sda: 0.000-34732.890 megabytes
Disk label type: gpt
Minor    Start       End     Filesystem  Name                  Flags
1          0.017     32.000  fat32
2         32.000    544.000
3        544.000  34732.874

parted beenden

Zum Beenden von parted tippen Sie quit. Es besteht keine Notwendigkeit in einem separaten Schritt das Partitionslayout zu speichern, weil parted das bereits bei jedem einzelnen der vorigen Schritte getan hat. parted wird Sie daran erinnern die Datei /etc/fstab zu aktualisieren, was wir später in der Installationsanleitung tun werden.

(parted)quit
Information: Don't forget to update /etc/fstab, if necessary.