Handbuch:PPC64/Installation/Festplatten

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

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎polski • ‎русский • ‎українська • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
PPC64 Handbook
Installation
About the installation
Choosing the media
Configuring the network
Preparing the disks
Installing stage3
Installing base system
Configuring the kernel
Configuring the system
Installing tools
Configuring the bootloader
Finalizing
Working with Gentoo
Portage introduction
USE flags
Portage features
Initscript system
Environment variables
Working with Portage
Files and directories
Variables
Mixing software branches
Additional tools
Custom package repository
Advanced features
Network configuration
Getting started
Advanced configuration
Modular networking
Wireless
Adding functionality
Dynamic management


Einführung in blockorientierte Geräte

Blockorientierte Geräte

Schauen wir uns die Festplattenbezogenen Aspekte von Gentoo Linux und Linux im Allgemeinen mit Linux Dateisystemen, Partitionen und blockorientierten Geräten (Block Devices) an. Wenn Sie die Vor- und Nachteile von Festplatten und Dateisystemen verstanden haben werden wir die 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 mit neuem libata Framework im Kernel werden so benannt. Bei der Verwendung des alten Geräte Framework 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 anderes 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.


Partitions and slices

Although it is theoretically possible to use a full disk to house a Linux system, this is almost never done in practice. Instead, full disk block devices are split up in smaller, more manageable block devices. On most systems, these are called partitions. Other architectures use a similar technique, called slices.

Designing a partition scheme

How many partitions and how big?

The number of partitions is highly dependent on the environment. For instance, if there are lots of users, then it is advised to have /home/ separate as it increases security and makes backups easier. If Gentoo is being installed to perform as a mail server, then /var/ should be separate as all mails are stored inside /var/. A good choice of filesystem will then maximize the performance. Game servers will have a separate /opt/ as most gaming servers are installed there. The reason is similar for the /home/ directory: security and backups. In most situations, /usr/ is to be kept big: not only will it contain the majority of applications, it typically also hosts the Gentoo ebuild repository (by default located at /usr/portage) which already takes around 650 MiB. This disk space estimate excludes the packages/ and distfiles/ directories that are generally stored within this ebuild repository.

It very much depends on what the administrator wants to achieve. Separate partitions or volumes have the following advantages:

  • Choose the best performing filesystem for each partition or volume.
  • The entire system cannot run out of free space if one defunct tool is continuously writing files to a partition or volume.
  • If necessary, file system checks are reduced in time, as multiple checks can be done in parallel (although this advantage is more with multiple disks than it is with multiple partitions).
  • Security can be enhanced by mounting some partitions or volumes read-only, nosuid (setuid bits are ignored), noexec (executable bits are ignored) etc.

However, multiple partitions have disadvantages as well. If not configured properly, the system might have lots of free space on one partition and none on another. Another nuisance is that separate partitions - especially for important mount points like /usr/ or /var/ - often require the administrator to boot with an initramfs to mount the partition before other boot scripts start. This isn't always the case though, so results may vary.

There is also a 15-partition limit for SCSI and SATA unless the disk uses GPT labels.

What about swap space?

There is no perfect value for the swap partition. The purpose of swap space is to provide disk storage to the kernel when internal memory (RAM) is under pressure. A swap space allows for the kernel to move memory pages that are not likely to be accessed soon to disk (swap or page-out), freeing memory. Of course, if that memory is suddenly needed, these pages need to be put back in memory (page-in) which will take a while (as disks are very slow compared to internal memory).

When the system is not going to run memory intensive applications or the system has lots of memory available, then it probably does not need much swap space. However, swap space is also used to store the entire memory in case of hibernation. If the system is going to need hibernation, then a bigger swap space is necessary, often at least the amount of memory installed in the system.


Default: Using mac-fdisk

Wichtig
These instructions are for the Apple G5 system.

Start mac-fdisk:

root #mac-fdisk /dev/sda

First delete the partitions that have been cleared previously to make room for Linux partitions. Use d in mac-fdisk to delete those partition(s). It will ask for the partition number to delete.

