Am Mittwoch, 27. Oktober 2004 07:20 schrieb Kyek, Andreas, VF-DE:
Danke für die schnelle Antwort:
bei 6 x 36 GB = 216 GB Gesamt
Raid 0 [Data Striping] 3 x 36 GB = 108 GB
Raid5 von dem Raid 0 [Data Striping und verteilte Parity-Informationen] ??????????
Anders herum (s.u.)
Den Rest habe ich nicht verstanden, also die Sache mit dem Raid5 von dem Raid 0
Ich Suche eine Lösung für Datensicherheit und "Power" :)
Ich versuchs mal einfach zu erklären:
a) raid0=Striping, quasi ein Zusammenfassen der Kapazitäten zu einer grossen Kapazität mit parallelem Schreiben/Lesen auf die beteiligten devices. Vorteil: Schnell Nachteil: Ausfallwahrscheinlichkeit, da _eine_ defekte Platte den ganzen Stripeset killt.
b) raid1=mirroring. Spiegeln eines devices auf ein anderes Vorteil: Redundanz, schnell im Lesen Nachteil: nur halbe Kapazität
c) raid4/raid5=insgesamt wird die Information _einer_ Platte des Arrays für parity genutzt. Bei raid 4 liegen die parity Information für alle Platten auf einer Platte; bei Raid 5 liegen auf jeder Platte Daten und ein Teil der Parity Information der anderen Platten. Vorteil: Redundanz, wenig Kapazitätsverlust Nachteil: langsamer beim Schreiben, da parity berechnet und geschrieben werden muss.
d) raid10: 2 Stripe-Sets (raid0) werden via mirroring (raid1) gespiegelt. Vorteil: Schnell, redundanz Nachteil: nur halbe Kapazität
e) raid50: 2 raid5 Arrays werden via mirroring gespiegelt.
Das wäre sowas wie 51. Bei 0 wird nur etwas zusammengefügt.
Vorteil: doppelte redundanz. pro mirror kann jeweils eine Platte ausfallen und das ganze läuft trotzdem (nicht aber bei Ausfall von zwei Platten in _einem_ Raid5) Nachteil: Performance beim Schreiben am schlechtesten, da zweimal ein ein Raid5 geschrieben werden muss; deutlicher Kapazitätsverlust durch doppelte Redundanz.
In deinem Fall:
6x36GB Brutto = 216 GByte
a) Bei raid0 werden alle 6 Platten in ein Stripeset gepackt. Nettokapazität = Bruttokapazität
b) raid1: 2 mal 3 Platten gespiegelt. Nettokapazität= halbe Bruttokapazität (108GB)
Allerdings sieht hier das Betriebssystem 3 einzelne Platten. (3 * 36GB).
c) raid5= ein Array aus 6 Platten ergibt ein Array mit Netto 5x36GB=180GB
d) raid10= zwei stripesets à 3 Platten gespiegelt. Nettokapazität= halbe Bruttokapazität (108GB)
e) raid50= zwei raid5 Arrays aus 3 Platten gespiegelt. Brutto eines Arrays: 3x36GB=108GB; netto=72GB Da die nur gespiegelt werden, bleiben dir 72 GB netto übgrig!
"0" ist kein Spiegel. Es blieben 4 Platten über. Abgesehen dvavon, dass das mit 6 Platten eh fragwürdig ist.
Jetzt klarer?
Für Deine Anforderungen musst Du Dich nun allerdings selber entscheiden, was Du wirklich brauchst.
Klar ist: Redundanz kostet beides: Plattenplatz und Performance!
Und noch ne Anmerkung nebenbei. Die einzigen Raid-Level für die es eine Spezifikation gibt sind 1, 2, 3, 4 und 5. Alles andere, 0, 10, 0+1, 1+0, 50, 7, JBOD .... sind von den Controller-Herstellern nach eigenem gutdünken implementiert. Ob Raid 0 nun ein spanning (nacheinander vollschreiben) oder eine striping (verteilt vollschreiben) ist oder ob in einem Raid 50 eine oder mehrere Platten ausfallen können oder ob ein Raid 10 ein 1+0 oder ein 0+1 ist, ist von Controller zu Controller unterschiedlich. BTW, Adaptec war es glaube ich, die ein Raid 10 mit 3 Platten hinbekommen ;-) Zu der Frage des OPs. So Allgemein, wenn er "eine grosse Platte" möchte. Mit Redundanz ein Raid 5, ohne eine Raid 0. Wenn er Wert auf Performance legt (Evtl. Datenbanken) dann ein Raid 10, wäre aber auszuprobieren, ob der Controller das hergibt, oder ob er doch lieber ein Raid 5 oder 0 nimmt. -- Andreas