linkit
Goto Top

Raid und Raidlevel

Tipps zu Raidlevel...

Ich möchte hier nochmals kurz ein paar Tipps zu Raid zusammenfassen, da hier immer wieder ein falsches Bild entsteht. Ein Beispiel ist der Beitrag: RAID 5 vs RAID 10, den ich zum Anlaß nahm, hier einfach nochmal für jeden interessierten das Thema aufzugreifen.

Es gibt hierfür spezielle Fachbücher die sich nur mit diesem Thema beschäftigen, man kann hier ganze Bände füllen, aber einen kleinen Abriß möchte ich hier geben.


1. Hardwaregrundlage:

Das erste und wichtigste bei Raid ist der zu Grunde gelegte Controller. Hierbei ist es schon mal ein Unterschied, ob dieser Onboard verbaut ist, ein PCI32, PCI64, PCI-X, PCI Express, HardwareRaidcontroller, Softwareraidcontroller, Cachecontroller etc ist.
Auch die Schnittstelle SCSI, ATA, SAS, Fiberchannel etc. spielt bezüglich Performance, Sicherheit, Anbindung eine große Rolle.

a) Onboard

Zunächst mal sei gesagt, daß vorallem die Controller Onboard teilweise einen riesen Marketinggag darstellen. Im Prinzip handelt es sich um einen normalen Controller, der über einen eingebunden Treiber Raid simuliert. Dafür ist in den meisten Fällen nicht mal der Treiber notwendig, denn das kann Windows und Linux auch schon von Haus aus, zumindest was Raid 1 und 0 betrifft. Die Treiber stellen zugleich ein Problem als auch eine Performancebremse dar, da jede Software das System hemmt. Unter Linux lassen sich oft solche Controller gar nicht oder nur schwierig einbinden. Performancevorsprünge sind manchmal verschlechtert, manchmal verbessert im nicht nachweisbaren Bereich gegenüber ohne Raid.

Ein richtiges, sauberes, stabiles und schnelles Raid erhält man nur mit einem richtigen busmasterfähigen Hardwareraidcontroller, der die Arbeit auf dem Controller erledigt und nicht den PC dafür belastet.

b) PCI Schnittstelle

Der PCI Bus stellt einen der Flaschenhälse im System dar. Das schnellste und beste Raidsystem bringt nichts, wenn die Daten nicht schnell genug transportiert werden können. Hier gilt auch der Grundsatz, das langsamste Bauteil eines Gesamtsystemes entscheidet. Auch ist der Chipsatz auf dem Motherboard für die Stabilität und Performance maßgeblich. Bei hohen Datentransferraten und Servern sollte also keine PCI32 Karten eingesetzt werden. Hier empfiehlt sich eine breitbandigere Technologie wie PCI64 oder PCI-X beziehungsweise die sternförmige Anordnung des PCI-Express Buses. Allerdings sieht es hier mit Controllern derzeit noch lau aus.

c) Cache

Der Cache auf einem Controller trägt unter Umständen mit zu einer hohen Performance bei. Allerdings kann dies nicht generell gesagt werden. Vorallem wenn viele kleine Dateien bzw. unterschiedliche Daten abgefragt werden, kann der Cache die Performance auch zügeln. Bei Datenbankservern sollte immer Cache verwendet werden.


d) Schnittstelle

Für die Schnittstelle der Festplatte findet man heute die unterschiedlichsten Möglichkeiten an. Sogar Mischbetrieb gibt es mittlerweilen. Wörter wie IDE, SATA, SATA2, FiberChannel, SCSI, SAS etc. fallen hier häufig. Es gibt sogar mittlerweilen Festplatten mit direktem Netzwerkanschluß (nicht zu verwechseln mit NAS), die dann über Netzwerkkabel angeschlossen und als Raid verbunden werden können.
In kleinen und mittleren Betrieben wird man vorallem IDE bzw. den Nachfolger SATA oder SCSI bzw. den baldigen Nachfolger SAS antreffen. Auch wenn Marketingabteilungen und manche fragwürdigen Zeitschriften anderes behaupten mögen, man kann dennoch nachweislich klar folgendes zur IDE/SATA und SCSI/SAS Welt sagen:

IDE/SATA ist vor allem billig. Auch wenn bei der SATA Technik einiges von SCSI abgekupfert wurde, so hingt diese im Praxistest eindeutig hinter SCSI Technik hinterher.

