Gentoo Logo

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$'        (Für IDE Laufwerke)
# dmesg | grep 'scsi'          (Für SCSI Laufwerke)

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
Ein Haufen Laufwerksabhängiger Informationen wird hier angezeigt
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$'        (Für IDE Laufwerke)
# dmesg | grep 'scsi'          (Für SCSI Laufwerke)

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
(Bei ext3 Partitionen:)
# 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 ] [ > ] [ >> ]


Drucken

Alles ansehen

Seite aktualisiert 2. August 2005

Diese Übersetzung wird nicht länger gepflegt

Zusammenfassung: Um Gentoo installieren zu können, müssen Sie die benötigten Partitionen erstellen. Dieses Kapitel beschreibt, wie Sie eine Festplatte für die zukünftige Benutzung partitionieren.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Gentoo x86 Entwickler

Tavis Ormandy
Gentoo Alpha Entwickler

Jason Huebel
Gentoo AMD64 Entwickler

Guy Martin
Gentoo HPPA Entwickler

Pieter Van den Abeele
Gentoo PPC Entwickler

Joe Kallar
Gentoo SPARC Entwickler

John P. Davis
Bearbeiter

Pierre-Henri Jondot
Bearbeiter

Eric Stockbridge
Bearbeiter

Rajiv Manglani
Bearbeiter

Jungmin Seo
Bearbeiter

Stoyan Zhekov
Bearbeiter

Jared Hudson
Bearbeiter

Colin Morey
Bearbeiter

Jorge Paulo
Bearbeiter

Carl Anderson
Bearbeiter

Jon Portnoy
Bearbeiter

Zack Gilburd
Bearbeiter

Jack Morgan
Bearbeiter

Benny Chuang
Bearbeiter

Erwin
Bearbeiter

Joshua Kinard
Bearbeiter

Tobias Scherbaum
Bearbeiter

Grant Goodyear
Korrektor

Gerald J. Normandin Jr.
Korrektor

Donnie Berkholz
Korrektor

Ken Nowack
Korrektor

Lars Weiler
Mitarbeiter

Tobias Scherbaum
Übersetzer

Jens Schittenhelm
Übersetzer

Patrick Sudowe
Übersetzer

Torsten Veller
Übersetzer

Michael Frey
Übersetzer

Markus Nigbur
Übersetzer

Boris Ruppert
Übersetzer

Jan Hendrik Grahl
Übersetzer

Christian Hartmann
Korrektor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.