Haftungsausschluss:
Dieses Handbuch wurde durch eine neuere Version ersetzt und wird nicht länger gepflegt.
|
[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
4. Vorbereiten der Festplatte(n)
Inhalt:
4.a. Einführung in Block Devices
Block Devices
Wir werden einen guten Einblick in die Festplatten bezogenen Aspekte von Gentoo
Linux und Linux im allgemeinen, inklusive Linux Dateisystemen, Partitionen und
Block Devices erhalten.
Dann, sobald Sie mit den mehr oder weniger komplizierten Eigenschaften von
Festplatten und Dateisystemen vertraut sind, werden Sie durch den Prozess des
Partitionierens und der Dateisystemerstellung für Ihre Gentoo Linux Installation
geführt.
Zu Beginn werden wir Ihnen Block Devices vorstellen. Das berühmteste
Block Device ist wahrscheinlich das, welches das erste IDE Laufwerk in einem
Linux System repräsentiert, namentlich /dev/hda. Wenn Ihr System
SCSI oder SATA Laufwerke verwendet, dann wäre Ihre erste Festplatte
/dev/sda.
Das obige Block Device repräsentiert ein abstraktes Interface zur Festplatte.
Benutzerprogramme können dieses Block Device benutzen, um Ihre Festplatte
anzusprechen, ohne sich darum kümmern zu müssen, ob Ihre Festplatten IDE, SCSI oder
irgendwas anderes sind. Das Programm kann den Speicherplatz auf der Festplatte
einfach als eine Anhäufung von zusammenhängenden, beliebig zugreifbaren
512-Byte Blöcken ansprechen.
Partitionen
Obwohl es theoretisch möglich ist eine ganze Festplatte zu nutzen, um Ihr Linux
System zu beherbergen, wird dies in der Praxis so gut wie nie gemacht.
Stattdessen werden komplette Festplatten Block Devices in kleinere, besser
verwaltbare Block Devices unterteilt. Auf den meisten Systemen werden sie
Partitionen genannt. Andere Architekturen benutzen ähnliche Techniken,
welche Slices genannt werden.
Es wird zwischen drei Partitionstypen unterschieden:
primär, erweitert und logisch.
Eine primäre Partition ist eine Partition, deren Informationen im MBR
(Master Boot Record) gespeichert sind. Da ein MBR sehr klein ist (512 Bytes),
können nur vier primäre Partitionen definiert werden (zum Beispiel
/dev/hda1 bis /dev/hda4).
Eine erweiterte Partition ist eine spezielle primäre Partition (was
bedeutet, dass eine erweiterte Partition eine der vier möglichen primären
Partitionen sein muss), welche mehrere Partitionen beinhaltet. Eine solche
Partition existierte ursprünglich nicht, aber da vier Partitionen zu wenig sind,
wurden sie erfunden, um das Format zu erweitern ohne die Rückwärtskompabilität
zu verlieren.
Eine logische Partition ist eine Partition innerhalb einer erweiterten
Partition. Ihre Definitionen sind nicht im MBR gespeichert, sondern in der
erweiterten Partition.
Fortgeschrittenes Speichermanagement
Die x86 Installations CDs bieten Unterstützung für EVMS oder LVM2.
EVMS oder LVM2 erlauben es Ihnen Ihr Partitionssetup flexibler zu gestalten. Während
der Installationsanleitung konzentrieren wir uns auf "normale" Partitionen, es
ist aber gut zu wissen, dass EVMS und LVM2 genauso unterstützt werden.
4.b. Erstellen eines Partitionsschemas
Standard Partitionsschema
Wenn Sie nicht daran interessiert sind ein Partitionsschema für Ihr System zu
erstellen, können Sie das Partitionsschema verwenden, welches wir
in diesem Handbuch benutzen:
| Partition |
Dateisystem |
Größe |
Beschreibung |
| /dev/hda1 |
ext2 |
32M |
Boot Partition |
| /dev/hda2 |
(swap) |
512M |
Swap Partition |
| /dev/hda3 |
ext3 |
Rest der Festplatte |
Root Partition |
Wenn Sie daran interessiert sind zu erfahren, wie groß eine Partition sein
sollte, oder auch wieviele Partitionen (oder Volumes) Sie benötigen, lesen
Sie weiter. Anderenfalls fahren Sie nun Mit fdisk
Ihre Festplatte partitionieren fort.
Wie viele und wie groß?
Die Anzahl an Partitionen hängt von Ihrer Umgebung ab.
Wenn Sie z.B. eine Menge User haben, wollen Sie höchst wahrscheinlich Ihr
/home separat halten, da es die Sicherheit erhöht und Backups
einfacher macht. Wenn Sie Gentoo installieren um als Mailserver zu fungieren,
sollten Sie /var separat halten, da alle Mails in /var
gespeichert werden. Eine gute Wahl des Dateisystems maximiert dann zusätzlich
die Performanz. Gameserver sollten ein separates /opt haben, da die
meisten Gameserver dort installiert werden. Der Grund ist ähnlich wie bei
/home:Sicherheit und Backups. Es liegt definitiv in Ihrem Interesse
/usr groß zu behalten: es wird nicht nur die Mehrheit der Programme
enthalten; der Portage Baum allein belegt etwa 500Mbyte, ohne die
verschiedensten Quellen die darin gespeichert sind, mitzurechnen.
Wie Sie sehen können, hängt es sehr stark davon ab, was Sie erreichen wollen.
Separate Partitionen oder Volumes haben folgende Vorteile:
-
Sie können das Filesystem mit der höchsten Performanz für jede Partition oder
jedes Volume auswählen
-
Ihr System behält noch freien Speicherplatz, selbst wenn ein defektes Tool
ununterbrochen Dateien auf eine Partition oder ein Volume schreibt
-
Falls nötig können Dateisystem Checks zeitlich verkürzt werden, in dem
mehrere Checks parallel durchgeführt werden können (obwohl dieser Vorteil eher
mit mehreren Festplatten als mit mehreren Partitionen zum Tragen kommt)
-
Die Sicherheit kann erhöht werden, indem Sie einige Partitionen oder Volumes
read-only, nosuid (setuid bits werden ignoriert), noexec (executable bits
werden ignoriert) etc. mounten.
Wie dem auch sei, mehrere Partitionen haben einen großen Nachteil: wenn sie nicht
ordentlich konfiguriert werden, könnte das Resultat ein System sein, welches viel
Speicherplatz auf der einen Partition und keinen auf einer anderen frei hat.
Weiterhin gibt es ein 15 Partitionen Limit bei SCSI und SATA.
Als Beispiel zeigen wir Ihnen die Partitionierung einer 20GB Festplatte, welche
in einem Notebook zu Demonstrationszwecken genutzt wird (inklusive Webserver,
Mailserver, Gnome, ...):
Befehlsauflistung 2.1: Dateisystem Nutzung, Beispiel |
$ df -h
Filesystem Type Size Used Avail Use% Mounted on
/dev/hda5 ext3 509M 132M 351M 28% /
/dev/hda2 ext3 5.0G 3.0G 1.8G 63% /home
/dev/hda7 ext3 7.9G 6.2G 1.3G 83% /usr
/dev/hda8 ext3 1011M 483M 477M 51% /opt
/dev/hda9 ext3 2.0G 607M 1.3G 32% /var
/dev/hda1 ext2 51M 17M 31M 36% /boot
/dev/hda6 swap 516M 12M 504M 2% <not mounted>
|
/usr ist ziemlich voll (83% used), aber sobald die ganze Software
installiert ist, tendiert /usr nicht mehr dazu, allzuviel zu
wachsen.Die Zuweisung von einigen Gigabyte Festplattenspeicher für
/var erscheint exzessiv, Sie sollten aber daran denken, dass
Portage diese Partition standardmäßig zur Kompilierung von Paketen verwendet.
Wenn Sie /var eine etwas angemessenere Größe, wie z.B. 1GB,
zuweisen möchten, müssen Sie die PORTAGE_TMPDIR Variable in
/etc/make.conf auf eine Partition mit genügend freiem
Speicherplatz verweisen lassen, damit genug freier Speicher auch für extrem
große Pakete wie OpenOffice vorhanden ist.
4.c. Partitionieren Ihrer Festplatte
Die folgenden Teile erklären, wie das bereits beschriebene Beispiel
Partitionslayout erstellt wird:
| Partition |
Beschreibung |
| /dev/hda1 |
Boot Partition |
| /dev/hda2 |
Swap Partition |
| /dev/hda3 |
Root Partition |
Ändern Sie Ihr Partitionslayout nach Ihren eigenen Vorstellungen.
Die derzeitige Partitionstabelle ansehen
fdisk ist ein verbreitetes und mächtiges Tool um Ihre Festplatte in
Partitionen zu teilen. Starten Sie fdisk für Ihre Festplatte (in unserem
Beispiel benutzen wir /dev/hda):
Befehlsauflistung 3.1: Starten von fdisk |
# fdisk /dev/hda
|
Sobald Sie in fdisk sind, werden Sie mit folgendem Prompt begrüßt:
Befehlsauflistung 3.2: fdisk Prompt |
Command (m for help):
|
Drücken Sie p um Ihre derzeitige Partitionstabelle anzeigen zu lassen:
Befehlsauflistung 3.3: Eine Beispiel Partitionstabelle |
Command (m for help): p
Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
/dev/hda2 15 49 264600 82 Linux swap
/dev/hda3 50 70 158760 83 Linux
/dev/hda4 71 2184 15981840 5 Extended
/dev/hda5 71 209 1050808+ 83 Linux
/dev/hda6 210 348 1050808+ 83 Linux
/dev/hda7 349 626 2101648+ 83 Linux
/dev/hda8 627 904 2101648+ 83 Linux
/dev/hda9 905 2184 9676768+ 83 Linux
Command (m for help):
|
Diese Festplatte beherbergt sieben Linux Dateisysteme (jedes mit einer
dazugehörigen Partition, gelistet als "Linux") und auch eine Swap Partition
(gelistet als "Linux swap").
Löschen aller Partitionen
Zuerst entfernen wir alle existierenden Partitionen von der Festplatte. Drücken
Sie d um eine Partition zu löschen. Zum Beispiel um ein bestehendes
/dev/hda1 zu löschen:
Befehlsauflistung 3.4: Löschen einer Partition |
Command (m for help): d
Partition number (1-4): 1
|
Die Partition wurde zum Löschen markiert und wird nicht mehr angezeigt, wenn
Sie p drücken. Sie wird aber nicht gelöscht, bis Ihre Änderungen
gespeichert sind. Wenn Sie einen Fehler gemacht haben und ohne zu Speichern
abbrechen wollen, drücken Sie umgehend q und Enter; Ihre Partition wird
dann nicht gelöscht.
Angenommen, dass Sie wirklich alle Ihre Partitionen auf Ihrer Festplatte löschen
wollen, drücken Sie noch einmal p um die Partitionstabelle anzuzeigen und
dann d und die Nummer der Partition die Sie löschen wollen. Irgendwann
werden Sie eine leere Partitionstabelle haben:
Befehlsauflistung 3.5: Eine leere Partitionstabelle |
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
Command (m for help):
|
Jetzt, da die Partitionstabelle im Speicher leer ist, sind wir vorbereitet, um
die Partitionen zu erstellen. Wir werden ein Standard Partitionsschema benutzen,
wie wir es zuvor angesprochen haben.
Natürlich sollten Sie die Instruktionen nicht buchstäblich ausführen, wenn Sie
ein anderes Partitions Schema verwenden wollen!
Erstellen der Boot Partition
Zuerst erstellen wir eine kleine Boot Partition. Drücken Sie n um eine
neue Partition zu erstellen, dann p um eine primäre Partition zu wählen,
gefolgt von 1 für die erste primäre Partition. Wenn Sie nach dem ersten
Zylinder gefragt werden, drücken Sie Enter. Für den letzten Zylinder geben Sie
+32M ein, um eine 32 MB große Partition zu erzeugen.
Befehlsauflistung 3.6: Erstellen der Boot Partition |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M
|
Wenn Sie jetzt p drücken, sollten Sie die folgende Partitionstabelle
sehen:
Befehlsauflistung 3.7: Erstellte Boot Partition |
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 14 105808+ 83 Linux
|
Sie müssen diese Partition bootbar machen. Drücken Sie a um das bootable
Flag auf dieser Partition zu aktivieren und wählen Sie 1. Wenn Sie wiederum p drücken,
werden Sie feststellen, dass in der "Boot" Spalte ein * platziert
ist.
Erstellen der Swap Partition
Nun erstellen Sie die Swap Partition. Dazu drücken Sie n um
eine Partition zu erstellen, dann p um fdisk mitzuteilen, dass Sie eine
primäre Partition anlegen möchten. Dann drücken Sie 2 um die zweite
primäre Partition, dev/hda2 in unserem Fall, anzulegen. Wenn Sie
nach dem ersten Zylinder gefragt werden, drücken Sie Enter. Wenn Sie nach dem
letzen Zylinder gefragt werden, tippen Sie +512M um eine Partition mit
einer Größe von 512 MB zu erstellen. Nachdem Sie dies getan haben, müssen Sie mit
t den Partitionstyp festlegen, 2 um die gerade angelegte Partition
auszuwählen und dann 82 um den Partitionstyp als "Linux Swap"
festzulegen. Nachdem Sie diese Schritte abgeschlossen haben, drücken Sie
p und Sie erhalten eine Paritionstabelle, die dieser recht ähnlich
schaut:
Befehlsauflistung 3.8: Partitionstabelle nach dem Erstellen der Swap Partition |
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
|
Erstellen der Root Partition
Zum Schluss müssen sie noch die Root Partition erstellen. Dazu drücken
Sie n um eine Partition zu erstellen, dann p um fdisk mitzuteilen,
dass Sie eine primäre Partition anlegen möchten. Dann drücken Sie 3 um die
dritte primäre Partition, dev/hda3 in unserem Fall, anzulegen. Wenn Sie
nach dem ersten Zylinder gefragt werden, drücken Sie Enter. Wenn Sie nach dem
letzten Zylinder gefragt werden, tippen Sie Enter um eine Partition zu erstellen,
die den restlichen freien Platz belegt. Nachdem Sie diese Schritte abgeschlossen
haben, drücken Sie p und Sie erhalten eine Paritionstabelle, die dieser recht
ähnlich sieht:
Befehlsauflistung 3.9: Partitionstabelle nach dem Erstellen der Root Partition |
Command (m for help): p
Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 14 105808+ 83 Linux
/dev/hda2 15 81 506520 82 Linux swap
/dev/hda3 82 3876 28690200 83 Linux
|
Speichern der Partitionstabelle
Um die Partitionstablle zu speichern und fdisk zu verlassen, drücken Sie
w.
Befehlsauflistung 3.10: Speichern und fdisk verlassen |
Command (m for help): w
|
Nachdem Ihre Partitionen nun erstellt sind, können Sie mit dem
Dateisysteme erstellen fortfahren.
4.d. Dateisysteme erstellen
Einführung
Nachdem Ihre Partitionen nun erstellt sind, ist es Zeit für diese Dateisysteme
festzulegen. Wenn Sie sich keine Gedanken über das einzusetzende Dateisystem
machen (möchten), gehen Sie zum Eine Partition
mit einem Dateisystem formatieren Abschnitt vor, andernfalls lesen Sie
weiter um etwas über verfügbare Dateisysteme zu lernen ...
Dateisysteme?
Der Linux Kernel unterstützt zahlreiche Dateisysteme. Wir erklären ext2, ext3,
ReiserFS, XFS und JFS, da diese die unter Linux gebräuchlichsten Dateisysteme
sind.
ext2 ist das erprobte und wahre Linux Dateisystem, unterstützt aber kein
Metadaten Journaling, was bedeutet, dass routinemäßige Dateisystem Checks beim
Booten sehr zeitaufwändig sein können. Es gibt mittlerweile eine Auswahl an
journalisierenden Dateisystemen neuerer Generation, die die Konsistenzchecks sehr
schnell erledigen und dadurch im Vergleich mit den nicht-journalisierenden
Gegenstücken vorzuziehen sind. Jounalisierende Dateisysteme verhindern lange
Verzögerungen beim Booten, wenn sich das Dateisystem in einem inkonsistenten
Zustand befindet.
ext3 ist die journalisierende Version des ext2 Dateisystems, die
Metadaten Journaling für schnelle Wiederherstellung sowie andere verbesserte
Journaling Modi wie "full data" und "ordered data" Jornaling unterstützt. ext3
ist ein sehr gutes und verlässliches Dateisystem. Es hat eine zusätzliche B-Baum
Indexierungsoption, die in fast allen Situationen hohe Performanz ermöglicht.
Sie können diese Indexierung aktivieren, indem Sie -O dir_index zum
mke2fs Befehl hinzufügen. Kurz gesagt: ext3 ist ein exzellentes
Dateisystem.
ReiserFS ist ein B*-Baum basierendes Dateisystem mit einer guten
Performanz und überholt sowohl ext2 und ext3 im Umgang mit kleinen Dateien
(Dateien kleiner als 4k) oftmals mit einem Faktor von 10x-15x. ReiserFS skaliert
extrem gut und hat Metadaten Journaling. Seit Kernel 2.4.18+ ist ReiserFS
stabil und sowohl als Dateisystem für generelle Anwendungen, als auch für
extreme Fälle wie große Dateisysteme, den Gebrauch mit vielen kleinen Dateien,
den Gebrauch mit sehr großen Dateien und Verzeichnissen mit tausenden von
Dateien brauchbar.
XFS ist ein Dateisytem mit Metadaten Journaling, das mit einem robusten
Feature-Set kommt und auf Skalierbarkeit ausgelegt ist. Wir empfehlen den Einsatz
dieses Dateisystems nur auf Linux Systemen mit High-End SCSI und/oder Fibre Channel
Storage und einer redundaten Stromversorgung. Da XFS agressiv vom RAM gebraucht
macht, können unsachgemäß designte Programme (solche die keine
Vorsichtsmaßnahmen treffen, wenn Sie auf die Festplatte schreiben und davon
gibt es einige) dazu führen, dass eine ganze Menge Daten verloren gehen, wenn
das System unerwartet ausfällt.
JFS ist IBMs Hochleistungs Journaling Dateisystem. Es ist vor kurzem für
den Produktionsbetrieb einsatzbereit geworden, aber über das noch keine
aussagekräftigen Daten vorhanden sind, so dass seine allgemeine Stabilität an
diesem Punkt weder positiv noch negativ kommentiert werden kann.
Eine Partition mit einem Dateisystem formatieren
Um ein Dateisystem auf einer Partition oder einem Volume zu erstellen, gibt es
für jedes Dateisystem Tools:
| Dateisystem |
Kommando |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
| jfs |
mkfs.jfs |
Um die Boot Partition (/dev/hda1 in unserem Beispiel) als ext2 und
die Root Partition (/dev/hda3 in unserem Beispiel) als ext3 (wie in
unserem Beispiel) zu formatieren, führen Sie folgende Kommandos aus:
Befehlsauflistung 4.1: Eine Partition mit einem Dateisystem formatieren |
# mke2fs /dev/hda1
# mke2fs -j /dev/hda3
|
Erstellen Sie nun die Dateisysteme auf Ihren neu erstellten Partionen (oder
logischen Volumes).
Aktivieren der Swap Partition
mkswap ist das Kommando, mit dem Sie die Swap Partition initialisieren:
Befehlsauflistung 4.2: Erstellen der Swap Signatur |
# mkswap /dev/hda2
|
Um die Swap Partition zu aktivieren, benutzen Sie swapon:
Befehlsauflistung 4.3: Aktivieren der Swap Partition |
# swapon /dev/hda2
|
Erstellen und aktivieren Sie jetzt Ihre Swap Partition mit den gerade erwähnten
Kommandos.
4.e. Mounten
Nachdem Ihre Partitionen nun initialisiert sind und ein Dateisystem beinhalten,
ist es an der Zeit diese Partitionen zu mounten. Benutzen Sie das mount
Kommando. Vergessen Sie nicht die notwendigen Mount Verzeichnisse für jede
erstellte Partition anzulegen. Als Beispiel mounten wir die root und boot
Partition:
Befehlsauflistung 5.1: Mounten von Partitionen |
# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot
|
Notiz:
Wenn Sie /tmp auf eine separate Partition legen möchten, stellen
Sie sicher, dass Sie die Berechtigungen nach dem Mounten ändern:
chmod 1777 /mnt/gentoo/tmp. Dies gilt auch für /var/tmp.
|
Sie müssen auch noch das proc Dateisystem (ein virtuelles Interface zum Kernel)
auf /proc mounten. Zunächst müssen wir jedoch alle Dateien auf der
Partition ablegen.
Fahren Sie mit der Installation der Gentoo
Installations Dateien fort.
[ << ]
[ < ]
[ Hauptseite ]
[ > ]
[ >> ]
Die Inhalte dieses Dokuments sind, sofern nicht explizit
anders genannt, unter der Creative Commons -
Namensnennung / Weitergabe Lizenz lizenziert. Die Gentoo Name and Logo
Usage Guidelines treffen zu.
|