Empfohlene Laufwerkskonfiguration für einen Webserver

Empfohlene Laufwerkskonfiguration für einen Webserver

Wie sieht Ihre typische Laufwerkskonfiguration für Webserver aus? Normalerweise habe ich ein Laufwerk für das Betriebssystem und ein Laufwerk für Daten. Das Datenlaufwerk ist normalerweise ein RAID 5, aber ich kann mich nicht erinnern, was ich früher für das Betriebssystemlaufwerk empfohlen habe. Ist RAID 1 dafür ideal?

Antwort1

Ich arbeite für ein großes Hosting-Unternehmen und das, was ich in meinem Unternehmenssegment am häufigsten sehe (nicht unbedingt, was ich empfehlen würde, aber was ich sehe), ist – vorausgesetzt, der Server ist eigenständig bzw. verwendet lokalen Speicher – ein RAID 1-Betriebssystem-Array und ein RAID 5-Daten-Array.

Da die Festplatten immer größer werden, ist RAID 5 nicht mehr so ​​ideal, da die Wahrscheinlichkeit, bei der Neuerstellung einer einzelnen Festplatte auf ein URE zu stoßen, ziemlich hoch ist.

Aber da Sie anscheinend speziell nach dem Betriebssystemlaufwerk fragen: Ja, RAID 1 ist Standard und normalerweise ausreichend, es sei denn, Sie möchten andere Apps von diesem Laufwerk ausführen.

Antwort2

Ich betreibe ein Rechenzentrum und bin CTO eines großen Hosting-Unternehmens. WIR EMPFEHLEN DRINGEND, NIEMALS RAID 5 ZU VERWENDEN.

VERWENDEN SIE, WO MÖGLICH, EIN GUTES SAN


RAID5 verwendet NUR EIN Paritätslaufwerk pro Streifen und viele RAID5-Arrays bestehen aus 5 Laufwerken (wenn Ihre Zählungen anders sind, passen Sie die Berechnungen entsprechend an) (4 Daten- und 1 Paritätslaufwerk, wobei es sich nicht um ein einzelnes Laufwerk handelt, das die gesamte Parität hält wie bei RAID 3 und 4, aber lesen Sie weiter).

RAID 5 ist Verschwendung, RAID 10 und 1 jedoch auch: Wenn Sie 10 Laufwerke oder beispielsweise jeweils 20 GB für 200 GB haben, verwendet RAID5 20 % für die Parität (vorausgesetzt, Sie richten es als zwei Arrays mit jeweils 5 Laufwerken ein), sodass Sie über 160 GB Speicherplatz verfügen.

Da RAID10, wie auch die Spiegelung (RAID1), 1 (oder mehr) Spiegellaufwerke für jedes primäre Laufwerk verwendet, nutzen Sie 50 % für die Redundanz. Um also die gleichen 160 GB Speicherplatz zu erhalten, benötigen Sie 8 Paare oder 16 - 20 GB Laufwerke, weshalb RAID5 so beliebt ist. Diese Einführung soll nur die Dinge ins rechte Licht rücken.

RAID5 ist physisch ein Stripeset wie RAID0, jedoch mit Datenwiederherstellung. RAID5 reserviert einen Plattenblock aus jedem Stripeblock für Paritätsdaten. Der Paritätsblock enthält einen Fehlerkorrekturcode, der alle Fehler im RAID5-Block korrigieren kann. Tatsächlich wird er in Kombination mit den verbleibenden Datenblöcken verwendet, um einzelne fehlende Blöcke wiederherzustellen, die aufgrund eines Laufwerkausfalls verloren gegangen sind. Die Innovation von RAID5 gegenüber RAID3 und RAID4 besteht darin, dass die Parität im Round-Robin-Verfahren verteilt wird, sodass unterschiedliche Blöcke von den verschiedenen Laufwerken unabhängig voneinander gelesen werden können. Aus diesem Grund wurde RAID5 beliebter als RAID3 und RAID4, die denselben Block von allen Laufwerken gleichzeitig lesen müssen. Wenn also Laufwerk2 ausfällt, sind die Blöcke 1, 2, 4, 5, 6 und 7 Datenblöcke auf diesem Laufwerk und die Blöcke 3 und 8 sind Paritätsblöcke auf diesem Laufwerk. Das bedeutet, dass die Parität auf Laufwerk5 verwendet wird, um den Datenblock von Laufwerk2 wiederherzustellen, wenn Block 1 angefordert wird, bevor ein neues Laufwerk Laufwerk2 ersetzt oder während der Wiederherstellung des neuen Laufwerk2-Ersatzes. Ebenso wird die Parität auf Laufwerk1 verwendet, um Block 2 zu reparieren, und die Parität auf Laufwerk3 repariert Block 4 usw. Für Block 2 sind alle Daten sicher auf den verbleibenden Laufwerken, aber während der Neuerstellung des Ersatzes für Laufwerk 2 wird aus den Daten von Block 2 ein neuer Paritätsblock berechnet und auf Laufwerk 2 geschrieben.

