• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Raid 5 unter OpenSuSE super langsam, unter Ubuntu fix?

Hallo zusammen,
ich habe zwar schon viel im Netz gesucht, aber leider wurde ich nicht wirklich fündig. Habe einen kleinen Fileserver zu Hause eingerichtet. Bestehend aus AMD 690G, AMD X2 4050e, 1GB Ram und 3 Sata 250GB Platten. Installiert habe Opensuse 11.0.

Um nicht all zu viel Speicher zu verschenken, wollte ich ein Software-Raid 5 einrichten. Fürs Betriebssystem und Swap habe ich schon Raid 1 eingeteilt und den Rest zu einem Raid 5 zusammen gefasst. So bekomme ich etwa 450GB heraus. Eigentlich soweit ganz schön, ABER ist Raid 5 über Software wirklich so langsam?

Wenn ich die Platten einzeln Teste komme ich auf etwa 50 MByte/s Schreiben und Lesen. Lesen vom Raid ist auch hübsch schnell zwischen 80-110 Mbyte/s je nach Dateisystem und Blockgröße. Schreibend schaffe ich aber allerhöchstens 13 MByte/s. Habt ihr eine Idee, ob ich einen Fehler gemacht habe, oder einfach nicht mehr erwarten kann? Die CPU ist langweilt sich, also ist das wohl nicht der limitierende Faktor.
Achso, das Raid 1 ist auch ordentlich schnell, also so, wie man es erwartet.

Vielleicht haben ja andere auch mal die Geschwindigkeit ihres Software Raid 5 getestet.
Hoffe auf eure Hilfe,
viele Grüße,
Nils
 
Antwort zur Kernfrage: JA
Da werden die Daten ja nicht einfach wie bei RAID1 auf beide Platten geschrieben sondern auch noch per XOR gewürfelt, und das kostet nackte Prozessorleistung.

Deswegen lohnt sich dafür dann halt ein echter Hardware-Controller mit eigenem Prozessor und Buffer-RAM. (Also KEIN BOARD-RAID, Billig-Murks etc.)

Grüße
 
OP
N

nils1982ks

Newbie
Hallo Carsten,
vielen Dank erstmal.
Mir ist schon klar, dass ein RAID5 etwas anderes ist, als ein RAID1. Wenn es Prozessorleistung kostet, dann ist das für mich auch ok und verständlich. Da aber der Prozessor nicht wirklich langsam ist, ging ich davon aus, dass dies nicht der limitierende Faktor sein kann. Auch hat mir top keine nennenswerte Auslastung angezeigt und auch bonnie++ zeigt geringe Prozessorlast von höchstens 15%. Welche Datenraten erhälst du denn mit deinem Hardware-Controller? Da müssten dann ja die Schreib-/Leseoperationen die limitierenden Werte sein, oder? Noch leuchtet mir nicht wirklich ein, wo der Flaschenhals bei mir ist.
Ich hatte auch mal ein Raid 5 auf einem langsamen Rechner versucht, da wurde die CPU dann voll belastet und war wohl der Grund, warum die Datenraten gering blieben.
Schöne Grüße,
Nils
 
Ob das was bonnie anzeigt auch richtig ist, darüber kann man nun philosophieren. Jedenfalls sehe ich, wenn ich mittels cat viele Daten von einer Crypto-Partition auslese, einen hohen CPU-Verbrauch in `top`, bei %sy.
 
OP
N

nils1982ks

Newbie
Hallo,
hoffe, ich liege nun nicht falsch. Aber ist es nicht verständlich, dass wenn das Dateisystem verschlüsselt vorliegt, dass dann die CPU-Last deutlich steigt? Oder soll die Crypto-Partiotion etwa eine gleiche Last wie das Raid 5 erzeugen. Bin mir ziemlich sicher, dass top wirklich sehr viel freie CPU-Zeit anzeigt. Werde aber nochmal prüfen, nicht dass da vielleicht der Fehler liegt.
 
Ich hab meine Datenraten nicht gemessen. Mir kommts da eher auf was stabiles an... Und das ist mein Controller sicherlich, out-of-the-box, ohne Klimmzüge wie dmraid (was es damals noch nicht gab) oder Sondertreiber, die es für Kernel 2.6 nicht mehr gab.

Was die Datenraten angeht hab ich andere Bremsen wie WLAN etc. Ich wollte immer mal optimieren, hatte aber keinen Leidensdruck.

Grüße
 
OP
N

nils1982ks

Newbie
Hallo,
ich habe nochmal einmal einen Kollegen gefragt und der hat den gleichen Test auf zwei seiner Rechner durchgeführt. Auf einem AMD 3500+ mit 4 * 250GB SATA und einem Software Raid erhält er beim Schreiben 38 MByte/s, auf einem AMD 2800+ mit 3* IDE 400GB : 27 Mbyte.

