Langsames Softwareraid
Hallo, ich bin dabei mir ein Softwareraid zu basteln. Da noch nicht alle Festplatten da sind habe ich testweise erst 2 (von später 5) angeschlossen. Das ganze sieht im Moment so aus das jede der beiden Festplatten an einem Promise Ultra100 TX2 IDE-Controller hängt. Also jede an einem eigenen um nicht durch die 133MB/s der PCI-Schnittstelle eingeschränkt zu werden. Der Rechner ist ein PIII 500 mit 256 MB Ram. Ich habe testweise aus den beiden Festplatten mal ein RAID-0 und ein RAID-5 erstellt beim RAID-0 habe ich den gleichen Datendurchsatz wie wenn ich die Platten einzeln ohne Raid anspreche und beim RAID-5 einen _viel_ geringeren. Zum Messen habe ich per dd eine 100MB große Datei erstellt (aus /dev/zero). Mit RAID-0 und ohne RAID dauerte das ca. 2.5 sek. mit RAID-5 55 sek. (!). Wie läßt sich das erklären? Ist der Rechner zu langsam? Hatte einfach mal vermutet das der locker reichen sollte. mfg stefan -- begin LOVE-LETTER-FOR-YOU.txt.vbs http://piology.org/ILOVEYOU-Signature-FAQ.html end
Hallo, Am Montag, 5. April 2004 23:31 schrieb Stefan Heinrichsen:
Hallo,
ich bin dabei mir ein Softwareraid zu basteln. Da noch nicht alle Festplatten da sind habe ich testweise erst 2 (von später 5) angeschlossen. Das ganze sieht im Moment so aus das jede der beiden Festplatten an einem Promise Ultra100 TX2 IDE-Controller hängt. Also jede an einem eigenen um nicht durch die 133MB/s der PCI-Schnittstelle eingeschränkt zu werden. Der Rechner ist ein PIII 500 mit 256 MB Ram. Ich habe testweise aus den beiden Festplatten mal ein RAID-0 und ein RAID-5 erstellt beim
Erklär mal wie du mit zwei Platten ein RAID-5 hast erstellen können!!??? Meines Wissens nach braucht man minimum 3 Platten für RAID-5. Somit könnte es sein, das sich Dein RAID in einem 'Seltsamen' Zustand befindet :-( Binde erst eine Dritte Platte ein, teste das das RAID ein 'OK' meldet (wie auch immer) und wiederhol den Test.
RAID-0 habe ich den gleichen Datendurchsatz wie wenn ich die Platten einzeln ohne Raid anspreche und beim RAID-5 einen _viel_ geringeren. Zum Messen habe ich per dd eine 100MB große Datei erstellt (aus /dev/zero). Mit RAID-0 und ohne RAID dauerte das ca. 2.5 sek. mit RAID-5 55 sek. (!).
Wie läßt sich das erklären? Ist der Rechner zu langsam? Hatte einfach mal vermutet das der locker reichen sollte.
mfg stefan
-- begin LOVE-LETTER-FOR-YOU.txt.vbs http://piology.org/ILOVEYOU-Signature-FAQ.html end
-- MfG Rolf Masfelder EMail: rolf.masfelder@nector.de
Erklär mal wie du mit zwei Platten ein RAID-5 hast erstellen können!!???
Durch so einen Eintrag in der /etc/raidtab ... device /dev/hdc2 failed-disk 2 #raid-disk 2 ... und ein "mkraid /dev/mdx"? Gerade bei der Überführung eines schon installierten Systems wird's Array erst so aufgesetzt, dann die Daten der als failed gekennzeichneten 3. Platte auf's Array kopiert, und erst dann die 3. Platte ins Array gehängt.
Meines Wissens nach braucht man minimum 3 Platten für RAID-5. Somit könnte es sein, das sich Dein RAID in einem 'Seltsamen' Zustand befindet :-( Binde erst eine Dritte Platte ein, teste das das RAID ein 'OK' meldet (wie auch immer) und wiederhol den Test.
Das ist allerdings richtig. Auch weiß ich nicht wie die Auswirkungen eines solchen, "halben" RAID5-Arrays auf die Performance sind. Gruß Dirk
Hallo Stefan,
Der Rechner ist ein PIII 500 mit 256 MB Ram. Ich habe testweise aus den beiden Festplatten mal ein RAID-0 und ein RAID-5 erstellt beim RAID-0
Also ein Softraid braucht schon einiges an Rechenleistung, aber Du kannst mit top mal zusehen, was solange braucht. Gruß Can
Can-C. Dörtbudak wrote:
Also ein Softraid braucht schon einiges an Rechenleistung, aber Du kannst mit top mal zusehen, was solange braucht.
Was im Kernelspace Zeit braucht kann auch mit top nicht differenziert werden. Nur so als Anregung. Ich vermute ja mal, daß das Raid nicht im Userspace als Prozeß abläuft. Bernd
Stefan Heinrichsen schrieb:
Zum Messen habe ich per dd eine 100MB große Datei erstellt (aus /dev/zero). Mit RAID-0 und ohne RAID dauerte das ca. 2.5 sek. mit RAID-5 55 sek. (!). Wie läßt sich das erklären? Ist der Rechner zu langsam? Hatte einfach mal vermutet das der locker reichen sollte.
War das Software-RAID5 noch beim Synchronisieren der Platten? Bei größeren Platten kann die Synchronisation durchaus Stunden dauern. Und in dieser Phase werden Zugriffe auf's Array stark gebremst. So eine Synchronisation fängt nach einem Abbruch (beispielsweise ein Reboot) beim nächsten Hochfahren wieder von vorne an. Sie wird nicht dort fortgesetzt wo sie unterbrochen wurde. Am besten mal den Status des Arrays mit # cat /proc/mdstat prüfen. Und erst wenn das Array vollständig synchronisiert ist Benchmarks starten. Gruß Dirk
Also ich merke mein raid5 nur, wenn es mal im Hintergrund resync't werden muss. Aber 2 andere Fragen: 1.) Wie kann ich im laufenden Betrieb mein raid5 kontrollieren? 2.) Wenn ich ein "mdadm --detail /dev/md0" mache, kommt u.a. die Zeile: "Failed Devices : 1". Muss ich mir da jetzt sorgen machen? Der komplette Ausdruck: /dev/md0: Version : 00.90.00 Creation Time : Fri Mar 5 17:04:09 2004 Raid Level : raid5 Array Size : 312576512 (298.10 GiB 320.08 GB) Device Size : 156288256 (149.05 GiB 160.04 GB) Raid Devices : 3 Total Devices : 4 Preferred Minor : 0 Persistence : Superblock is persistent Update Time : Thu Apr 8 05:02:24 2004 State : dirty, no-errors Active Devices : 3 Working Devices : 3 Failed Devices : 1 Spare Devices : 0 Layout : left-symmetric Chunk Size : 64K Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 2 8 33 2 active sync /dev/sdc1 UUID : d7bd879a:f15b7318:fbb34139:841b67b8 Events : 0.83 Meine mdadm-Version: "mdadm - v1.5.0 - 22 Jan 2004"
Thomas Rausch schrieb:
2.) Wenn ich ein "mdadm --detail /dev/md0" mache, kommt u.a. die Zeile: "Failed Devices : 1". Muss ich mir da jetzt sorgen machen?
Acho, ein cat /proc/mdstat bringt folgendes zu Tage: Personalities : [raid5] read_ahead 1024 sectors md0 : active raid5 sda1[0] sdc1[2] sdb1[1] 312576512 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU] Also eigentlich alles ok. Aber???
Das resync würde bei meinem Rechner rund 60 Minuten dauern. Schaue ich jedoch noch nebenbei einen aufgezeichneten Film (der Rechner ist mein digitaler Videorekorder) steigt diese Zeit gleich auf 300 Minuten an. Stefan Heinrichsen schrieb:
beim RAID-0 habe ich den gleichen Datendurchsatz wie wenn ich die Platten einzeln ohne Raid anspreche und beim RAID-5 einen _viel_ geringeren. Zum Messen habe ich per dd eine 100MB große Datei erstellt (aus /dev/zero). Mit RAID-0 und ohne RAID dauerte das ca. 2.5 sek. mit RAID-5 55 sek. (!).
Ich habe bei mir verschiedene Messungen gemacht. Allerdings nur die blanke Festplatte gegenüber RAID-5. Und alles dann mit "tiotest" aus tiobench-0.3.3. Das Ergebnis bei meinem Rechner (ein XP-1700+): Einzelne Festplatte: =============== Run #1: /usr/bin/tiotest -t 8 -f 63 -r 500 -b 4096 -d . -T-T Unit information ================ File size = megabytes Blk Size = bytes Rate = megabytes per second CPU% = percentage of CPU used during the test Latency = milliseconds Lat% = percent of requests that took longer than X seconds CPU Eff = Rate divided by CPU% - throughput per cpu load Sequential Reads File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 48.43 14.90% 0.080 11.80 0.00000 0.00000 325 2.4.20 510 4096 2 35.47 12.23% 0.195 226.44 0.00000 0.00000 290 2.4.20 510 4096 4 33.47 10.60% 0.376 242.56 0.00000 0.00000 316 2.4.20 510 4096 8 28.44 9.481% 0.939 439.04 0.00000 0.00000 300 Random Reads File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 0.83 0.747% 4.678 38.34 0.00000 0.00000 112 2.4.20 510 4096 2 0.82 0.682% 8.295 47.40 0.00000 0.00000 120 2.4.20 510 4096 4 0.84 0.967% 15.265 75.34 0.00000 0.00000 87 2.4.20 510 4096 8 0.93 0.713% 29.513 134.13 0.00000 0.00000 130 Sequential Writes File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 37.77 27.77% 0.083 1791.36 0.00000 0.00000 136 2.4.20 510 4096 2 32.14 24.13% 0.163 1139.95 0.00000 0.00000 133 2.4.20 510 4096 4 28.29 21.10% 0.376 1587.20 0.00000 0.00000 134 2.4.20 510 4096 8 28.37 20.60% 0.713 4448.65 0.00620 0.00000 138 Random Writes File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 0.54 0.345% 0.036 67.52 0.00000 0.00000 156 2.4.20 510 4096 2 0.54 0.241% 0.034 19.94 0.00000 0.00000 223 2.4.20 510 4096 4 0.54 0.278% 0.058 40.05 0.00000 0.00000 195 2.4.20 510 4096 8 0.53 0.308% 0.056 39.70 0.00000 0.00000 174 3 fast gleiche Festplatten im RAID-5: =========================== Run #1: /usr/bin/tiotest -t 8 -f 63 -r 500 -b 4096 -d . -T-T Unit information ================ File size = megabytes Blk Size = bytes Rate = megabytes per second CPU% = percentage of CPU used during the test Latency = milliseconds Lat% = percent of requests that took longer than X seconds CPU Eff = Rate divided by CPU% - throughput per cpu load Sequential Reads File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 63.19 31.59% 0.061 17.96 0.00000 0.00000 200 2.4.20 510 4096 2 50.29 20.80% 0.148 319.33 0.00000 0.00000 242 2.4.20 510 4096 4 39.62 17.62% 0.381 540.92 0.00000 0.00000 225 2.4.20 510 4096 8 37.22 16.98% 0.776 1003.18 0.00000 0.00000 219 Random Reads File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 0.76 0.726% 5.161 65.85 0.00000 0.00000 104 2.4.20 510 4096 2 1.16 1.259% 6.255 71.76 0.00000 0.00000 92 2.4.20 510 4096 4 1.62 0.413% 9.220 65.66 0.00000 0.00000 391 2.4.20 510 4096 8 1.84 1.296% 14.850 109.14 0.00000 0.00000 142 Sequential Writes File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 39.94 36.81% 0.072 1118.43 0.00000 0.00000 109 2.4.20 510 4096 2 32.10 29.39% 0.160 655.61 0.00000 0.00000 109 2.4.20 510 4096 4 25.69 27.66% 0.441 1067.58 0.00000 0.00000 93 2.4.20 510 4096 8 21.36 24.95% 0.964 1856.10 0.00000 0.00000 86 Random Writes File Blk Num Avg Maximum Lat% Lat% CPU Identifier Size Size Thr Rate (CPU%) Latency Latency >2s >10s Eff ---------------------------- ------ ----- --- ------ ------ --------- ----------- -------- -------- ----- 2.4.20 510 4096 1 0.60 0.305% 0.018 0.43 0.00000 0.00000 195 2.4.20 510 4096 2 0.60 0.344% 0.030 20.12 0.00000 0.00000 174 2.4.20 510 4096 4 0.61 0.387% 0.055 30.17 0.00000 0.00000 156 2.4.20 510 4096 8 0.65 0.499% 0.051 30.26 0.00000 0.00000 130
Am Do 08.04.04 um 09:56 CEST schrieb Thomas Rausch
Das resync würde bei meinem Rechner rund 60 Minuten dauern. Schaue ich jedoch noch nebenbei einen aufgezeichneten Film (der Rechner ist mein digitaler Videorekorder) steigt diese Zeit gleich auf 300 Minuten an.
Stefan Heinrichsen schrieb:
beim RAID-0 habe ich den gleichen Datendurchsatz wie wenn ich die Platten einzeln ohne Raid anspreche und beim RAID-5 einen _viel_ geringeren. Zum Messen habe ich per dd eine 100MB große Datei erstellt (aus /dev/zero). Mit RAID-0 und ohne RAID dauerte das ca. 2.5 sek. mit RAID-5 55 sek. (!).
Ich habe bei mir verschiedene Messungen gemacht. Allerdings nur die blanke Festplatte gegenüber RAID-5. Und alles dann mit "tiotest" aus tiobench-0.3.3.
Das Ergebnis bei meinem Rechner (ein XP-1700+):
Ich habe mal ein paar Durschnittswerte berechnet und einige Werte wegelassen komme dann auf folgende Tabelle. Einzelne Festplatte: Seq. Reads|Rand. Reads|Seq. Writes|Rand. Writes Rate: 36.45 | 0.85 | 31.64 | 0.54 CPU%: 11.80% | 0.777% | 23.40% | 0.293% 3 fast gleiche Festplatten im RAID-5: Seq. Reads|Rand. Reads|Seq. Writes|Rand. Writes Rate: 47.58 | 1.35 | 29.77 | 0.62 CPU%: 21.75% | 0.924% | 29.70% | 0.384% Interessant finde ich das die CPU _nur_ bei Sequentielle Lesen wehsentlich mehrbelastet wird. Hätte doch gedacht das die Unterschiede in der CPU-Last um einiges größer sind. Allerdings erkläre ich mir das Problem bei mir wirklich mit dem Versuch begründet aus 2 Festplatten ein RAID-5 zu machen. Dachte das es zwar sinnlos ist da man besser ein RAID-1 machen könnte aber nicht unbedingt "verboten". Warte also jetzt mal bis ich dir restlichen Platten habe und dann werd ich weitersehen. mfg stefan -- begin LOVE-LETTER-FOR-YOU.txt.vbs http://piology.org/ILOVEYOU-Signature-FAQ.html end
Stefan Heinrichsen schrieb:
Allerdings erkläre ich mir das Problem bei mir wirklich mit dem Versuch begründet aus 2 Festplatten ein RAID-5 zu machen. Dachte das es zwar sinnlos ist da man besser ein RAID-1 machen könnte aber nicht unbedingt "verboten".
Der Rechner wird dadurch nur unnötig belastet. Nimm doch RAID-1, da hast du die Vorteile der unterschiedlichen Sektorenverteilung und auch ein fehlerfreies RAID. Wegen der Performace: Hast du die Platten auf unterschiedliche IRQs? Hast du mit hdparm vielleicht auch etwas optimiert usw. Aber warum bei mir ein Fehler bei meinem RAID-5 angezeigt wird ist dir auch nicht bekannt. Ich vermute mal es kommt daher, dass ständig etwas zu schreiben ist und dadurch dieser Zustand so gesetzt wird.
Stefan Heinrichsen wrote: [Monday 05 April 2004 23:31]
Das ganze sieht im Moment so aus das jede der beiden Festplatten an einem Promise Ultra100 TX2 IDE-Controller hängt. Also jede an einem eigenen um nicht durch die 133MB/s der PCI-Schnittstelle eingeschränkt zu werden.
Der PCI-Bus wird von allen Karten gemeinsam genutzt und hat eine kombinierte maximale Bandbreite von theoretisch 133MB/s. Mehrere PCI-Karten zu verwenden hat also keinen Sinn - die müssen sich immer noch die 133MB/s teilen. Es hätte nur dann einen Sinn, wenn das Mainboard wirklich mehrere unabhängige Busse hat (auf den billigen Consumer-Boards gibt es so etwas jedenfalls nicht). Wenn du über 100MB/s von der Platte transferieren willst, brauchst du 64-Bit-PCI, PCI-X oder wartest ein Jahr oder zwei auf PCI Express (da haben die Slots Punkt-zu-Punkt Verbindungen, die sich die Bandbreite nicht teilen müssen). Thomas.
participants (7)
-
"Can-C. Dörtbudak "
-
Bernd Laengerich
-
Dirk
-
Rolf Masfelder
-
Stefan Heinrichsen
-
Thomas Hofer
-
Thomas Rausch