Handbuch:Alpha/Blöcke/Festplatten

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


Slices

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 Alpha-Systemen werden diese Slices genannt.

Notiz
In den folgenden Sektionen verwenden die Anweisungen zur Installation die Beispiel-Partitionierung des ARC/AlphaBIOS Setup. Bitte passen Sie diese Ihren persönlichen Vorstellungen an!

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.


Festplatte mit fdisk partitionieren (nur SRM)

Die folgenden Abschnitte erklären, wie das Slice-Layout Beispiel für SRM zu erstellen ist:

Slice Beschreibung
/dev/sda1 Swap Slice
/dev/sda2 Root Slice
/dev/sda3 Gesamte Festplatte (benötigt)

Ändern Sie das Slice Layout Ihren Vorstellungen entsprechend ab.

Verfügbare Festplatten identifizieren

Um herauszufinden welche Festplatten im System laufen, verwenden sie die folgenden Befehle:

Für IDE Festplatten:

root #dmesg | grep 'drive$'

Für SCSI Festplatten:

root #dmesg | grep 'scsi'

Die Ausgabe zeigt an, welche Festplatten erkannt wurden und deren jeweiligen /dev/ Eintrag. In den folgenden Abschnitten gehen wir davon aus, dass es sich um eine SCSI Festplatte auf /dev/sda handelt.

Starten Sie jetzt fdisk:

root #fdisk /dev/sda

Löschen aller Slices

Wenn die Festplatte komplett leer ist, dann erstellen Sie zunächst ein BDS Disklabel.

Command (m for help):b
/dev/sda contains no disklabel.
Do you want to create a disklabel? (y/n) y
A bunch of drive-specific info will show here
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  c:        1      5290*     5289*    unused        0     0

Wir beginnen mit dem Löschen aller Slices mit Ausnahme der 'c'-Slice (eine Anforderung bei der Nutzung von BSD Disklabels). Im Nachfolgenden zeigen wir, wie eine Slice gelöscht wird (im Beispiel verwenden wir 'a'). Wiederholen Sie den Vorgang um alle anderen Slices zu löschen (wieder mit Ausnahme der 'c'-Slice).

Verwenden Sie p um alle existierenden Slices anzuzeigen. d wird zum Löschen einer Slice betätigt.

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 diesen Vorgang für alle Slices wiederholt haben, sollte die Auflistung in etwa wie folgt aussehen:

BSD disklabel command (m for help):p
3 partitions:
#       start       end      size     fstype   [fsize bsize   cpg]                                    
  c:        1      5290*     5289*    unused        0     0

Swap Slice erstellen

Auf Alpha basierten Systemen gibt es keine Notwendigkeit für eine separate Boot Slice. Wie auch immer, der erste Zylinder darf nicht verwendet werden, weil das "aboot" Abbild dort abgelegt wird.

Wir werden eine Swap Slice beginnend beim dritten Zylinder, mit einer Gesamtgröße von 1 GB erstellen. Verwenden Sie n um eine neue Slice anzulegen. Nach der Erzeugung der Slice ändern Sie den Typ auf 1 (eins), was Swap bedeutet.

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 sollte Ihr Layout ähnlich dem folgenden aussehen:

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

Root Slice erstellen

Wer werden nun die Root Slice beginnend mit dem ersten Zylinder nach der Swap Slice erstellen. Verwenden Sie den p Befehl um zu sehen, wo die Swap Slice endet. In unserem Beispiel ist dies bei 1003, so dass die Root Slice bei 1004 beginnt.

Ein weiteres Problem ist, dass es derzeit einen Bug in fdisk gibt. Dieser führt dazu, dass fdisk meint es würde ein Zylinder mehr zur Verfügung stehen als tatsächlich der Fall ist. In anderen Worten: Wenn Sie nach dem letzten Zylinder gefragt werden, verringern Sie die Zylindernummer (im Beispiel: 5290) um eins.

Wenn die Slice erzeugt wurde ändern Sie den Typ für ext2 auf 8.

BSD 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

Das Slice Layout sollte nun ähnlich dem folgenden aussehen:

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

Slice Layout speichern und fdisk beenden

Beenden Sie das Programm fdisk durch Drücken der Taste w. Dies wird gleichzeitig das Slice Layout speichern.

Command (m for help):w

Festplatte mit fdisk partitionieren (nur ARC/AlphaBIOS)

Die folgenden Abschnitte beschreiben, wie das Slice-Layout Beispiel für ARC/AlphaBIOS erzeugt wird:

Slice Beschreibugn
/dev/sda1 Boot Partition
/dev/sda2 Swap Partition
/dev/sda3 Root Partition

Ändern Sie das Layout der Partitionen entsprechend Ihrer Vorstellungen ab.

Verfügbare Festplatten identifizieren

Um herauszufinden welche Festplatten im System laufen, verwenden Sie die Folgenden Befehle:

Für IDE Festplatten:

root #dmesg | grep 'drive$'

Für SCSI Festplatten:

root #dmesg | grep 'scsi'

Abhängig von der Ausgabe sollte einfach zu erkennen sein, welche Festplatten gefunden wurden und deren zugehörige /dev/ Einträge. In den folgenden Abschnitten gehen wir davon aus, Dass es sich um eine SCSI Festplatte an /dev/sda handelt.

Starten Sie jetzt fdisk:

root #fdisk /dev/sda

Löschen aller Partitionen

Wenn die Festplatte komplett leer ist, dann müssen Sie zuerst ein DOS Disklabel erstellen.

Command (m for help):o
Building a new DOS disklabel.

Wir beginnen mit dem Löschen aller Partitionen. Im folgenden wird gezeigt, wie man eine Partition löscht (im Beispiel verwenden wir '1'). Wiederholen Sie den Vorgang um auch alle anderen Partitionen zu löschen.

Verwenden Sie p um alle existierenden Partitionen anzeigen zu lassen. Betätigen Sie d zum 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

Boot Partition erstellen

Auf Alpha-Systemen die MILO zum Booten verwenden, müssen wir eine kleine vfat Bootpartition erstellen.

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)

Swap Partition erstellen

Wir werden eine Swap Partition mit einer Gesamtkapazität von 1 GB erzeugen. Drücken Sie n um eine neue Partition zu erstellen.

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): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)

Nach diesen Schritten sollte Ihr Layout ähnlich dem folgenden aussehen:

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

Root Partition erstellen

Wir werden nun die Roop Partition erzeugen. Verwenden Sie wieder einfach den Befehl n.

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 sollte Ihr Layout ähnlich dem folgenden aussehen:

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

Partitionslayout Speichern und fdisk beenden

Speichern Sie die Änderungen, die Sie in fdisk vorgenommen haben durch Eingabe von w. Durch diesen Befehl wird gleichzeitig auch das Programm beendet.

Command (m for help):w

Nachdem die Partitionen jetzt erstellt sind, fahren sie nun beim Abschnitt Dateisystem erstellen fort.