Second, create an Apple_Bootstrap partition by using b. It will ask what block to start from. Enter the number of the first free partition, followed by a p. For instance this is 2p.

Notiz
This partition is not a "boot" partition. It is not used by Linux at all; there is no need to place any filesystem on it and it should never be mounted. PPC users don't need an extra partition for /boot.

Now create a swap partition by pressing c. Again mac-fdisk will ask what block to start from. As we used 2 before to create the Apple_Bootstrap partition, enter 3p. When asked for the size, enter 512M (or whatever size needed). When asked for a name, enter swap (mandatory).

To create the root partition, enter c, followed by 4p to select from what block the root partition should start. When asked for the size, enter 4p again. mac-fdisk will interpret this as "Use all available space". When asked for the name, enter root (mandatory).

To finish up, write the partition to the disk using w and q to quit mac-fdisk.

Notiz
To make sure everything is ok, run mac-fdisk once more and check whether all the partitions are there. If not all created partitions are shown, or it is missing some of the changes that were made, then reinitialize the partitions by pressing i in mac-fdisk. Note that this will recreate the partition map and thus remove all the partitions.

Alternative: Using fdisk

Wichtig
The following instructions are for IBM pSeries, iSeries, and OpenPower systems.
Notiz
When planning to use a RAID disk array for the Gentoo installation on POWER5-based hardware, first run iprconfig to format the disks to Advanced Function format and create the disk array. Emerge sys-fs/iprutils after the installation is complete.

If the system has an ipr-based SCSI adapter, start the ipr utilities now.

root #/etc/init.d/iprinit start

The following parts explain how to create the example partition layout described previously, namely:

Partition Description
/dev/sda1 PPC PReP Boot partition
/dev/sda2 Swap partition
/dev/sda3 Root partition

Change the partition layout according to personal preference.

Viewing current partition layout

fdisk is a popular and powerful tool to split a disk into partitions. Fire up fdisk on the current disk (in our example, we use /dev/sda):

root #fdisk /dev/sda
Command (m for help)

If there is still an AIX partition layout on the system, then the following error message will be displayed:

root #fdisk /dev/sda
  There is a valid AIX label on this disk.
  Unfortunately Linux cannot handle these
  disks at the moment.  Nevertheless some
  advice:
  1. fdisk will destroy its contents on write.
  2. Be sure that this disk is NOT a still vital
     part of a volume group. (Otherwise you may
     erase the other disks as well, if unmirrored.)
  3. Before deleting this physical volume be sure
     to remove the disk logically from your AIX
     machine.  (Otherwise you become an AIXpert).

Don't worry, new empty DOS partition table can be created by pressing o.

Warnung
This will destroy any installed AIX version!

Type p to display the disk current partition configuration:

Command (m for help):p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          12       53266+  83  Linux
/dev/sda2              13         233      981571+  82  Linux swap
/dev/sda3             234         674     1958701+  83  Linux
/dev/sda4             675        6761    27035410+   5  Extended
/dev/sda5             675        2874     9771268+  83  Linux
/dev/sda6            2875        2919      199836   83  Linux
/dev/sda7            2920        3008      395262   83  Linux
/dev/sda8            3009        6761    16668918   83  Linux

This particular disk is configured to house six Linux filesystems (each with a corresponding partition listed as "Linux") as well as a swap partition (listed as "Linux swap").

Removing all partitions

First remove all existing partitions from the disk. Type d to delete a partition. For instance, to delete an existing /dev/sda1:

Command (m for help):d
Partition number (1-4): 1

The partition has been scheduled for deletion. It will no longer show up when typing p, but it will not be erased until the changes have been saved. If a mistake was made and the session needs to be aborted, then type q immediately and hit Enter and none of the partitions will be deleted or modified.

Now, assuming that indeed all partitions need to be wiped out, repeatedly type p to print out a partition listing and then type d and the number of the partition to delete it. Eventually, the partition table will show no more partitions:

Command (m for help):p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
  
Device Boot    Start       End    Blocks   Id  System

Now that the in-memory partition table is empty, let's create the partitions. We will use a default partitioning scheme as discussed previously. Of course, don't follow these instructions to the letter but adjust to personal preference.

