Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


Partitionierung

[ Partitionierung ] RAID ] LVM ] RAID1 + LVM ] Disk-Quotas ] Hardware-Information/Diagnose ] Kernel ]


Das Partitionieren der Festplatte ist ein zentraler Bestandteil bei der Installation von Linux. Um eine möglichst große Performance und Stabilität des Systems zu erreichen, sollten jedoch einige Dinge bezüglich der Partitionierung beachtet werden. Die wichtigsten Faktoren sind, dass zu benutzende Dateisystem und die Aufteilung der einzelnen Partitionen.
In Folgenden wird kurz auf die Grundlagen der Partitionierung eingegangen, weiterhin wird anhand eines einfachen Beispiels mittels Debian-Installer die Partitionierung einer Festplatte während der Installation gezeigt.

Grundlagen der Partitinierung

Festplattenaufbau/Partitionsarten

Eine Festplatte besteht aus vielen einzelnen Spuren, welche konzentrisch angelegt sind, d.h. es gibt nicht eine Spur, wie bei einer Schaltplatte, sondern viele Spuren liegen kreisförmig nebeneinander. Alle Spuren sind in Sektoren eingeteilt, wobei ein Sektor die kleinste Einheit der Festplattenaufteilung ist. Alle Sektoren sind hintereinander aufgereiht und von '0' bis 'n' durchgezählt, wobei jeder Sektor 512 Bytes speichern kann. Gelegentlich findet man auch Festplatten mit Sektorgrößen von 1024 oder gar 2048 Byte. Interessant ist der erste Sektor '0', in diesem wird die "Partitionstabelle" hineingeschrieben. In der Partitionstabelle wird festgehalten wie die Festplatte aufgeteilt ist. Da ein Sektor nur 512 Byte aufnehmen kann ist die Anzahl der Partitionen begrenzt. Genau gesagt, teilen sich vier Partitionen die 512 Bytes, jede dieser Partition wird 'Primäre-Partition' genannt.
Um das Problem von nur vier Partitionen zu umgehen, gibt es die 'Erweiterte-Partition', das ist nichts anderes als eine spezieller Typ der 'Primären- Partition'. Es kann nur eine 'Erweiterte-Partition' pro Festplatte geben, die einen der maximal vier möglichen Plätze für 'Primäre-Partitionen' verbraucht. In der 'Erweiterten-Partition' können fast beliebig viele 'Logische-Partitionen' erzeugt werden. Eine 'Erweiterte-Partition' ist sozusagen eine Art Container, der mehrer 'Logische Partitionen' beinhalten kann.
Die folgende Skizze sollte die Begriffe: 'Primäre-Partition', 'Erweiterte-Partition' und 'Logische-Partition' verdeutlichen:

Die Größen der einzelnen Partitions-Typen sind nur schematisch angedeutet, in der Realität sind die Maßstäbe anders.

Aufgrund Beschränkungen im PC-System und Betriebssystemen, sollte eine Festplatte nur eine 'Primare-Partition' haben. Alle weiteren Partitionen sollten als 'Logische-Partitionen' in einer 'Erweiterten Partition' angelegt werden. Auch das alte DOS-Partitionsprogramm: 'fdisk' lässt nur eine 'Primäre-Partition' zu.

Unter Unix bzw. Linux gibt es nur Dateien, dieses Prinzip erstreckt sich auch auf die Verwaltung von Festplatten. Im Folgenden ein Beispiel wie sich die Dateinamen für die einzelnen Partitionen unter '/dev' zusammensetzen. In diesem Beispiel werden die Dateinamen anhand von IDE/EIDE -Geräte abgeleitet:

/dev/hda1 = IDE/EIDE-Geräte erste primäre Partition
    /hd   = es handelt sich um ein IDE/EIDE-Gerät
       a  =
Primary Master Gerät
       b  = Primary Slave Gerät
       c  =
Secondary Master Gerät
       d  = Secondary Slave Gerät
        1 = erste primäre Partition
        2 = zweite primäre Partition
        3 = dritte primäre Partition
        4 = vierte primäre Partition
        5 = erste logische Partition
        6 = zweite logische Partition
        7 = u.s.w.

Bei SCSI- bzw. S-ATA-Festplatten beginnt der Dateinamen mit: '/sdxx', wobei 'x' wie bei IDE-Platte zu ersetzen ist.

Dateisysteme