Die RAID 5 READ-WRITE-PENALTY:Wenn nun ein Plattenblock aus dem Array gelesen wird, berechnet die RAID-Software/Firmware, welcher RAID-Block den Plattenblock enthält, auf welchem ​​Laufwerk sich der Plattenblock befindet und welches Laufwerk den Paritätsblock für diesen RAID-Block enthält, und liest NUR das eine Datenlaufwerk. Sie gibt den Datenblock zurück. Wenn Sie den Datenblock später ändern, berechnet sie die Parität neu, indem sie den alten Block abzieht und die neue Version hinzufügt. Anschließend schreibt sie in zwei separaten Vorgängen den Datenblock, gefolgt vom neuen Paritätsblock. Dazu muss sie zuerst den Paritätsblock von dem Laufwerk lesen, das die Parität für diesen Stripe-Block enthält, und die unveränderten Daten für den aktualisierten Block erneut vom Originallaufwerk lesen.Dieses Lesen-Lesen-Schreiben-Schreiben wird als RAID5-Schreibstrafe bezeichnet, da diese beiden Schreibvorgänge sequentiell und synchron sind und der Schreibsystemaufruf aus Sicherheitsgründen nicht zurückkehren kann, bis das erneute Lesen und beide Schreibvorgänge abgeschlossen sind. Daher ist das Schreiben in RAID5 bei einem Array mit derselben Kapazität bis zu 50 % langsamer als in RAID0. (Einige Software-RAID5s vermeiden das erneute Lesen, indem sie eine unveränderte Kopie des Originalblocks im Speicher behalten.)

RAID10 ist eine der möglichen Kombinationen von RAID1 (Spiegelung) und RAID0 (Striping). Früher herrschte Verwirrung darüber, was RAID01 oder RAID10 bedeutet, und verschiedene RAID-Anbieter definierten sie unterschiedlich. Vor etwa fünf Jahren habe ich die folgende Standardsprache vorgeschlagen, die sich anscheinend durchgesetzt hat. Wenn N gespiegelte Paare zusammen gestreift werden, nennt man das RAID10, weil die Spiegelung (RAID1) vor dem Striping (RAID0) angewendet wird. Die andere Möglichkeit besteht darin, zwei Stripe-Sets zu erstellen und diese ineinander zu spiegeln. Dies wird als RAID01 bezeichnet (weil RAID0 zuerst angewendet wird). In einem RAID01- oder RAID10-System wird jeder einzelne Festplattenblock vollständig auf dem Spiegel seines Laufwerks dupliziert. In Bezug auf die Leistung sind sowohl RAID01 als auch RAID10 funktional gleichwertig. Der Unterschied zeigt sich bei der Wiederherstellung, wo RAID01 unter einigen der gleichen Probleme leidet, die ich bei RAID5 beschreiben werde, während dies bei RAID10 nicht der Fall ist.

Wenn nun ein Laufwerk im RAID5-Array ausfällt, entfernt oder abgeschaltet wird, werden die Daten zurückgegeben, indem die Blöcke der verbleibenden Laufwerke gelesen und die fehlenden Daten anhand der Parität berechnet werden, vorausgesetzt, das defekte Laufwerk ist nicht das Paritätsblocklaufwerk für diesen RAID-Block. Beachten Sie, dass 4 physische Lesevorgänge erforderlich sind, um den fehlenden Festplattenblock (für ein Array mit 5 Laufwerken) für vier von fünf Festplattenblöcken zu ersetzen, was zu einer Leistungsminderung von 64 % führt, bis das Problem entdeckt wird und ein neues Laufwerk zugeordnet werden kann, um mit der Wiederherstellung zu beginnen. Die Leistung wird während der Wiederherstellung weiter beeinträchtigt, da auf alle Laufwerke aktiv zugegriffen wird, um das Ersatzlaufwerk wiederherzustellen (siehe unten).