SCSI ist vorallem zuverlässig, hoch performant, stabil, für den Rund um die Uhr einsatz konzipiert und viele Jahre zuverlässig erprobt. Der SCSI-Standard ist klar und sauber und muß nicht mit Altlasten und Aufbohrungen wie IDE leben.

Derzeitige SATA Festplatten sind oft nur IDE Festplatten, die umgemünzt wurden und deshalb keinen Performancevorteil bieten. Dies wird sich aber noch ändern, wenn die ersten richtien SATA Festplatten den Markt erreichen.

Ob man SCSI oder IDE einsetzt muß man vorallem von der eigenen Philosophie, Budget, Anspruch, Einsatzort und Zweck, Performance, Sicherheitsbedürfnis etc. abhängig machen. Wenn ich das Geld für SCSI nicht habe, brauche ich mir darüber keine Gedanken machen.

Andere Technologien vernachlässige ich hier einfach mal, denn wer damit umgeht, weiß darüber bescheid.


2. Raidlevel

Kommen wir zu den Raidleveln.... vorallem hier wird häufig eines genannt: Raid 5. Zu Unrecht, weil es eines der langsamten Raid Level darstellt. ZU Recht, weil es zugleich auch eines der kostengünstigen Raidlevel ist. In der Raidwelt gibt es viele Raidlevel angefangen von Raid 0 -7, Raid 9, Raid 0+1, Raid 1+0, JBOD, Raid 5+1, Raid 5+0 etc.....
Alle haben Ihre Vor- und Nachteile, wobei vorallem in der Praxis folgende anzutreffen sind:

Raid 0
Raid 1
Raid 5
Raid 10

falls zu anderen Raidleveln fragen bestehen, gebe ich gerne Auskunft.


Da auch ich mein Wissen aus Fachbüchern, Kongressen und Weiterbildungen erhalte, möchte ich hierzu einige Quellen nennen, auch für jemanden, der sich tiefer in die Materie einlesen möchte:

- SQL Server 2000 - Das Handbuch, ISBN 3-86063-154-3 (sehr gute Beschreibung vorallem im Zusammenhang mit Datenbanken)
- The Raid Book: A Source Book for Raid Technology, ISBN 1879936909
- Managing RAID on Linux, O'Reilly, ISBN 1-56592-730-3
- Netzwerkpraxis für Anwender, Hanser, 3446214747
- Windows Server 2000 Technische Referenz (eventuell hier die Neufassung abwarten Windows Server 2003 Technische Referenz)
- weitere gerne auf Anfrage....


da sich in Firmen vieles auf Datenbanken bezieht, nehme ich hier als Referenzwerk MS SQL Server 2000 und zitiere hieraus. Wer sich mit Raid näher beschäftigen will und den auch interessieren, wie Performance in Raid berechnet wird, wie der Einsatz unter Datenbanken stattfindet und wie man am besten mehrere Raidsysteme verwendet, liegt mit diesem Buch sehr gut.

a) Raid 0

SQL Server 2000 Das Handbuch Zitat: " ....Raid 0 ist der einfachste Raid-Level, auf dem nur Festplattenstriping geboten wird. Auf jedem Festplattenlaufwerk wird ein Chunk erstellt, dessen Größe über den Controller festgelegt wird....Es wird eine Round-Robin-Methode zum Verteilen der Daten auf jeden Chunk auf jeder Festplatte verwendet, um einen großen logischen Datenträger zu erstellen.

Obwohl Raid 0 als Raid-Level angesehen wird, liegt in technischer Hinsicht keine Redundanz vor. Da die Redundanz fehlt, besteht keine Fehlertolleranz. Bei einem Festplattenfehler in einem Raid 0 sind alle Daten verloren.


Empfehlung: Nicht in kritischen Situationen oder auf Servern einsetzen für Betriebsystem, Daten, Datenbank, Transaktionsprotokoll. Eventuell einsetzbar auf schnellen Workstations, die schnelle Platten benötigen, auf denen aber keine ungesicherten Daten verweilen.


b) Raid 1

