[wuplug] Performance Software-Raid5

Jens Thomas jens.thomas at wuplug.org
Mit Mai 13 15:37:47 CEST 2009


Am 13.05.2009 um 14:19 schrieb Sebastian Surminski:

> Hallo Liste,
>
> ich möchte ein RAID 5 aus vier Festplatten einrichten. Dazu muss ich  
> mich
> zwischen einem Hardware-RAID-Controller und einem Software-RAID  
> entscheiden.
> Software-Raid hat den Vorteil, dass es unabhängig von Hardware ist,  
> und unter
> Linux auch ziemlich komfortabel ist. Wie sieht es allerdings mit der
> Performance (auf einem normalen Dualcore) aus? Wie hoch ist die CPU
> Belastung?
> Die Alternative wäre ein Hardware-Controller (wie ein Dell Perc 5),  
> der
> natürlich performancemäßig spitze ist, aber auch ~150€ kostet.


Hi Sebastian,

ich war lange Zeit ein großer Freund vom Linux-Software-Raid, habe  
hier selbst ein 4 x 320 GB als Raid 5 sein ca. 2,5 Jahren dauerlaufen  
- ohne Probleme. Als CPU ackert ein Opteron mit 2 Kernen und 1.8 GHz.  
Pro Raid-Device wird vom Kern ein Kernel-Thread erzeugt, d.h., ein  
Raid-Device skaliert auf einen CPU-Kern, was aber i.d.R. auch genügt.  
Mein System liefert einen maximalen Dauer-Lese-Durchsatz von ca. 120  
MB/s bei ca. 80 CPU-Auslastung eines Kerns. Wenn es also darum geht,  
viel Platten-Platz für wenig Geld einigermaßen ausfallsicher z.B. als  
FTP-Server zur Verfügung zu stellen, dann ist das Software-Raid gut  
dafür geeignet.

Die Schreib-Performance schaut leider nicht ganz zu gut aus. Ich  
bekomme auf dem selben System ca. 50MB/s maximal auf den Raid-Verbund  
geschrieben. Allerdings hängt hier jetzt noch ein Filesystem  
dazwischen (xfs), den Lese-Test habe ich direkt auf das Block-Device  
gefahren, muss man ja fairerweise sagen.

Apropos Filesystem: Solltest du dich für ext* oder xfs auf einem  
Software-Raid entscheiden, schau dir mal genau die Optionen beim  
mkfs.* und beim mount an (Beispiel: ext3, die -E Option), hier kann  
noch etwas getunt werden und Filesystem-Layout dem Raid angepasst  
werden.

Noch "ungünstiger" wird die ganze Sache, wenn es nicht um größere,  
einzelne Files geht, sondern wenn es viele, parallele Zugriffe, am  
besten noch schreiben.

Zusammengefasst: Software-Raid ist gut, wenn es um "viel sicheren"  
Platz für einen File-Server geht, aber eher ungünstig, wenn es ein  
Application-Server (was auch immer, Datenbank, VMware, u.s.w.) werden  
soll. Es geht, ist aber nicht optimal, wenn es auf Performance  
ankommt. Wenn doch, dann würde ich zu einem HW-Controller greifen.  
Allerdings mach dich vorher bezüglich der Bedienung schlau, denn sonst  
steht man im Falle eines Ausfalls vor einem großen, inkonsistenten  
Datengrab. Da ist das Software-Raid von Linux um einiges sicherer zu  
Handhaben.


Viele Grüße

Jens

-- 
jens thomas
wuppertaler linux user group
AD39 4FCE 68CD A80F B107  B82C 4F45 AC43 3FF4 974C