Wenn ein Laufwerk im RAID10-Array ausfällt, werden die Daten von seinem Spiegellaufwerk in einem einzigen Lesevorgang zurückgegeben. Dabei kommt es nur zu einer geringen Leistungsreduzierung (durchschnittlich 6,25 % für ein 4-Paar-Array insgesamt), wenn zwei nicht zusammenhängende Blöcke aus dem beschädigten Paar benötigt werden (da die beiden Blöcke nicht parallel von beiden Laufwerken gelesen werden können). Ansonsten tritt keine Leistungsreduzierung auf.

Man bekommt eine Ahnung, was hier vor sich geht und warum ich RAID5 nicht mag, aber wie es in den nächtlichen Infomercials heißt: Da ist noch mehr.

Was ist los, abgesehen von ein bisschen Leistung, von der ich nicht weiß, dass sie mir fehlt?

OK, das bringt uns zur letzten Frage des Tages, nämlich: Was ist das Problem mit RAID5? Es stellt ein ausgefallenes Laufwerk wieder her, oder? Schreibvorgänge sind also langsamer, ich schreibe nicht genug, um mir darüber Gedanken zu machen, und der Cache hilft auch sehr, ich habe VIEL Cache! Das Problem ist, dass es trotz der verbesserten Zuverlässigkeit moderner Laufwerke und der verbesserten Fehlerkorrekturcodes auf den meisten Laufwerken und sogar trotz der zusätzlichen 8 Bytes Fehlerkorrektur, die EMC auf jeden Clariion-Laufwerksblock legt (wenn Sie das Glück haben, EMC-Systeme zu verwenden), durchaus möglich ist, dass ein Laufwerk fehlerhaft wird und anfängt, Müll zurückzugeben. Dies wird als teilweiser Medienausfall bezeichnet. Jetzt reservieren SCSI-Controller mehrere hundert Festplattenblöcke, die neu zugeordnet werden müssen, um schwächer werdende Sektoren durch ungenutzte zu ersetzen, aber wenn das Laufwerk ausfällt, halten diese nicht sehr lange und gehen aus, und SCSI meldet KEINE korrigierbaren Fehler an das Betriebssystem zurück! Daher werden Sie nicht wissen, dass das Laufwerk instabil wird, bis es zu spät ist und es keine Ersatzsektoren mehr gibt und das Laufwerk anfängt, Müll zurückzugeben. [Beachten Sie, dass die neuerdings beliebten IDE/ATA-Laufwerke (TMK) keine Neuzuordnung fehlerhafter Sektoren in ihrer Hardware enthalten, sodass der Datenmüll viel früher zurückgegeben wird.] Wenn ein Laufwerk Datenmüll zurückgibt, wird beim Zurückschreiben des Datenmüllsektors die Datenmüllparität berechnet und Ihre RAID5-Integrität geht verloren, da RAID5 NIEMALS die Parität beim Lesen überprüft (RAID3 und RAID4 tun dies übrigens und beide funktionieren beim Booten besser für Datenbanken als RAID5). Wenn Sie den Datenmüllsektor zurückschreiben, wird die Datenmüllparität berechnet und Ihre RAID5-Integrität geht verloren! Ähnlich verhält es sich, wenn ein Laufwerk ausfällt und eines der verbleibenden Laufwerke fehlerhaft ist, das Ersatzlaufwerk wird mit Datenmüll neu erstellt, wodurch das Problem ebenfalls auf zwei Blöcke anstatt nur auf einen übertragen wird.

Sie brauchen mehr? Während der Wiederherstellung verschlechtert sich die Leseleistung eines RAID5-Arrays um bis zu 80 %. Bei einigen erweiterten Arrays können Sie die Präferenz eher auf Wiederherstellung oder Leistung einstellen. Dies erhöht jedoch die Wiederherstellungszeit und die Wahrscheinlichkeit, dass ein zweites Laufwerk im Array verloren geht, bevor die Wiederherstellung abgeschlossen ist, was zu einem katastrophalen Datenverlust führt. RAID10 hingegen stellt nur ein Laufwerk von 4 oder mehr Paaren wieder her, wobei die Leistung NUR der Lesevorgänge des wiederherzustellenden Paars verschlechtert ist, wodurch die Leistung des Arrays insgesamt nur etwa 20 % beeinträchtigt wird! Außerdem wird während der Wiederherstellung keine Paritätsberechnungszeit verwendet – es handelt sich um eine direkte Datenkopie.

