Hardware RAID-5 Performancevergleich

dexter

New Member
Hallo zusammen,

ich habe in zwei fast identischen Servern den gleichen RAID-Controller

Code:
02:0e.0 RAID bus controller: Areca Technology Corp.
 ARC-1110 4-Port PCI-X to SATA RAID Controller

... im einen Server als RAID-1 (2x ST31000340AS) und im anderen als RAID-5 (3x ST3750640AS) bekommen.

Der Server mit dem RAID-5-Setup bricht bei Schreibzugriffen extrem ein. Ein Performanceverlust ist normal bei RAID-5, aber laut dbench liegt ein Faktor von >10 zwischen den beiden:

Code:
raid-1:~ # dbench -D /home/test/ -t 60 10
Throughput 576.593 MB/sec 10 procs

Code:
raid-5:~ # dbench -D /home/test/ -t 60 10
Throughput 46.6037 MB/sec 10 procs

Das würde ich bei Software-RAID erwarten, aber bei Hardware? Der ARC-1110 hat 256 MB RAM und eine 500 MHz CPU, sollte also IMO genügend Power haben, um die Parity-Berechnungen etc. ohne spürbare Verluste zu bewältigen... oder?

Täuscht mich mein Gefühl oder stimmt da was nicht? Müsste HW-RAID-5 nicht deutlich schneller sein? Was habt ihr bei euren RAID-5-Setups für dbench-Ergebnisse? (Ich kann gern auch noch andere Benchmarks fahren falls ihr dbench für untauglich haltet.)

Beide Server sind übrigens Opterons unter openSuSE 10.3, Filesystem ist XFS (ext3 auch getestet, kein großer Unterschied). Im RAM (tmpfs) sind beide Server annähernd gleich schnell, Durchsatz bei ~1500 MB/sec. Nach den ersten Tests habe ich beim RAID-5 die XFS-Option "nobarriers" aktiviert, das hat aber nichts gebracht.
 
Eben gefunden: dbench-Werte für ein Software-RAID-5:

RAID5 32k vs 128K Benchmarks

Zum Vergleich Das Volume Set hat bei mir 64K Chunksize:
Code:
CLI> vsf info vol=1
Volume Set Information 
===========================================
Volume Set Name : ARC-1110-VOL#00 
Raid Set Name   : Raid Set # 00   
Volume Capacity : 1500.3GB
SCSI Ch/Id/Lun  : 00/00/00
Raid Level      : Raid5
Stripe Size     : 64K
Block Size      : 512Bytes
Member Disks    : 3
Cache Mode      : Write Back
Tagged Queuing  : Enabled
Volume State    : Normal
===========================================

Also ist das Linux Software-RAID-5 um ca. Faktor 4-5 performanter als das Areca Hardware-RAID-5...?!?

Irgendwelche Ideen wie ich das weiter debuggen kann?
 
Trotzdem, laut Beschreibung ist ein Intel IOP331 da drauf. Der sollte die erforderliche Rechenleistung eigentlich locker bringen - LSI und ICP verwenden ja ähnliche Lösungen.

Könnte es eine ganz triviale Ursache sein, wie etwa ein ausgeschaltetes Write-Caching? Manchmal gibt es da für die unterschiedlichen RAID-Typen unterschiedliche Defaultvorgaben.

Schau mal nach dem Cache Mode (Write Back/Write Through).
 
Controller-Level siehe oben (Write Back), Treiber-Level folgt:

Code:
sdparm /dev/sda7
    /dev/sda7: Areca     ARC-1110-VOL#00   R001
Read write error recovery mode page:
  AWRE        1  [cha: y, def:  1, sav:  1]
  ARRE        1  [cha: y, def:  1, sav:  1]
  PER         0  [cha: n, def:  0, sav:  0]
Caching (SBC) mode page:
  WCE         1  [cha: y, def:  1, sav:  1]
  RCD         0  [cha: n, def:  0, sav:  0]
Control mode page:
  SWP         0  [cha: n, def:  0, sav:  0]
Informational exceptions control mode page:
  EWASC       0  [cha: n, def:  0, sav:  0]
  DEXCPT      0  [cha: n, def:  0, sav:  0]
  MRIE        0  [cha: n, def:  0, sav:  0]

IMO alles wie es sein sollte.

SMART-Status der Drives ist überall OK. Event-Log des Controllers enthält nur die Power-Ons.
 
Versuche mal APIC abzuschalten

Wir hatten einige Kunden wo solche Probleme mit Areca und Adaptec Controller wegen schlechten APIC Unterstützung seitens des Motherboards verursacht war.

Versuche mal den Linux mit der Option apic=off zu booten.
 
Also ich hab hier auf nem Adaptec 2420sa/256 nen dauerhaften Durchsatz von 140MB/s auf das RAID5, so langsam ist ein RAID5 also nicht. ;)

Die Werte bei dem RAID1 vom Threadersteller verwundern mich allerdings etwas. Das kann nur vom Caching kommen, denk ich.^^
 
Code:
raid-1:~ # dbench -D /home/test/ -t 60 10
Throughput 576.593 MB/sec 10 procs

Code:
raid-5:~ # dbench -D /home/test/ -t 60 10
Throughput 46.6037 MB/sec 10 procs

Der Durchsatz auf dem Raid-1 ist deutlich zu hoch, um echter Plattendurchsatz zu sein, hier dürfte irgendein Cache greifen (Platte, Controller, Puffer des Linuxsystems). Die Werte für das Raid-5 dagegen sind sehr schlecht.

Hast Du schonmal versucht, ein paar GB mit dd zu schreiben ("dd if=/dev/zero of=/home/test2 bs=1M count=2000)?

CU
Tom09
 
Für solche Tests sollte man ganz generell eine Benchmark-Programm verwenden, dass die Plattenperformance misst, wie z.B. bonnie oder bonnie++ (in den meisten Distributionen enthalten). So weit ich das sehe ist dbench dazu nicht geeignet. Weiterhin sollte man darauf achten, für die Testdaten mindestens die doppelte Größe des vorhandenen RAMs zu verwenden, um einigermaßen brauchbare Ergebnisse zu erhalten.
 
Back
Top