Mit Linux-Dateisystemen sind Dateisystemtypen gemeint, in denen ein laufendes Linux-System seine Dateien und Verzeichnisse speichert. Linux kann mit mehreren Dateisystemtypen umgehen, das sind eigene reguläre Linux-Dateisysteme, mehrere von anderen Architekturen übernommene Dateisysteme und Pseudodateisysteme. Hier eine kleine Auswahl der wichtigsten File-Systeme die unter Linux für Festplatten genutzt werden können:

  • minix
    Minix-Dateisystem; Minix ist der eigentliche Vorgänger von Linux (von A. Tanenbaum).
  • ext2
    Ist das zweite erweiterte Dateisystem (von Remy Card). Es kann als das Standarddateisystem für neuere Linux-Installationen bezeichnet werden.
  • ext3
    Weiterentwicklung von 'ext2', es ist abwärtskompatibel zu seinem Vorgänger 'ext2', enthält aber zusätzlich Journaling-Funktionalität.
  • reiserfs
    Eines der ersten Journaling-File-Systeme für Linux.
  • JFS
    Jornaling-File-System von der Fa.: IBM.
  • XFS
    Jornaling-File-System von der Fa.: SGI.
  • fat16
    Das DOS-Dateisystem; Linux kann so DOS-Disketten oder Festplattenpartitionen fest in den Verzeichnisbaum einbinden.
  • fat32
    Erweitertes 'fat16'-Dateisystem, wird z.B. bei Win 98, Win-NT und Win-XP verwendet.
  • ntfs
    Dateisystem von Windows 2000 und XP (sollte unter Linux nur lesend genutzt werden).
  • (Swap)
    Ein virtueller Speicher, der Linux erlaubt, mehr Programme und Daten zu bearbeiten, als eigentlich in den Hauptspeicher passen.

Bei Neuinstallationen sollte auf  Festplatten sollte nach Möglichkeit das 'ext3'-Dateisystem genutzt werden. Bei einer Grundinstallation mit automatischer Partitionsaufteilung unter Debian wird dieses auch vorgeschlagen.

Partitionsaufteilung

Im einfachsten Fall kommt ein Linux-System mit einer einzigen Partition plus einem Swap-Bereich aus. Für eine Aufteilung eines Systems auf mehrere Partitionen oder auch auf mehrere Festplatten sprechen folgende Argumente:

  • Betriebssicherheit des Systems
    Ist das System auf verschiedenen Partitionen aufgeteilt, kann bei einem Defekt einer Partition diese gezielt repariert bzw. aus der Datensicherung zurückgespielt werden. Im besten Fall ist nicht einmal eine für das Grundsystem notwendige Partition betroffen und das eigentliche System arbeitet normal weiter.
  • Einfacherer Wechsel des Systems
    Ist das Linux-System in separaten Partitionen untergebracht, ist es einfacher und risikoloser möglich eine neue Version oder gar Distribution einzusetzen.
  • Bessere Performance des Systems
    Das System ist insgesamt schneller, weil meist nicht die ganze Festplatte durchsucht werden muss. Der Festplattenkopf bewegt sich in einem bestimmtem Bereich und nicht über die ganze Festplatte.
  • Schutz vor überfüllten Systemen
    Benutzer können das System zum Ausfall bringen, indem sie bei der Ein-Partitions-Lösung die Festplatte voll schreiben. Für das System wichtige Dämonen quittieren möglicherweise ihren Dienst aufgrund der zu vollen Festplatte. Gerade wenn der Rechner mit dem Internet verbunden ist, können evtl. Angreifer die Größe der log-Dateien hochtreiben (z.B. bei Firewall-Lösungen) oder mit erspähten Logins und Passwörtern von Benutzern deren Bereiche füllen. Auch speziell bei Mail-Servern, die mit sinnlosen großen Mails attackiert werden, sollte dieses berücksichtigt werden.

Eine eindeutig beste Aufteilung für eine Patitionierung gibt es nicht, die Aufteilung der Partitionen sollte nach den Einsatzzweck des Systems ob Arbeitsplatzrechner, Server, Einplatz- oder Mehrplatzsystem geschehen. Sollen viele Benutzer eingerichtet werden, muss die /home-Partition entsprechend groß gewählt werden. Soll der Server für große Datenbanken, Logging- oder als WEB-Server eingesetzt werden, muss die Größe der /var-Partition angepasst werden. Bewährt hat sich eine Aufteilung als Empfehlung wie folgt:

Mount-Point: Empfohlene Größe:
/ 500 MB
/usr 2000 MB
/var 1000 MB
/home > 500 MB
/tmp > 500 MB
Swap ca. 2 x Hauptspeicher
Summe: ca. 5000 MB

Sollen viele Anwendungen unterhalb von '/opt' installiert werden, empfiehlt es sich diese in einer zusätzlichen Partition unterbringen. Auch wird empfohlen die Swap-Partition so zu dimensionieren, sodass der Hauptspeicher zweimal ausgelagert werden kann. Weiterhin sollte sich der Swap-Bereich bezüglich der Sektoren in der Mitte der Festplatte befinden.

Partitionierung mittels: 'Debian-Installer'

Mit dem Debian-Installer ist es möglich eine Partitionsaufteilung an den Festplatten während der Installation von Debian vorzunehmen. Im folgenden wird eine 41GB-IDE-Festplatte als 'Mehrbenutzer-Arbeitsplatzrechner' partitioniert. Dabei wird die gesamte Festplatte für Debian-Linux genutzt. Die Partitionsaufteilung entspricht dabei der obigen Skizze.
Die Bilder dieser Beispiel-Installation können zur Vergrößerung angeklickt werden:

klicken   klicken   klicken

