|
Ein RAID-Device lohnt sich überall dort, wo viel auf die Festplatten
zugegriffen wird. So kann zum Beispiel ein RAID-0 oder RAID-5 als
/home Verzeichnis gemountet werden und das
Nächste als /var oder /usr.
Die Geschwindigkeitsvorteile sind gerade bei SCSI Hardware und
festplattenintensiven Softwarepaketen wie KDE, StarOffice oder
Netscape deutlich spürbar. Das ganze System fühlt sich erheblich
performanter an.
|
Mit einem RAID-1 System kann man z.B. die Sicherheit seiner Daten
erhöhen. Fällt eine Platte aus, befinden sich die Daten immer noch
auf der gespiegelten Partition. ähnliches gilt z.B. für ein RAID-5
System, welches zusätzlich zur erhöhten Sicherheit noch eine bessere
Performance bietet.
|
Hat man schon mehrere Festplatten in seinem System, stellt sich einem
doch die Frage, warum man eigentlich solch ein kostenloses Feature wie
Software-RAID nicht nutzen sollte. Man denke nur mal an die Preise für
gute Hardware-RAID Kontroller plus Speicher. Gerade der neue
Kernel-Patch erleichtert einem vieles, was bisher nur auf Umwegen möglich
war.
Schreitet die Entwicklung der Software-RAID Unterstützung unter Linux
weiterhin so gut fort und bedenkt man die stetig steigende Leistung
und die fallenden Preise von CPUs, so kann man sich denken, dass in
naher Zukunft die CPU-Leistung, die eine Software-RAID Lösung
benötigt, auch bei Standard-CPUs nicht mehr ins Gewicht fällt. Selbst
heute reichen für ein Software-RAID auf SCSI-Basis CPUs mit 200-300
MHz völlig aus. Ein RAID-0 mit SCSI-Festplatten soll sogar auf einem
486DX-2/66 halbwegs akzeptabel laufen.
|
|
Aufgrund des hauptsächlichen Lesevorgangs kann hier ein RAID-0 oder
RAID-5 Verbund empfohlen werden. Die Log-Dateien sollten allerdings
nicht auf einem RAID-5 Verbund liegen. Werden durch dynamische Seiten
Daten mit einer Datenbank ausgetauscht, gelten dieselben überlegungen
wie bei dem Datenbankabschnitt.
|
Die typischen Sytem-Log-Dateien erbringen im allgemeinen keine hohe
Dauerschreiblast. Hierbei ist es also egal, auf was für einem
RAID-Verbund sie liegen. Anders sieht es bei Log-Dateien aus, welche viele
Accounting-Informationen enthalten. Diese sollte man aufgrund der
allgemeinen Schreibschwäche eines RAID-5 Verbundes eher auf schnellere
RAID-Verbunde auslagern.
|
Oracle kann mit Tablespaces, die aus mehreren Datenfiles auf
unterschiedlichen Platten bestehen, umgehen. Um hier zu einer
vernünftigen Lastverteilung ohne RAID zu kommen, ist allerdings
einiges an Planung vorauszusetzen. Für die Datenfiles und Controlfiles
können RAID-0, RAID-1,
RAID-10 oder auch RAID-5 Verbunde empfohlen
werden; aus Sicherheitsgründen ist allerdings von RAID-0 Verbunden
abzuraten. Für die Online-Redo-Log-Dateien empfiehlt sich aufgrund der
Schreibschwächen kein RAID-5 System. Dafür könnten folgende Varianten
konfiguriert werden:
-
einfache Redo-Log-Dateien auf einem RAID-1 oder
RAID-10 Verbund
-
gespiegelte Redo-Log-Dateien jeweils auf einem RAID-0 Verbund;
Oracle kann so konfiguriert werden, dass mehrere parallele Kopien
der Redo-Log-Dateien geschrieben werden.
|
Für Squid im speziellen gilt, dass er von Haus aus mit mehreren
Cache-Partitionen umgehen kann. Daher bringt ein darunterliegendes
RAID-Array nicht mehr viel. Die Log-Dateien wiederum ergeben auf einem
RAID-0 Verbund durchaus Sinn. Für andere WWW-Proxys wäre hier ein
RAID-0 Verbund angebracht.
|
Da hier verhältnismäßig wenig Schreibvorgänge stattfinden, jedoch auf
jeden Fall die Redundanz gewährleistet sein sollte, empfiehlt sich für
die Root-Partition ein RAID-1 Verbund und für die /home, /usr, /var
Verzeichnisse einer der redundanten RAID-Modi (RAID-1, RAID-5,
RAID-10).
|
|
Um einen Vergleich zwischen den RAID-Verbunden mit ihren
unterschiedlichen Chunk-Size Parametern ziehen zu können, findet das
Programm Bonnie Anwendung, welches im Internet unter
http://www.textuality.com/bonnie/
residiert. Bonnie erstellt eine beliebig große Datei auf dem
RAID-Verbund und testet neben den unterschiedlichen Schreib- und
Lesestrategien auch die anfallende CPU-Last. Allerdings sollte man
die Testdatei mindestens doppelt so groß wie den real im Rechner
vorhandenen RAM-Speicher wählen, da Bonnie sonst nicht die Geschwindigkeit
des RAIDs, sondern das Cacheverhalten von Linux misst - und das ist gar
nicht mal so schlecht.
Um die bei dem nicht sequentiellen Lesen von einem RAID-1 Verbund
höhere Geschwindigkeit zu testen, eignet sich Bonnie aufgrund seiner
einzelnen Testdatei allerdings nicht. Bonnie führt bei seinem Test
also einen sequentiellen Schreib-/Lesevorgang durch, welcher nur von
einer RAID-1 Festplatte beantwortet wird. Möchte man trotzdem einen
RAID-1 Verbund geeignet testen, empfiehlt sich hierfür das Programm
tiotest welches unter
http://www.iki.fi/miku/
zu finden ist.
Da die Hardware wohl in jedem Rechner unterschiedlich ist, wurde
darauf verzichtet, in der Ergebnistabelle absolute Werte einzutragen.
Ein besserer Vergleich ergibt sich, wenn man die Geschwindigkeit einer
Festplatte alleine als den Faktor eins zugrundelegt und bei Verwendung
derselben Festplatten die RAID-Performance als Vielfaches dieses
Wertes angibt. Da diese Konfiguration drei identische SCSI-Festplatten
vorsieht, wäre also maximal eine 3x1fache Geschwindigkeit zu
erwarten. Bedenken sollte man beim RAID-5 Testlauf auch, dass hier nur
2/3 der Kapazität direkt von Bonnie beschrieben werden. Andererseits
soll dieser Test ja zeigen, wie viel Geschwindigkeitseinbußen oder
-gewinn bei einer Datei derselben Größe zu erwarten sind.
| | | | | | |RAID-Modus | Chunk-Size | Blockgröße ext2 | Seq. Input | Seq. Output | | | | | | | |Normal | % | 4 KB | 1 = Referenz | 1 = Referenz | |RAID-0 | 4 KB | 4 KB | 2,6 x Referenz | 2,8 x Referenz | |RAID-5 | 32 KB | 4 KB | 1,7 x Referenz | 1,9 x Referenz | |RAID 10 | 4 KB | 4 KB | 1,7 x Referenz | 2,5 x Referenz |
|
Wie zu erwarten erreicht ein RAID-0 Verbund aus drei identischen
Festplatten annähernd die dreifache Leistung. Auch die RAID-5
Ergebnisse zeigen die bei drei Festplatten erwartete doppelte
Leistung. Die Geschwindigkeit der dritten Festplatte kann ja aufgrund
der Paritätsinformation nicht gemessen werden. Die Leistung eines
RAID-5 sollte also allgemein der aller verwendeten Platten minus eins
für die Paritätsinformationsplatte sein. Allerdings leidet RAID-5 an
einer Art chronischer Schreibschwäche, welche durch das Berechnen und
Ablegen der Paritätsinformationen zu erklären ist.
Um sich die Belastung des Prozessors und die benötigte Zeit zum
Schreiben einer Testdatei anzusehen, kann man sich auch wieder des
Programms dd befleißigen. Der folgende Aufruf von dd würde eine
100 MB große Datei in das aktuelle Verzeichnis schreiben und die
Ergebnisse anzeigen:
root@linux ~#
time dd if=/dev/zero of=./Testdatei bs=1024 count=102400
|
|
|
|