Da das beides deutlich schneller ist, als bei mir, muss bei mir doch was falsch sein, oder? :???:
Habe auch die Platten nochmal einzeln mit bonnie++ getestet, keine Auffälligkeiten. Hatte auch schon mit openSuSE 10.3 versucht, auch kein Erfolg. Während des Bonnie++ Test zeigt `top` im Schnitt etwa 80% idle. Kann es vielleicht ein Problem mit den Treibern geben, aber warum tritt das nur auf, wenn man Raid 5 nutzt?
Hoffe es gibt noch weitere Tipps,
Nils
 

prinzunix

Hacker
Hallo,

Dein Chipsatz (AMD690G) ist auch nicht gerade eine Rakete an IO-Leistung. Werte von 30 MByte pro Sek gehen natürlich mit Raid 5 (externes Starline-Raid SCSI mit eigener CPU und 32MB Cache, Stand vor 10 Jahren), Aber mit Software-Raid und so einem mehr oder weniger Desktop Chipsatz aus dem unteren Preissegment wohl eher nicht. 2GB Speicher hätten es auch sein dürfen, denn bei den Rampreisen ist am Speicher sparen immer das falsche Ende (Speicher kostet doch nix mehr, darmals habe ich für einen 1 MB Riegel noch 250 DeeM gezahlt). Das reißt es aber auch nicht raus.

Tatsache ist einfach, dass Server-HW, die reichlich IO-Leistung bringen muss und auch bringt, anders ausschaut.

Bis denn.

Prinzunix

PS: Setze selber einen RS690G als Server ein, aber erwarte nicht die Leistung eines NForce 790 z.B.
 
OP
N

nils1982ks

Newbie
Hallo,
nein die Werte die ich genannt habe beziehen sich ja ebenso auf ein Software Raid wie meins eins ist. Das ist ja das verwunderliche. Natürlich kann ich nichts herausragendes erwarten, wohl aber das, was andere Software Raid 5 leisten, oder?
Frage mich ja nur, wo der Flaschenhals ist? Ram spielt da eigentlich keine Rolle, 2GB brauch ich eigentlich nicht, kostet dann nur Strom. Falls es doch eng wird, ist das ja sehr günstig auf zu rüsten.
Dass mit einem Hardware-Raid viel mehr drin ist, ist mir auch klar, aber will doch nur was kleines günstiges für daheim.
 
OP
N

nils1982ks

Newbie
Hallo,
bevor wir nun abschweifen, wollte ich gerne zum Thema zurück. Habe nach allem hin und her nun mal Ubuntu 8.04 Server installiert und auch wieder zwei Software-Raid eingerichtet. Eins für Betriebssystem mit 8GB und dann mit RAID 5 für Daten mit einer Kapazität von 470GB und siehe da, was bonnie++ liefert:
Code:
Version 1.03b       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
nilsserver       2G 57186  94 113148  41 40907  19 52447  96 128995  26 465.6   2
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16  2369  38 +++++ +++  2343  40  2345  38 +++++ +++  1579  30
nilsserver,2G,57186,94,113148,41,40907,19,52447,96,128995,26,465.6,2,16,2369,38,+++++,+++,2343,40,2345,38,+++++,+++,1579,30
Das sieht doch schon ganz anders aus und hier mag ich auch gerne glauben, dass nun die CPU-Leistung limitierend ist? Die große Frage bleibt aber, warum geht es unter OpenSuSE nicht?
Jemand Ideen?
 

prinzunix

Hacker
nils1982ks schrieb:
aber warum tritt das nur auf, wenn man Raid 5 nutzt?

Raid 5 schreibt immer kleine Häppchen auf 3 oder mehr Platten, 2x Daten und 1x Prüfsumme. Dadurch werden die Schreibzugriffe fragmentiert. Das verhält sich dann in etwa so im Unterschied, wie wenn man eine große
Datei von 100 MB kopiert oder statt dessen ein Verzeichnis mit ca. 1000 kleinen Dateinen, was dann auch 100 MB hat. Das erzeugt dann Vewaltungsoverhead, der bei dem Kopieren der großen Datei nicht anfällt. Einige Chipsätze können das gut verkraften und andere weniger. Preiswerte Desktopchipsätze/boards eher weniger und teure Wokstationchipsätze/Boards besser. Das merkt man dann an diesen Leistungseinbrüchen beim Schreiben.

Bein Lesen fällt das wenig auf, weil lesen können die Platten eh schneller und außerdem fällt die Berechnung der Parität weg.

