Handbuch:IA64/Installation/Festplatten

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

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
IA64 Handbuch
Installation
Über die Installation
Auswahl des Mediums
Konfiguration des Netzwerks
Vorbereiten der Festplatte(n)
Installation des Stage Archivs
Installation des Basissystems
Konfiguration des Kernels
Konfiguration des Systems
Installation der Tools
Konfiguration des Bootloaders
Abschluss
Arbeiten mit Gentoo
Portage-Einführung
USE-Flags
Portage-Features
Initskript-System
Umgebungsvariablen
Arbeiten mit Portage
Dateien und Verzeichnisse
Variablen
Mischen von Softwarezweigen
Zusätzliche Tools
Eigener Portage-Tree
Erweiterte Portage-Features
Netzwerk-Konfiguration
Zu Beginn
Fortgeschrittene Konfiguration
Modulare Vernetzung
Drahtlose Netzwerke
Funktionalität hinzufügen
Dynamisches Management


Einführung in blockorientierte Geräte

Blockorientierte Geräte

Schauen wir uns die Festplatten-spezifischen Aspekte von Gentoo Linux und Linux im Allgemeinen an - insbesondere Linux Dateisysteme, Partitionen und blockorientierte Geräte (Block Devices). Wenn Sie die Vor- und Nachteile von Festplatten und Dateisystemen verstanden haben, können Sie Partitionen und Dateisysteme für die Linux-Installation erstellen.

Zu Beginn schauen wir uns blockorientierte Geräte an. Das berühmteste Block Device ist vermutlich jenes, das das erste Laufwerk eines Linux-Systems ist, nämlich /dev/sda. SCSI und serielle ATA Laufwerke werden beide /dev/sd* benannt. Sogar IDE Laufwerke werden mit dem libata Framework im Kernel so benannt. Bei der Verwendung des alten Geräte Frameworks ist das erste IDE Laufwerk /dev/hda.

Die oben genannten blockorientierten Geräte repräsentieren eine abstrakte Schnittstelle zur Festplatte. Benutzerprogramme können diese Block Devices nutzen, um mit der Festplatte zu interagieren, ohne sich darum sorgen zu müssen, ob die Festplatten über IDE, SCSI oder etwas anderem angebunden sind. Das Programm kann den Speicher auf der Festplatte einfach als eine Anhäufung zusammenhängender 512-Byte Blöcke mit wahlfreiem Zugriff ansprechen.


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.


Erstellen von Dateisystemen

Einleitung

Nachdem die Partitionen angelegt wurden, ist es an der Zeit, Dateisysteme darauf anzulegen. Im nächsten Abschnitt werden die unterschiedlichen Dateisysteme beschrieben, die Linux unterstützt. Leser, die bereits wissen, welches Dateisystem sie verwenden wollen, können bei Dateisystem auf einer Partition anlegen fortfahren. Alle anderen sollten weiterlesen, um mehr über die verfügbaren Dateisysteme zu erfahren ...

Dateisysteme

Mehrere Dateisysteme sind verfügbar. Einige davon gelten als stabil auf der ia64 Architektur. Es ist ratsam, sich über das Dateisystem und dessen Unterstützungsgrad zu informieren, bevor Sie sich für wichtige Partitionen für ein eher experimentelles Dateisystem entscheiden.

btrfs
A next generation filesystem that provides many advanced features such as snapshotting, self-healing through checksums, transparent compression, subvolumes and integrated RAID. A few distributions have begun to ship it as an out-of-the-box option, but it is not production ready. Reports of filesystem corruption are common. Its developers urge people to run the latest kernel version for safety because the older ones have known problems. This has been the case for years and it is too early to tell if things have changed. Fixes for corruption issues are rarely backported to older kernels. Proceed with caution when using this filesystem!
ext2
Das ist das erprobte und wahre Linux Dateisystem aber es hat kein Metadaten-Journaling. Dies bedeutet, dass normale ext2 Dateisystemüberprüfungen beim Systemstart ziemlich zeitaufwändig sein können. Mittlerweile gibt es eine gute Auswahl an Journaling-Dateisystemen, die sehr schnell auf Konsistenz überprüft werden können und deshalb ihren Nicht-Journaling-Ausführungen im Allgemeinen bevorzugt werden. Journaling-Dateisysteme verhindern lange Verzögerungen wenn das System gebootet ist und es passiert, dass das Dateisystem in einem inkonsistenten Zustand ist.
ext3
Die Journaling-Version des Dateisystems ext2. Es bietet Metadaten-Journaling für schnelle Wiederherstellung zusätzlich zu anderen Journaling-Modi wie Full-Data- und Ordered-Data-Journaling. Es verwendet einen H-Baum (Htree) Index der hohe Leistung in fast allen Situationen ermöglicht. Kurz gesagt, ext3 ist ein sehr gutes und verlässliches Dateisystem.
ext4
Ursprünglich als Abspaltung von ext3 entstanden, bringt ext4 neue Funktionen, Leistungsverbesserungen und den Wegfall der Größenbeschränkungen durch moderate Änderungen des On-Disk-Formats. Es kann Datenträger mit bis zu 1 EB und mit Dateigrößen von bis zu 16 TB umspannen. Anstelle der klassischen ext2/3 Bitmap-Block-Allokation nutzt ext4 Extents, die die Performance bei großen Dateien verbessern und Fragmentierung reduzieren. ext4 bietet zusätzlich ausgereiftere Block-Allokation-Algorithmen (Zeitverzögerte Allokation und Mehrfache Preallokation), die dem Dateisystemtreiber mehrere Möglichen bieten das Layout der Daten auf der Festplatte zu optimieren. Es ist das empfohlene Allzweck-Dateisystem für jede Plattform.
f2fs
The Flash-Friendly File System was originally created by Samsung for the use with NAND flash memory. As of Q2, 2016, this filesystem is still considered immature, but it is a decent choice when installing Gentoo to microSD cards, USB drives, or other flash-based storage devices.
JFS
Das Hochleistungs-Journaling-Dateisystem von IBM. JFS ist ein schlankes, schnelles und verlässliches B+-Baum basiertes Dateisystem mit guter Performance unter verschiedensten Gegebenheiten.
ReiserFS
Ein B+-Baum basiertes Journaling-Dateisystem mit einer guten Allgemeinleistung, besonders im Umgang mit winzigen Dateien für den Preis von mehreren CPU-Zyklen. ReiserFS scheint weniger gewartet zu werden als andere Dateisysteme.
XFS
Ein Dateisystem mit Metadaten-Journaling, das mit einer Reihe robuster Fähigkeiten daherkommt und für Skalierbarkeit optimiert ist. XFS scheint gegenüber unterschiedlichen Hardwareproblemen weniger Fehlertolerant zu sein.
vfat
Ebenfalls als FAT32 bekannt, wird es von Linux unterstützt, aber unterstützt selbst keine Berechtigungseinstellungen. Es wird vor allem aus Kompatibilitätsgründen zu anderen Betriebssystemen (hauptsächlich Microsoft Windows) verwendet. vfat ist zudem eine Notwendigkeit für manche Systemfirmware (wie UEFI).
NTFS
This "New Technology" filesystem is the flagship filesystem of Microsoft Windows. Similar to vfat above it does not store permission settings or extended attributes necessary for BSD or Linux to function properly, therefore it cannot be used as a root filesystem. It should only be used for interoperability with Microsoft Windows systems (note the emphasis on only).

