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 Vor- und Nachteilen 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 is warscheinlich das, welches die erste SCSI-Festplatte in einem
Linux System repräsentiert, namentlich /dev/sda.
Das obige Block-Device repräsentiert eine abstrakte Schnittstelle zur
Festplatte. Benutzerprogramme können diese Block Device benutzen, um Ihre
Festplatte anzusprechen, ohne sich darum zu kümmern, 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.
Slices
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 Alpha Systemen werden sie
Slices genannt.
4.b. Erstellung eines Partitionsschemas
Standard Partitionsschema
Als Beispiel nutzen wir das folgende Slice-Layout:
| Slice |
Beschreibung |
| /dev/sda1 |
Swap-Slice |
| /dev/sda2 |
Root-Slice |
| /dev/sda3 |
Gesamte Festplatte (benötigt) |
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 zur
Partitionierung Ihrer Festplatte verwenden (nur SRM) oder fdisk zur Partitionierung Ihrer Festplatte verwenden
(nur ARC/AlphaBIOS) fort.
Wie viele und wie groß?
Die Anzahl an Partitionen hängt von Ihrer Umgebung ab. Wenn Sie z.B. eine Menge
Benutzer 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 Performance. Gameserver sollten ein separates /opt haben, da
die meisten Game Server 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 Dateisystem mit der höchsten Performance 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
nur-lesen, nosuid (setuid-Bits werden ignoriert), noexec (executable-Bits
werden ignoriert) usw. mounten.
Jedoch haben mehrere Partitionen 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.
4.c. Benutzung von fdisk zur Partitionierung Ihrer Festplatte (nur SRM)
Die folgende Teile erklären, wie Sie das vorhin vorgestellte Slice-Layout
erstellen.
| Slice |
Beschreibung |
| /dev/sda1 |
Swap-Slice |
| /dev/sda2 |
Root-Slice |
| /dev/sda3 |
Gesamte Festplatte (benötigt) |
Passen Sie das Slice-Layout an Ihre Vorstellungen an.
Identifizierung verfügbarer Festplatten
Um herauszufinden, welche Festplatten Ihnen zur Verfügung stehen, benutzen Sie
die folgenden Befehle:
Befehlsauflistung 3.1: Identifizierung verfügbarer Festplatten |
# dmesg | grep 'drive$'
# dmesg | grep 'scsi'
|
Aus dieser Ausgabe sollten Sie in der Lage sein zu erkennen, welche Festplatten
erkannt wurden und deren besonderen /dev Eintrag abzulesen. In den
folgenden Abschnitten gehen wir von einer SCSI Festplatte auf
/dev/sda aus.
Starten Sie nun fdisk:
Befehlsauflistung 3.2: Starten von fdisk |
# fdisk /dev/sda
|
Löschen aller Slices
Wenn Ihre Festplatte vollständig leer ist müssen Sie zunächst ein BSD-Disklabel
erstellen.
Befehlsauflistung 3.3: Erstellen eines BSD-Disklabel |
Command (m for help): b
/dev/sda contains no disklabel.
Do you want to create a disklabel? (y/n) y
3 partitions:
# start end size fstype [fsize bsize cpg]
c: 1 5290* 5289* unused 0 0
|
Wir beginnen mit dem Löschen von allen Slices, außer des 'c'-Slice (eine
Anforderung für die Verwendung von BSD-Disklabels). Nachfolgend zeigen wir
Ihnen, wie Sie ein Slice (im Beispiel nutzen wir 'a') löschen können.
Wiederholen Sie den Schritt für alle Slices (wieder: außer des 'c'-Slice).
Benutzen Sie p um alle existierenden Slices anzuzeigen. d
benötigen Sie zum Löschen eines Slices.
Befehlsauflistung 3.4: Löschen eines Slice |
BSD disklabel command (m for help): p
8 partitions:
# start end size fstype [fsize bsize cpg]
a: 1 235* 234* 4.2BSD 1024 8192 16
b: 235* 469* 234* swap
c: 1 5290* 5289* unused 0 0
d: 469* 2076* 1607* unused 0 0
e: 2076* 3683* 1607* unused 0 0
f: 3683* 5290* 1607* unused 0 0
g: 469* 1749* 1280 4.2BSD 1024 8192 16
h: 1749* 5290* 3541* unused 0 0
BSD disklabel command (m for help): d
Partition (a-h): a
|
Nachdem Sie den Prozess für alle anderen Slices wiederholt haben, sollte die
Auflistung folgender ähnlich sehen:
Befehlsauflistung 3.5: Ansicht einer leeren Partitionstabelle |
BSD disklabel command (m for help): p
3 partitions:
# start end size fstype [fsize bsize cpg]
c: 1 5290* 5289* unused 0 0
|
Erstellen des Swap Slice
Auf Alpha-basierten Systemen benötigen Sie keine separate Bootpartition. Dennoch
kann der erste Zylinder nicht benutzt werden, da das aboot Image dort
abgelegt werden wird.
Wir werden ein Swap-Slice beginnend am dritten Cylinder mit einer Größe von 1
GB erstellen. Benutzen Sie n um ein neues Slice zu erstellen. Nachdem Sie
das Slice erstellt haben, ändern Sie den Typ mit 1 (eins) auf swap.
Befehlsauflistung 3.6: Erstellen der Swap Slice |
BSD disklabel command (m for help): n
Partition (a-p): a
First cylinder (1-5290, default 1): 3
Last cylinder or +size or +sizeM or +sizeK (3-5290, default 5290): +1024M
BSD disklabel command (m for help): t
Partition (a-c): a
Hex code (type L to list codes): 1
|
Nach diesen Schritten sollten Sie ein der folgenden Auflistung ähnliches Layout
sehen:
Befehlsauflistung 3.7: Slice-Layout nach dem Erstellen des Swap-Slice |
BSD disklabel command (m for help): p
3 partitions:
# start end size fstype [fsize bsize cpg]
a: 3 1003 1001 swap
c: 1 5290* 5289* unused 0 0
|
Erstellen des Root-Slice
Wir werden nun das Root-Slice anlegen, beginnend vom ersten Zylinder
nach dem Swap-Slice. Benutzen Sie den p Befehl um zu sehen, wo
das Swap-Slice endet. In unserem Beispiel ist dies 1003, das Root-Slice beginnt
also bei 1004.
Ein weiteres Problem ist, dass aktuell ein Bug in fdisk existiert.
Dadurch denkt fdisk, dass die Anzahl verfügbarer Zylinder Eins
über der realen Zahl der Zylinder liegt. In anderen Worten, wenn Sie nach dem
letzten Zylinder gefragt werden, verkleinern Sie die Zylindernummer (in diesem
Beispiel: 5290) um eins.
Wenn das Slice erstellt wurde, ändern Sie den Typ auf 8 für ext2.
Befehlsauflistung 3.8: Erstellen des Root-Slice |
D disklabel command (m for help): n
Partition (a-p): b
First cylinder (1-5290, default 1): 1004
Last cylinder or +size or +sizeM or +sizeK (1004-5290, default 5290): 5289
BSD disklabel command (m for help): t
Partition (a-c): b
Hex code (type L to list codes): 8
|
Ihr Slice-Layout sollte nun ähnlich dem folgenden aussehen:
Befehlsauflistung 3.9: Ansicht des Slice-Layout |
BSD disklabel command (m for help): p
3 partitions:
# start end size fstype [fsize bsize cpg]
a: 3 1003 1001 swap
b: 1004 5289 4286 ext2
c: 1 5290* 5289* unused 0 0
|
Speichern des Slice-Layout und Beenden von fdisk
Schließen Sie fdisk indem Sie w eingeben. Damit wird auch Ihr
Slice-Layout gespeichert.
Befehlsauflistung 3.10: Speichern und Verlassen von fdisk |
Command (m for help): w
|
Nachdem Ihre Slices nun erstellt sind, können Sie mit dem
Erstellen der Dateisysteme fortfahren
4.d. Benutzung von fdisk zur Partitionierung Ihrer Festplatte (nur ARC/AlphaBIOS)
Die folgende Teile erklären, wie Sie Ihre Festplatte mit einem Layout, ähnlich
dem vorhin beschriebenen, partitionieren.
| Partition |
Beschreibung |
| /dev/sda1 |
Boot-Partition |
| /dev/sda2 |
Swap-Partition |
| /dev/sda3 |
Root-Partition |
Passen Sie das Partitions-Layout an Ihre Vorstellungen an.
Identifizierung verfügbarer Festplatten
Um herauszufinden, welche Festplatten Ihnen zur Verfügung stehen, benutzen Sie
die folgenden Befehle:
Befehlsauflistung 4.1: Identifizierung verfügbarer Festplatten |
# dmesg | grep 'drive$'
# dmesg | grep 'scsi'
|
Aus dieser Ausgabe sollten Sie in der Lage sein zu erkennen, welche Festplatten
erkannt wurden und deren entsprechenden /dev Eintrag abzulesen. In
den folgenden Abschnitten gehen wir von einer SCSI-Festplatte auf
/dev/sda aus.
Starten Sie nun fdisk:
Befehlsauflistung 4.2: Starten von fdisk |
# fdisk /dev/sda
|
Löschen aller Partitionen
Wenn Ihre Festplatte vollständig leer ist müssen Sie zunächst ein DOS-Disklabel
erstellen.
Befehlsauflistung 4.3: Erstellen eines DOS-Disklabels |
Command (m for help): o
Building a new DOS disklabel.
|
Wir beginnen mit dem Löschen aller Partitionen. Das folgende zeigt, wie man
eine Partition löscht (in diesem Beispiel verwenden wir '1'). Wiederholen Sie
den Vorgang um alle anderen Partitionen zu löschen.
Benutzen Sie p um alle existierenden Partitionen anzuzeigen. d
benötigen Sie zum Löschen einer Partition.
Befehlsauflistung 4.4: Löschen einer Partition |
command (m for help): p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 478 489456 83 Linux
/dev/sda2 479 8727 8446976 5 Extended
/dev/sda5 479 1433 977904 83 Linux Swap
/dev/sda6 1434 8727 7469040 83 Linux
command (m for help): d
Partition number (1-6): 1
|
Erstellen der Boot-Partition
Auf Alpha-Systemen, die MILO zum booten verwenden, muss eine kleine vfat
Boot-Partition erstellt weren.
Befehlsauflistung 4.5: 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-8727, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-8727, default 8727): +16M
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
|
Erstellen der Swap-Partition
Wir werden eine Swap-Partition, beginnend am dritten Zylinder mit einer
Gesamtgröße von 1 GB, erstellen. Benutzen Sie n zur Erstellung einer
neuen Partition.
Befehlsauflistung 4.6: Erstellen der Swap-Partition |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (17-8727, default 17): 17
Last cylinder or +size or +sizeM or +sizeK (17-8727, default 8727): +1000M
Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)
|
Nach diesen Schritten sollten Sie ein der folgenden Auflistung ähnliches Layout
sehen:
Befehlsauflistung 4.7: Partitionsauflistung nach der Erstellung einer Swap-Partition |
Command (m for help): p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 16 16368 6 FAT16
/dev/sda2 17 971 977920 82 Linux swap
|
Erstellung der Root-Partition
Wir werden nun die Root-Partition erstellen. Verwenden Sie auch hier den
n Befehl.
Befehlsauflistung 4.8: Erstellung der Root-Partition |
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (972-8727, default 972): 972
Last cylinder or +size or +sizeM or +sizeK (972-8727, default 8727): 8727
|
Nach diesen Schritten sollten Sie ein der folgenden Auflistung ähnliches Layout
sehen:
Befehlsauflistung 4.9: Partitionsauflistung nach Erstellung der Root-Partition |
Command (m for help): p
Disk /dev/sda: 9150 MB, 9150996480 bytes
64 heads, 32 sectors/track, 8727 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 16 16368 6 FAT16
/dev/sda2 17 971 977920 82 Linux swap
/dev/sda3 972 8727 7942144 83 Linux
|
Speichern des Partitionslayouts und Beenden von fdisk
Speichern Sie fdisk indem Sie w. Dies speichert auch Ihr
Partitionslayout.
Befehlsauflistung 4.10: Speichern und verlassen von fdisk |
Command (m for help): w
|
Nachdem Ihre Partitionen nun erstellt sind, können Sie mit dem
Erstellen der Dateisysteme fortfahren
4.e. Erstellen der Dateisysteme
Einleitung
Jetzt sind Ihre Partitionen erstellt, so dass es nun an der Zeit ist
Dateisysteme anzulegen. Wenn Sie mit dem zufrieden sind, was wir Ihnen
vorschlagen, dann fahren Sie mit Dateisystem
auf einer Partition anlegen fort. Wenn nicht, lesen Sie weiter, um
ein wenig mehr über Dateisysteme zu lernen ...
Dateisysteme?
Verschiedene Dateisysteme sind verfügbar. Die meisten von ihnen sind stabil auf
der Alpha-Architektur.
ext2 ist das erprobte und wahre Linux Dateisystem, unterstützt aber kein
Metadata 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-Dateisystem, die
Metadata-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-tree Indexing Option die in fast allen Situationen hohe Performanz
ermöglicht. Sie können diese Indizierung aktivieren indem Sie
-O dir_index zum mke2fs Befehl hinzufügen. Kurz gesagt: ext3 ist
ein exzellentes Dateisystem.
ReiserFS ist ein B*-tree basierendes Dateisystem mit einer guten
Performance 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 Metadata 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 Metadata-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
einsatzbereit geworden und es gibt noch keine ausreichenden Erfahrungen, 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 passende Tools:
| Dateisystem |
Befehl |
| ext2 |
mke2fs |
| ext3 |
mke2fs -j |
| reiserfs |
mkreiserfs |
| xfs |
mkfs.xfs |
| jfs |
mkfs.jfs |
Um die Root-Partition (/dev/sda2 in unserem Beispiel) als ext3
zu formatieren, führen Sie folgenden Befehl aus:
Befehlsauflistung 5.1: Eine Partition mit einem Dateisystem formatieren |
# mke2fs -j /dev/sda2
|
Erstellen Sie nun die Dateisysteme auf Ihren neu erstellten Partionen (oder
logischen Volumes).
Aktivieren der Swap Partition
mkswap ist der Befehl, mit dem Sie die Swap Partition initialisieren:
Befehlsauflistung 5.2: Erstellen der Swap Signatur |
# mkswap /dev/sda1
|
Um die Swap Partition zu aktivieren, benutzen Sie swapon:
Befehlsauflistung 5.3: Aktivieren der Swap Partition |
# swapon /dev/sda1
|
Erstellen und aktivieren Sie jetzt Ihre Swap Partition.
4.f. Mounten
Nachdem Ihre Partitionen nun initialisiert sind und ein Dateisystem beinhalten,
ist es an der Zeit diese Partitionen zu mounten. Benutzen Sie den mount
Befehl. Vergessen Sie nicht die notwendigen Mount-Verzeichnisse für jede
erstellte Partition anzulegen. Als Beispiel mounten wir die root- und
boot-Partition:
Warnung:
Wegen einem Bug im e2fsprogs Paket müssen Sie explizit die mount -t ext3
Option verwenden, wenn Sie ein ext3-Dateisystem verwenden.
|
Befehlsauflistung 6.1: Mounten der Partitionen |
# mount /dev/sda2 /mnt/gentoo
# mount -t ext3 /dev/sda2 /mnt/gentoo
|
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 (eine virtuelle Schnittstelle zum
Kernel) auf /proc mounten. Zunächst müssen wir aber noch unsere
Dateien auf den Partitionen plazieren.
Fahren Sie mit dem Installation der Gentoo
Installationsdateien 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.
|