Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Inbetriebnahme Festplatten Partitionieren »

Unterabschnitte
  • RAID 0: Striping
  • RAID 1: Mirroring
  • RAID 5
  • RAID 10
  • Hardware-RAID
  • Software-RAID
  • Überblick über die Einrichtung unter Linux

RAID-Systeme

RAID-Systeme basieren auf Überlegungen der Autoren Patterson, Gibson und Katz, die sie 1987 in einem Artikel namens »A Case for Redundant Arrays of Inexpensive Disks (RAID)« veröffentlichten.

RAID-Systeme fassen mehrere Platten zu einer logischen Platte zusammen, sodass die laufenden Programme es gar nicht bemerken. Das Ziel des Artikels war es, durch Redundanzen eine höhere Ausfallsicherheit der Platteneinheit zu erreichen. Dabei wurden verschiedene Level, beginnend bei 1, vorgestellt. Später wurde der Level 0 hinzugefügt, obwohl er nichts mit Redundanz zu tun hat. Heute sind hauptsächlich die RAID-Level 0, 1, 5 und schließlich 10 implementiert.

RAID ist eine Technologie, die für Hochverfügbarkeitsrechner unerlässlich ist. Damit verliert ein Plattencrash seinen Schrecken. Diese Systeme sind kein Rundumschutz, sondern verhindern nur den sofortigen Systemstillstand aufgrund der meisten physikalischen Festplattendefekte. Ausfälle durch Anwenderfehler, Programmfehler oder Systemfehler aus anderen Quellen verhindern sie nicht. RAID macht also die Datensicherung keineswegs überflüssig.

RAID 0: Striping

Dieses Verfahren macht aus mehreren physikalischen Platten eine virtuelle. Der offenkundige Vorteil ist, dass man sich nicht um die Verteilung der Verzeichnisse auf die verschiedenen Platten kümmern muss. Dadurch kann es nicht passieren, dass eine Platte vollgeschrieben wird, während die anderen noch massenhaft Platz haben. Dazu kommt, dass es im Extremfall sogar möglich ist, Dateien auf Platten zu speichern, die größer sind als jede einzelne der beteiligten Festplatten.

Auf der anderen Seite steigert das Striping den Durchsatz. Striping bedeutet, dass die Blöcke abwechselnd auf den Platten verteilt sind. Da erwartet wird, dass in vielen Fällen die Dateien sequenziell geschrieben und gelesen werden, wird immer im Wechsel auf die verschiedenen Laufwerke zugegriffen. Im Schnitt wird eine optimale Verteilung der Belastung auf alle Platten erreicht. Dadurch können Parallelisierungsvorteile genutzt werden, die beim sequenziellen Schreiben auf eine einzige Platte nicht erreichbar sind.

RAID 0 hat keinerlei Redundanz, und so ist im Falle des Versagens einer Platte auch der Bereich der anderen Platten betroffen, da die Daten ja nicht auf separaten Dateisystemen liegen.

RAID 1: Mirroring

RAID 1 verwendet mindestens zwei Platten, auf die quasi alle Daten doppelt geschrieben werden. Fällt eine Platte aus, springt die überlebende Platte ein. Die Performance einer solchen Platte ist beim Schreiben geringer als bei normalen Laufwerken, aber auch nicht etwa halb so hoch, da der Controller eine Parallelverarbeitung beim Schreiben erzielen kann. Beim Lesen sollte es keinen Performanceverlust geben.

Als entscheidender Nachteil dieses Verfahrens gilt der hohe Preis pro MByte Speicherkapazität, da doppelt so viele Platten gebraucht werden.

RAID 5

Bei RAID 5 werden mehrere Platten (üblicherweise drei bis fünf) so zusammengefasst, dass der Ausfall einer Platte den Betrieb nicht unterbricht. Das funktioniert auf der Basis von Prüfsummen, die so auf die Platten verteilt werden, dass bei einem Ausfall einer Platte die verbleibenden Platten die Informationen der ausgefallenen errechnen können. Dabei verliert man durch die redundante Speicherung etwas von dem Speicherplatz, den die verwendeten Platten in der Summe bieten würde und eine gewisse Performance, da natürlich das redundante Verteilen der Daten ein wenig Zeit in Anspruch nimmt. Die Lesezugriffe sind aufgrund des Stripings im Verhältnis zu einer einfachen Platte beschleunigt.

RAID 10

RAID 10 ist kein eigenständiger RAID-Level, sondern eigentlich nur die Kombination von RAID 0 mit RAID 1. Es werden also zwei mal zwei Platten per Striping verbunden. Dann werden die Plattenpaare als Spiegelplatten verwendet. Man könnte RAID 10 als beschleunigte Spiegelung ansprechen, denn RAID 10 nutzt die Beschleunigung von RAID 0 und die Redundanz von RAID 1. Im Gegensatz zu RAID 5 ist ein solcher Verbund also schneller, hat aber immer noch den Speicherverlust von 50% durch das Spiegeln.

Hardware-RAID