Creating the PPC PReP boot partition

First create a small PReP boot partition. Type n to create a new partition, then p to select a primary partition, followed by 1 to select the first primary partition. When prompted for the first cylinder, hit Enter. When prompted for the last cylinder, type +7M to create a partition 7 MB in size. After this, type t to set the partition type, 1 to select the partition just created and then type in 41 to set the partition type to "PPC PReP Boot". Finally, mark the PReP partition as bootable.

Notiz
The PReP partition has to be smaller than 8 MB!
Command (m for help):p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
  
   Device Boot      Start         End      Blocks   Id  System
Command (m for help):n
Command action
      e   extended
      p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-6761, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-6761, default
6761): +8M
Command (m for help):t
Selected partition 1
Hex code (type L to list codes): 41
Changed system type of partition 1 to 41 (PPC PReP Boot)
Command (m for help):a
Partition number (1-4): 1
Command (m for help):

Now, when looking at the partition table again (through p), the following partition information should be shown:

Command (m for help):p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1  *            1           3       13293   41  PPC PReP Boot

Creating the swap partition

Now create the swap partition. To do this, type n to create a new partition, then p to tell fdisk to create a primary partition. Then type 2 to create the second primary partition, /dev/sda2 in our case. When prompted for the first cylinder, hit Enter. When prompted for the last cylinder, type +512M to create a partition 512MB in size. After this, type t to set the partition type, 2 to select the partition just created and then type in 82 to set the partition type to "Linux Swap". After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           3       13293   41  PPC PReP Boot
/dev/sda2               4         117      506331   82  Linux swap

Creating the root partition

Finally, create the root partition. To do this, type n to create a new partition, then p to tell fdisk to create a primary partition. Then type 3 to create the third primary partition, /dev/sda3 in our case. When prompted for the first cylinder, hit Enter. When prompted for the last cylinder, hit enter to create a partition that takes up the rest of the remaining space on the disk. After completing these steps, typing p should display a partition table that looks similar to this:

Command (m for help):p
Disk /dev/sda: 30.7 GB, 30750031872 bytes
141 heads, 63 sectors/track, 6761 cylinders
Units = cylinders of 8883 * 512 = 4548096 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           3       13293   41  PPC PReP Boot
/dev/sda2               4         117      506331   82  Linux swap
/dev/sda3             118        6761    29509326   83  Linux

Saving the partition layout

To save the partition layout and exit fdisk, type w.

Command (m for help):w


Erstellung von Dateisystemen

Einleitung

Jetzt da die Partitionen erzeugt sind, ist es an der Zeit ein Dateisystem 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 Partition anlegen fortfahren. Andernfalls lesen Sie bitte weiter um über die verfügbaren Dateisysteme zu erfahren ...

Dateisysteme

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

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.
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).

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 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 kann dies mit dem folgenden Befehl erfolgen:

root #mke2fs -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 #mke2fs -i <ratio> /dev/<device>

Dateisystem auf Partition anlegen

Um ein Dateisystem auf einer Partition oder einem Datenträger zu erstellen, gibt es für jedes mögliche Dateisystem Werkzeuge:

Dateisystem Befehl
ext2 mkfs.ext2
ext3 mkfs.ext3
ext4 mkfs.ext4
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs
vfat mkfs.vfat

Um beispielsweise die Boot-Partition (/dev/sda1) in ext2 und die Root-Partition (/dev/sda3) in ext4 wie in der Beispiel-Partitionsstruktur zu bekommen, würden die folgenden Befehle benutzt:

root #mkfs.ext2 /dev/sda1
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

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- und Boot-Partition ein:

root #mount /dev/sda3 /mnt/gentoo
root #mkdir /mnt/gentoo/boot
root #mount /dev/sda1 /mnt/gentoo/boot
Notiz
Wenn sich /tmp/ auf einer separaten Partition befinden muss, ändern Sie die Berechtigungen nach dem Einhängen folgendermaßen:
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-Pseudodateisystemen eingehängt. Zunächst installieren wir jedoch die Gentoo Installationsdateien.