Bei der Verwendung von ext2, ext3 oder ext4 auf kleinen Partitionen (kleiner als 8 GB), sollte das Dateisystem mit den passenden Optionen erstellt werden, um genügend Inodes zu reservieren. Die Anwendung mke2fs (mkfs.ext2) verwendet die "bytes-per-inode"-Einstellung um zu berechnen wie viele Inodes eine Dateisystem haben sollte. Auf kleineren Partitionen ist es ratsam die berechnete Anzahl der Inodes zu erhöhen.

Bei ext2, ext3 und ext4 kann dies mit einem der folgenden Befehle erfolgen:

root #mkfs.ext2 -T small /dev/<device>
root #mkfs.ext3 -T small /dev/<device>
root #mkfs.ext4 -T small /dev/<device>

Dies vervierfacht die Zahl der Inodes für ein angegebenes Dateisystem in der Regel, da es dessen "bytes-per-inode" (Bytes pro Inode) von 16 kB auf 4 kB pro Inode reduziert. Durch die Angabe des Verhältnisses kann dies sogar weiter optimiert werden:

root #mkfs.ext2 -i <ratio> /dev/<device>

Dateisystem auf einer Partition anlegen

Dateisysteme können mit Hilfe von Programmen auf einer Partition oder auf einem Datenträger angelegt werden. Die folgende Tabelle zeigt, welchen Befehl Sie für welches Dateisystem benötigen. Um weitere Informationen zu einem Dateisystem zu erhalten, können Sie auf den Namen des Dateisystems klicken.

Dateisystem Befehl zum Anlegen Teil der Minimal CD? Gentoo Paket
btrfs mkfs.btrfs Yes sys-fs/btrfs-progs
ext2 mkfs.ext2 Yes sys-fs/e2fsprogs
ext3 mkfs.ext3 Yes sys-fs/e2fsprogs
ext4 mkfs.ext4 Yes sys-fs/e2fsprogs
f2fs mkfs.f2fs Yes sys-fs/f2fs-tools
jfs mkfs.jfs Yes sys-fs/jfsutils
reiserfs mkfs.reiserfs Yes sys-fs/reiserfsprogs
xfs mkfs.xfs Yes sys-fs/xfsprogs
vfat mkfs.vfat Yes sys-fs/dosfstools
NTFS mkfs.ntfs Yes sys-fs/ntfs3g

Um beispielsweise die root-Partition (/dev/sda3) mit ext4 zu formatieren (wie in der Beispiel-Partitionsstruktur), würde man folgende Befehle verwenden:


root #mkfs.ext4 /dev/sda3

Erzeugen Sie nun die Dateisysteme auf den zuvor erzeugten Partitionen (oder logischen Laufwerken).

Aktivieren der Swap-Partition

mkswap ist der Befehl der verwendet wird um Swap-Partitionen zu initialisieren:

root #mkswap /dev/sda2

Zur Aktivierung der Swap-Partition verwenden Sie swapon:

root #swapon /dev/sda2

Erzeugen und aktivieren Sie jetzt die Swap-Partition mit den oben genannten Befehlen.

Einhängen der Root-Partition

Nun, da die Partitionen initialisiert sind und ein Dateisystem beinhalten, ist es an der Zeit, diese einzuhängen. Verwenden Sie den Befehl mount, aber vergessen Sie nicht die notwendigen Einhänge-Verzeichnisse für jede Partition zu erzeugen. Als Beispiel hängen wir die Root-Partition ein:

root #mount /dev/sda3 /mnt/gentoo
Notiz
Wenn sich /tmp/ auf einer separaten Partition befinden muss, ändern Sie die Berechtigungen nach dem Einhängen:
root #chmod 1777 /mnt/gentoo/tmp
Dies gilt ebenfalls für /var/tmp.

In der Anleitung wird später das Dateisystem proc (eine virtuelle Schnittstelle zum Kernel) zusammen mit anderen Kernel Pseudo-Dateisystemen eingehängt. Zunächst installieren wir jedoch die Gentoo Installationsdateien.