SQL Server 2000 Das Handbuch Zitat: " Raid 1 ist der einfachste fehlertollerante Raid-Level. Über Raid 1, auch bekannt als Spiegelung, werden die Datenfestplatten gespiegelt. Die 2. Festplatte umfaßt die Duplikate aller Daten, die auf der Originalfestplatte vrhanden sind. Bei einem Festplattenfehler wird die Spiegelung verwendet, und es gehen keine Daten verloren.... Da bei Raid 1 eine zweite Festplatte zum Duplizieren verwendet wird, entspricht die Gesamtkapazität des Raid 1 Datenträgers der Kapazität einer Festplatte. Raid 1 ist zwar kostspielig, da die Anzahl der Festplatten verdoppelt werden muß, ohne dabei zusätzlichen Festplattenspeicher zur Verfügung zu haben, aber es wird ein hoher Grad an Fehlertoleranz gewährleistet...."

Empfehlung: Verwenden Sie Raid 1 für Festplatten, auf der sich das Betriebsystem befindet, da es sehr langwierig ist, dieses System erneut aufzusetzen. Raid 1 ist auch deswegen eine gute Wahl, weil das Betriebsystem in der Regel auf einer Festplatte gespeichert werden kann.
Verwenden Sie Raid 1 für das Transaktionsprotokoll. In der Regel kann das SQL Server Transaktionsprotokoll auf einer Festplatte gespeichert werden. Außerdem für das Transkationsprotokoll die meisten sequenziellen Schreibvorgänge durch. Nur Rollback-Operationen verursachen Lesevorgänge im Transaktionsprotokoll. Es wird also ein hohe Leistung erzielt, wenn sich das Transaktionsprotokoll auf einem eigenen Raid 1 Datenträger befindet.



b) Raid 5

SQL Server 2000 Das Handbuch Zitat: " ...Raid 5 ist ein fehlertolerantes Raid-Level, in dem Paritätsinformationen zum Schützen von Daten verwendet werden. Jedes Raid-Stripe erstellt Paritätsdaten auf einer Festplatte im Stripe. Neben den anderen Festplatten im Raid-Stripe können diese Paritätsdaten verwendet werden, um die Daten auf einer beliebigen anderen Festplatte im Stripe erneut zu erstellen. Auf diese Weise kann über ein Raid 5 Array der Verlust einer Festplatte toleriert werden. Die Paritätsdaten werden auf die verschiedenen Festplatten im Array verteilt.

Der Vorteil von Raid 5 besteht darin, daß der in diesem Raid-Level zur Verfügung stehende Speicherplatz n-1 entspricht, wobei n die Anzahl der Festplatten im Array ist. Auf diese Weise kann aus 10 Festplatten über den Speicherplatz von 9 verfügt werden.

Allerdings sind mit Raid 5 Leistungseinbußen verbunden. Für das Verwalten der Paritätsdaten ist eine zusätzliche Belastung erforderlich. Beim Schreiben von Daten in ein Raid5 müssen sowohl die Stripes der Zielfestplatte als auch die Paritätsstripes gelesen, die Parität berechnet und dann beide Stripes ausgeschrieben werden.



Empfehlung: ...Für alle Datenträger, auf denen zu mehr als 10 Prozent Schreibvorgänge durchgeführt werden, ist Raid 5 nicht empfehlenswert....Da ein Raid 5 Schreibvorgang erst abgeschlossen ist, wenn zwei Lese- und zwei Schreibvorgänge durchgeführt wurden, kann die Antwortzeit der SChreibvorgänge durch das Verwenden von Schreibcaches verbessert werden. Der Schreibcache stellt jedoch keine Lösung für Überbelastung der Festplatten dar. Die Vorgänge und Operationen müssen innerhalb der Kapazität der Festplatten liegen.
Raid 5 ist zwar in wirtschaftlicher Hinsicht sinnvoll, geht aber zu lasten der Leistung.



b) Raid 10

SQL Server 2000 Das Handbuch Zitat: " ....Raid 10 ist eine Kombination aus Raid 0 und Raid 1. Raid 10 beinhaltet das Spiegeln eines Festplattenstripes. Jee Festplatte verfügt zwar über ein Duplikat, umfaßt aber nur einen Teil der Daten. Dieses Level bietet die Fehlertoleranz von Raid 1 und die Leistungsvorteile von Raid 0.

Raid 10 bietet ein hohes Maß an Fehlertoleranz. Das Array bleibt auch dann betriebsbereit, wenn mehrere Festplatten ausfallen. Der Verlust beider Spiegel kann jedoch nicht aufgefangen werden.