Nachtrag:
Für Dein letztes Post mit dem Test wurde identische HW verwendet?
 
OP
N

nils1982ks

Newbie
Hallo,
ja also ganz unerfahren bin ich ja nun auch nicht.
Es ist exakt die gleiche Hardware, das ist ja das merkwürdige. Habe eben nochmal mit ext3 statt xfs versucht:
Code:
Version 1.03b       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
nilsserver       2G 51599  94 100273  49 40770  23 52454  95 125844  25 397.5   1
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 13271  98 +++++ +++ +++++ +++ 26588  94 +++++ +++ +++++ +++
nilsserver,2G,51599,94,100273,49,40770,23,52454,95,125844,25,397.5,1,16,13271,98,+++++,+++,+++++,+++,26588,94,+++++,+++,+++++,+++
Das ist etwas langsamer, aber natürlich kein Vergleich zu den alten Werten.
Wenn ich die neuen Werte sehe, denke ich, dass es nicht unbedingt ein Hardware-Raid-Controller sein muss, sofern man eine halbwegs zügige CPU hat und der Server sich sonst eh nur langweilt. Besser wäre natürlich nen Hardware-Raid+Batterie, andererseits bekommt man für 70 Eur schon eine passende USV, denn der Server zieht nur etwa 50-90 Watt. So könnte man leicht ein kleines Storage-Netz für ein paar Server bauen. Insgesamt liegt man dann wohl mit komplettem Rechner unter dem, was ein allein ein guter Controller kostet.
Wie auch immer, ich bin erstmal sehr zufrieden mit meinem NAS im Eigenbau. Interessant wäre jetzt noch, wie es sich übers Netz via SMB, NFS und iSCSI verhält und ob es mit einer langsameren CPU z.B. Sempron LE-1200 oder ähnlich aussieht. Ach ja, vielleicht hat ja doch noch jemand eine Idee, was da bei OpenSuSE los sein könnte? Vielleicht liegt es an der Kernelversion?
Schöne Grüße,
Nils
 

prinzunix

Hacker
nils1982ks schrieb:
Hallo,
ja also ganz unerfahren bin ich ja nun auch nicht.

Naja, ich kann Dir von hier ja auch noch nicht mal vor die Stirn gucken. ;-)

Bei der selben HW und solche Unterschiede sind dann doch was seltsam. Zumindest wenn die Platten Sata sind. Bei Pata hat sich bei openSuSE 11 ja zu den letzten Distris einiges geändert.

Bis denn.

Prinzunix
 
OP
N

nils1982ks

Newbie
Hallo,
ok, vielleicht war ich etwas zu begeistert.
Aber
NO RAID5! NO RAID5! NO RAID5! NO RAID5! NO RAID5! NO RAID5! NO RAID5!
ist dann doch auch etwas übertrieben. Natürlich sollte man versuchen es nicht aus Platten gleicher Charge zu bauen und die üblichen Tipps beherzigen. Ich sprach hier ja auch nciht von einem wirklich großen Netz. Bei kritischen Anwendungen nutze ich dann auch lieber RAID 6 plus Hot-Spare, Raidcontroller mit Batterie und achte auf guten Plattenmix. Aber dort ist es noch nicht passiert, dass eine weitere Platte während des Rebuilds hops gegangen ist, obwohl das kein Problem gewesen wäre. Aber ein Raid soll ja auch nicht ein vernünftiges Backup ersetzen. Wie groß ist wohl da im Vergleich die Gefahr durch eine Überspannung, selbstmörderisches Netzteil, Brand usw.?
Für den Hausgebrauch finde ich das auf jeden Fall recht vernünftig und möchte keinem raten, dass er wegen des Raid5 auf Backup verzichtet. Außerdem hatte ich die 3 Platten liegen und mit einem Raid1 wäre ich nur auf die halbe Kapazität gekommen bei geringeren Datenraten. Vielleicht weiß ja nun doch noch jemand, woran es liegen kann, dass es unter Opensuse nicht lief?
Viele Grüße,
Nils
 

Jazz

Member
Hallo,
also ich muss das Thema doch nochmals aufrollen. Habe hier auch ein OpenSuSE 11.1 mit 2x RAID1 und 1x RAID5
auf dem RAID5 liegt 1 Festplattenimage von VMWare
RAID5 besteht aus 4x80GB eine davon ist als HotSpare.

Eigentlich läuft die VM gut allerdings bei großen Plattenzugriffen wie Backup oder so ist das RAID5 ewig langsam... ist das normal???
Gibts inzwischen ne Lsg???
ist n Q9550 als Prozzi mit 8GB RAM drin.

Danke für die Hilfe
Grüße Jazz
 
Oben