Und was ist mit dem Verlust eines zweiten Laufwerks? Nun, mit RAID10 besteht keine Gefahr, es sei denn, das eine wiederherzustellende Spiegelbild fällt ebenfalls aus, und das ist 80 % oder weniger wahrscheinlich als der Ausfall eines anderen Laufwerks in einem RAID5-Array! Und da die meisten Ausfälle mehrerer Laufwerke durch unentdeckte Herstellungsfehler verursacht werden, können Sie sogar diese Möglichkeit verschwindend gering halten, indem Sie sicherstellen, dass jedes Laufwerk mit einem Laufwerk mit der Chargennummer eines anderen Herstellers gespiegelt wird. („Oh“, sagen Sie, „dieses Szenario scheint unwahrscheinlich!“ Puh, wir haben innerhalb von zwei Wochen 50 Laufwerke verloren, als eine Charge von 200 IBM-Laufwerken ausfiel. IBM stellte fest, dass die Spindellager der einzelnen Laufwerkscharge nach so vielen Betriebsstunden einfrieren würden. Glücklicherweise gingen zum Teil dank RAID10 und zum Teil dank der herkulischen Anstrengungen der DG-Techniker und unserer eigenen Leute über zwei Wochen keine Daten verloren. JEDOCH war ein RAID5-Dateisystem ein Totalverlust, nachdem während der Wiederherstellung ein zweites Laufwerk ausfiel. Zum Glück war alles auf Band.

Fazit? Aus Sicherheits- und Leistungsgründen ist RAID10 an erster Stelle, RAID3 an zweiter Stelle, RAID4 an dritter Stelle und RAID5 an letzter Stelle vorzuziehen! Der ursprüngliche Grund für die RAID2-5-Spezifikationen war, dass die hohen Kosten für Festplatten RAID1 und die Spiegelung unpraktisch machten. Das ist nicht mehr der Fall! Laufwerke sind Massenware, selbst die größten und schnellsten Laufwerke sind in absoluten Zahlen billiger als Laufwerke damals und die Kosten pro MB betragen nur noch einen Bruchteil dessen, was sie waren. Macht RAID5 überhaupt noch irgendeinen Sinn? Ich denke natürlich nicht.

Um die Dinge ins Verhältnis zu setzen: Wenn ein Laufwerk 1000 US-Dollar kostet (und die meisten sind weitaus billiger), dann spart der Wechsel von einem 4-Paar-RAID10-Array zu einem 5-Laufwerk-RAID5-Array 3 Laufwerke oder 3000 US-Dollar. Was sind die Kosten für Überstunden, Abnutzung und Verschleiß der Techniker, DBAs, Manager und Kunden, selbst wenn es zu einer Datenwiederherstellung kommt? Was sind die Kosten für reduzierte Leistung und möglicherweise reduzierte Kundenzufriedenheit? Und schließlich: Was sind die Kosten für verlorene Geschäfte, wenn Daten nicht wiederherstellbar sind?

Von der BAARF-Website kopiert – aber auf jeden Fall beachtenswert.

Verwenden Sie, wo immer möglich, RAID 10 – geben Sie Geld für die zusätzliche Festplatte aus.

Antwort3

Vorausgesetzt, dass darauf keine Anwendungen ausgeführt werden und nur die Betriebssystemdateien gehostet werden, sollte ein RAID 1 vollkommen ausreichend sein.

Wenn Sie auf dem Betriebssystemvolume zusätzliche Anwendungen ausführen, müssen Sie die Belastung berücksichtigen.

Antwort4

Wenn die GeschwindigkeitUndZuverlässigkeit ist wichtig, RAID0+1 sollte die beste Leistung bieten (keine zu berechnende Parität) mit einer Überlebenswahrscheinlichkeit von bis zu zwei Laufwerksausfällen. Aber nicht alle Controller unterstützen dies.

verwandte Informationen