Empfehlung: ...Raid 10 bietet ein hohes Maß an Fehlertolleranz und ein hohes Leistung. Raid 10 sollte in Fällen verwendet werden, in denen ein umfangreicher Datenträger erforderlich ist und es sich bei über 10 Prozent der Operationen um Schreibvorgänge handelt..... Verwenden Sie Raid 10, wenn die Leistung ein wesentlichen Aspekt darstellt. Da über Raid 10 geteilte Suchvorgänge unterstützt werden, ist die optimale Leistung gewährleistet.
Raid 10 bietet die Lösung mit der höchsten Fehlertoleranz in Hinblick auf Schutz und Leistung. Diese Lösung ist jedoch sehr kostenintensiv, da hier gegenüber Raid 0 die doppelte Festplattenanzahl benötigt wird....



3. Mehrere Raids:


Oft findet man in den Servern von kleinen und mittleren Firmen nur ein einzelnes Raid-System an. Hierbei stellt das Festplatten-Subssystem den Flaschenhals dar, da alle Operationen nur über dieses eine System abgewickelt werden. Wenn System, Daten, Datenbank, Temps, Transaktionsprotokoll etc. sich alle auf einem Raidsystem befinden, stellt dies zwar die kostengünstigste, aber auch langsamste Methode dar.
Beispielsweise empfiehlt sich für DB-Server die Aufteilung 1,10,1, wobei das erste Raid 1 für das Betriebsystem, Raid 10 für die Datenbank und das zweite Raid 1 für das Transaktionsprotokoll verwendet wird. Dies stellt aber zugleich auch die kostenintensivste Methode dar.
Der Domänencontroller und dessen Betriebsystem sollten sich immer auf einem Raid 1 befinden. Bei Fileservern mit wenig Transfer aber großen Platzansprüchen kann Raid 5 empfohlen werden.


Generell gilt.... Kosteninteniv ist die Aufteilung auf mehrere Server die Serverdienste, Daten auf Raidsysteme mit Spiegelung, und der parallele Einsatz von mehreren Raidsystemen. Dies ist allerdings auch der performanteste Einsatz.
Kostengünstig, aber auch langsam ist der Einsatz eines Servers mit allen Diensten und eines Raidsystems beispielsweise Raid 5 für Domänencontroller, Daten, Datenbank etc... wie auf Small Business Sever häufig anzutreffen.

Hier muß bezüglich benötigter Performance, Sicherheit und Budget ein Kompromiss gefunden werden.

Content-ID: 4964

Url: https://administrator.de/contentid/4964

Ausgedruckt am: 21.11.2024 um 13:11 Uhr

Atti58
Atti58 20.12.2004 um 10:01:13 Uhr
Goto Top
@linkit

... hoffentlich kommen die Links (oder FAQ's) bald, dieser Artikel ist es wert, dort aufgenommen zu werden!!!

(sehr fleißig face-wink ) ...

Gruß

Atti
linkit
linkit 20.12.2004 um 10:05:08 Uhr
Goto Top
@Atti


danke... aber du bist mindestens genauso fleißig mit deinem Beiträgen.... mir war aber einfach mal wichtig, daß das mit dem Raid geklärt wird, denn die Fragen hierzu kommen schon oft vor.

grüße und schönes Weihnachtsfest....


linkit
CrazyAndy
CrazyAndy 20.02.2006 um 02:54:48 Uhr
Goto Top
Super Erklärung!!!

Hab aufgrund deines Beitrags meinen Server installiert und bin höchst zufrieden damit!!

Danke!!
dasistgeheim
dasistgeheim 05.07.2006 um 09:35:33 Uhr
Goto Top
dickes lob, schön erklärt, jemand der sich zeit nimmt face-wink
Darkraver
Darkraver 22.11.2007 um 11:38:38 Uhr
Goto Top
Guten Tag

Ja hier möchte ich auch gern meinen Dank loswerden. Sehr gut erklärt. Danke.
Jetzt weiss ich, dass mein Raid 5 nicht defekt ist sondern es normal ist das es so langsam herumdümpelt.(Onboard)

Gruß
Sturm1978
Sturm1978 27.08.2008 um 08:11:58 Uhr
Goto Top
Hallo

mh was soll man da sagen???

perfekt trifft es wohl, sehr gute und fleißige Arbeit.
Danke für die ausführlichen Erklärungen.