Zunächst wurde RAID auf Controllerebene, also in Hardware realisiert. An einen Controller werden mehrere Festplatten angeschlossen, die gemeinsam das RAID-System darstellen. Aus Sicht des Betriebssystems ist nicht zu erkennen, dass es sich um mehrere Platten handelt, sondern es betrachtet den Verbund wie eine Platte.

Es gibt zwei Arten, ein RAID-System zu installieren. Die erste Variante ist, einen RAID-Controller zu verwenden, an den mehrere Platten angeschlossen werden. In den meisten Fällen werden das SCSI-Platten sein. Die andere Variante ist, dass man ein externes RAID-System verwendet, das intern einen RAID-Controller besitzt, nach außen aber einfach wie eine gewöhnliche SCSI-Platte angeschlossen wird. Die zweite Variante ist natürlich etwas einfacher in der Handhabung. Die erste Lösung kann daraus Vorteile ziehen, dass sie die Durchsatzvorteile der parallelen Plattenabfragen direkt über den schnellen Systembus und nicht mehr über einen SCSI-Bus quetschen muss.

Hardware-RAID besitzt fast immer auch die Möglichkeit des Hotplugging. Das bedeutet, dass im laufenden Betrieb die Platten gewechselt werden können. Ausgefallene Platten werden meist durch akustische oder Lichtsignale gemeldet und können herausgezogen werden. Eine Ersatzplatte, die man als kluger Administrator natürlich vorrätig im Schrank liegen hat, kann eingeschoben werden und wird vom Controller wieder ins System eingebunden. Sobald der Controller den Datenbestand der Festplatte wieder aus den verbliebenen Platten restauriert hat, ist das System wieder gegen einen Festplattencrash gesichert.

Software-RAID
Unter Linux wurde RAID auf der Basis des Betriebssystems entwickelt. Es basiert nicht mehr auf ganzen Platten, sondern auf Partitionen. Damit das Striping effektiv ist, müssen die verwendeten Partitionen ähnlich groß sein. Sowohl für das Striping als auch für die Redundanz ist es wichtig, dass die verwendeten Partitionen auf verschiedenen physikalischen Plattenlaufwerken liegen. Das diesbezügliche HOWTO wird noch deutlicher und sagt, dass es »so gut wie immer unsinnig ist, innerhalb eines RAID-Verbundes mehrere Partitionen auf dieselbe Festplatte zu legen«.Linux Software-RAID HOWTO. v0.2.11-2, 5. April 2000. Kap. 3.1. Hardware, letzter Absatz.

Da die Grundlage eines solchen RAID-Verbundes Partitionen sind, ist es irrelevant ist, ob sie auf IDE oder SCSI-Platten liegen. Auch ein Mischbetrieb ist möglich. Allerdings weist das Software-RAID-HOWTO darauf hin, dass IDE-Platten kaum zu parallelisieren sind, selbst wenn sie an verschiedenen Controllern laufen. Performancegewinne wären vor allem bei SCSI-Platten zu erwarten.

Überblick über die Einrichtung unter Linux

Hier soll in Stichworten ausgeführt werden, wie man ein Software-RAID installiert. Dazu muss der Linux-Kernel das Software-RAID unterstützen. In den aktuellen Distributionen ist das normalerweise gewährleistet. Als Beispiel soll ein RAID 0 auf zwei SCSI-Platten installiert werden.

Damit das RAID automatisch beim nächsten Boot aktiviert wird, müssen die Partitionen einen speziellen Typ erhalten, den man mit dem Partitionierungstool fdisk setzen kann. Dazu wird fdisk für jede Platte gestartet, die eine Partition enthält, die in das RAID eingebunden werden soll. Mit dem Befehl t wird der Typ der Partition verändert. Hier muss für die Partition fd eingetragen werden. Das ist die Identifikation für »Linux raid auto«:

Anschließend muss in der Konfigurationsdatei /etc/raidtab definiert werden, wie das neue RAID auszusehen hat.

raiddev /dev/md0
        raid-level              0
        nr-raid-disks           2
        persistent-superblock   1
        chunk-size              4

device                  /dev/sda1
        raid-disk               0
        device                  /dev/sdb1
        raid-disk               1

Der Eintrag persistent-superblock erreicht, dass das RAID beim Boot automatisch gestartet werden kann. Die chunk-size legt für das Striping fest, wie groß der Datenblock ist, der auf einer Partition gehalten wird. Im Beispiel werden bei einer größeren Datei die ersten 4 KByte auf sda1, die nächsten 4 KByte auf sdb1 geschrieben und so fort. Die Bedeutung der anderen Parameter dürfte offenkundig sein. Nachdem die Datei raidtab erstellt ist, kann das RAID mit dem Befehl mkraid gestartet werden:

mkraid /dev/md0

Anschließend kann das RAID wie eine normale Partition über die Gerätedatei /dev/md0 angesprochen werden, und es kann ein Dateisystem auf ihm erstellt werden.



« Inbetriebnahme | Festplatten | Partitionieren »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de