Ausgehend vom 'Debian-Installer Hauptmenü' ist der Punkt: 'Festplatten partitionieren' aufzurufen.
Innerhalb des Partitionsprogramm ist der Punkt: 'Geführte Partitionierung' auszuwählen.
Als erstes sollte 'Gesamtes Laufwerk löschen' ausgewählt werden.

klicken   klicken   klicken

In Folgenden ist das 'Partitionsshema' auszuwählen. Der Debian-Installer bietet drei verschiedene Schemen an. Beim Punkt: 'Alle Dateien auf einer Partition' wird nur eine Partition und ein Swap-Bereich angelegt. In folgenden Punkt: 'Desktop-Computer' werden zwei Partitionen ('/' und '/home') und ebenfalls ein Swap-Bereich angelegt. In letzten Punkt: 'Mehrbenutzer-Arbeitsplatzrechner' werden insgesamt fünf Partitionen plus Swap-Bereich angelegt, dieser Punkt kommt den oben aufgeführten Empfehlungen am nächsten. Diese Schema eignet sich auch gut für den Serverbetrieb mit mehreren Nutzern.
Wieder zurück zum Grundmenü; wird die genaue Aufteilung der Partitionen, in diesem Fall für ein 'Mehrbenutzer-Arbeitsplatzrechner', angezeigt. Die einzelnen Größen der Partitionen wurden vom Debian-Installer aus Erfahrungswerten, aufgrund der Gesamtgröße der Festplatte ermittelt. Auch ist zu erkennen, dass der Installer mit Ausnahme der Swap-Patition ausschließlich das Dateisystem 'ext3' gewählt hat. Die Partitionierung kann nun mit dem Punkt: 'Partitionierung beenden und Änderungen übernehmen' abgeschlossen werden.
Nach einer Abschließenden Bestätigung mit '<Ja>', werden die Partitionen auf der Festplatte eingetragen und anschließend formatiert.

Die Installation kann nun fortgesetzt werden. In einem späteren Punkt sollte der modernere 'GRUB-Bootloader' zum Starten des Systems auf die Festplatte gebracht werden.

Anmerkungen

Auf Kommandozeilenebene zur Partitionierung unter Linux sind die Programme 'fdisk' und 'cfdisk' zu nennen. 'fdisk' ist seit vielen Jahren das  klassische Programm zum Partitionieren unter Linux. Das Programm ist ausgereift, aber leider nicht besonders intuitiv zu bedienen. Besser zu handhaben ist das Programm 'cfdisk'. Es handelt sich hierbei um eine eigenständiges Programm, dessen Bedienung über Cursor- und Tab-Taste erfolgt:

Nach dem Start werden alle gefundenen Partitionen mit ihrer Größe angezeigt, die zu modifizierende Partition brauch nur selektiert werden. Alle Änderungen bezüglich der Partitionierung lassen sich bequem mit 'cfdisk' durchführen.
Auch können zum Partitionieren der Festplatte Programme aus der Windows-Welt eingesetzt werden, wie z.B. das kommerzielle Produkt: 'Norton PartitionMagic' von 'Symantec'.

Um Partitionen einer Festplatte zu formatieren kann auf der Kommandozeile unter Linux für das Dateisystem: 'ext2' bzw. 'ext3' das Tool: 'mke2fs' genutzt werden. Der Aufruf kann wie folgt geschehen, hier zwei Beispiele:

mke2fs /dev/hda1
mke2fs -j /dev/hda9

In der ersten Zeile wird '/dev/hda1' mit dem ext2-Dateisystem und in der zweiten Zeile wird '/dev/hda9' mit dem ext3-Dateisystem versehen, wichtig für 'ext3' ist die Option '-j' (jornaling).
Eine Swap-Partition kann mit dem Kommando: 'mkswap' erzeugt werden. Anschließend muss die Swap-Partition aktiviert werden. Hierzu wieder ein Beispiel:

mkswap /dev/hda7
swapon /dev/hda7

In der ersten Zeile wird: '/dev/hda7' als Swap initialisieren; in der zweiten Zeile wird dieser dann aktiviert.

Soll eine ext2/ext3-Partitition überprüft und repariert, kann das Kommando 'e2fsck' hierfür genutzt werden. Weitere Informationen hierzu sind den Manualseiten zu entnehmen.

Um ein reiser-Filesystem zu erzeugen ist 'mkreiserfs' auf Kommandozeilenebene zu benutzen.

Weitere Infos

Linux Partition HOWTO http://www.tldp.org/HOWTO/Partition
Installation von Sarge mit dem Debian-Installer http://www.debian.org/devel/debian-installer/
Sarge Installations-Handbuch http://d-i.alioth.debian.org/manual/
Manualseiten zu: fdisk; cfdisk man fdisk; man cfdisk
Manualseiten zu: mke2fs; mkswap man mke2fs; man mkswap
Manualseiten zu: e2fsck; mkreiserfs man e2fsck; man mkreiserfs

Home ] Nach oben ] [ Partitionierung ] RAID ] LVM ] RAID1 + LVM ] Disk-Quotas ] Hardware-Information/Diagnose ] Kernel ]

letzte Änderung: 07. März 2006

 

Copyright © 2004 Norbert Eusterholz