PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Software Raid 5 Performanceprobleme



newbie2007
03.03.08, 08:27
Hallo,
ich habe mir ein Centos 5.1 64bit auf folgender Hardware installiert :

Prozessor: Intel Core 2 Quad 4x 2,4 GHz
Speicher: 8 GB DDRam
HDD: 3 x 500 GB Sata
Gehäuse: Chenbro RM21706

Nun habe ich die Festplatte wie folgt partitioniert:
1x Raid 1(Software) 10 GB /boot
1x Raid 1(Software) 4 GB swap
1x Raid 5(software) der Rest /

Das System gestartet und es lief alles perfekt. Nun habe ich einen VMWare 2.0 beta installiert und alles lief noch immer perfekt. Jetzt wollte ich von einem bestehenden VMWare Server die VMs auf diesen Server auf den Raid 5 legen und leider hat das beim kopieren von 16 Gb bereits eine Stunde gedauert, wenn ich die 16 GB auf den Raid 1 Verbund lege, dann dauert es wie normal üblich ca. 5 Min.
Das Raid 5 war zu diesem Zeitpunkt bereits betriebsbereit. #cat /proc/mdstat hat das zumindestens gesagt.

Woran liegt das ?? Das Software Raid 5 benögt allein ca. 25 % der CPU Leistung.

Hat jemand vielleicht Erfahrung mit einer HW Raid 5 Sata Karte, welche vom Centos 5.1 64bit unterstützt wird ??? Ich kaufe mir auch gerne eine solche Karte, hauptsache es funzt ordentlich.

marce
03.03.08, 14:22
Die 3Ware-Controller laufen recht gut.

Daten und System auf gleiches Raid würde ich nicht machen, das gibt meist irgendwann Bus-Engpässe.

Ansonsten: findest Du nicht, dass 10GB /boot etwas übertrieben sind?

newbie2007
03.03.08, 15:05
Wie sollte deiner Meinung nach das System und die Partitionierung aussehen, damit das System schnell und stabil löft ?
Laufen die 3Ware Contoller auch sicher unter CentOs 5.1 64 bit ?????


Daten und System auf gleiches Raid würde ich nicht machen, das gibt meist irgendwann Bus-Engpässe.

Wie sollte ich das trennen, mit 2 Kontrollern ????

basti1985
03.03.08, 15:35
1. weis ich nich ob du dich da vertippt hast aber meinst du nicht das 10 GB für boot etwas viel sind ??

2. system partition:
ich würde das system auf ein raid 1 legen sprich du machst nur eine / (root) partition oder du unterteilst das noch weiter ... und verteilst das gleichmäßig auf die 3 platten oder nutzt eine davon als spare-disk ...
und nur die daten bzw home partition würd ich als raid 5 machen ..
ansonnst merkst du ja selbst was passiert (systemlast)

faithless
03.03.08, 15:42
der 3ware 9650 läuft auf den kernels ab 2.6.19 von haus aus.

200mb für boot sollten reichen, es sei denn benötigst 10+ kernels :confused:

schau mal was ein "mdadm --detail /dev/md[0-3]" ausgibt. wenn das raid 5 noch am synchronisieren ist, kann das schonmal ordendlich cpu power verschlingen.

das system und die vmware-images sollten auf jeden fall auf unterschiedlichen partitionen liegen. ich habe um flexibel zu bleiben in einem sw-raid5 (3 platten) ein lvm erstellt, und habe keine erheblichen performance einbußen feststellen können.

liebe grüße,
joseph

newbie2007
03.03.08, 15:52
Also, was soll ich jetzt eurer Meinung nach machen(Hardware.- oder Softwareraid)? Ich möchte diesen Server wie in der 1. Post beschrieben einsetzen. Er sollte sehr Performant und stabil laufen!!

danke, newbie

basti1985
03.03.08, 15:56
nun das ist immer eine frage des einsatzes ... performant und stbil -- das wollen alle ..

wie sieht es mit I/O aus ?
was soll drauf laufen ?
Unternehmens-/ Existenzkritisch ?
lohnt es die hohen kosten von hardware-raid ?

ich persönlich denke, das 4x 2,4 GHz die paar prozente an CPU-Last durchaus verkraften

ich denk mal dein problem liegt zur zeit in erster line daran das dein komplettes system (und dazu noch VM´s) über ein raid 5 laufen
und da das system permanent schreibt und liest so eine hohe last auslösst

allerdings ist dies auch nicht zu verachten


schau mal was ein "mdadm --detail /dev/md[0-3]" ausgibt. wenn das raid 5 noch am synchronisieren ist, kann das schonmal ordendlich cpu power verschlingen.

das system und die vmware-images sollten auf jeden fall auf unterschiedlichen partitionen liegen. ich habe um flexibel zu bleiben in einem sw-raid5 (3 platten) ein lvm erstellt, und habe keine erheblichen performance einbußen feststellen können.

faithless
03.03.08, 16:02
wenn du bereit bist 350euro+ für den besagten controller plus dem nicht grad günstigen multilane kabel und dem battery-pack auszugeben, ist die hw-lösung sicher ein wenig performanter und sicherer.

ich hab mit software raid 5 auch keine schlechten erfahrungen gemacht. kommt wirklich drauf an welche dienst (wieviele virtuellen systeme) auf dem server laufen, wieviele zugriffe du dir erwartest, etc.

lg,
joseph

faithless
03.03.08, 16:11
@basti

also ich hab am besagten server (2GB RAM, dual-kern Pentium-D) das system auf einem sw-raid 5, und daten und logs auf einem lvm in einem sw-raid 5. nach 183 tagen uptime ist das daten raid 5 das am cpu-lastigsten (knapp 200h cpu time - das meiste davon passiert während den nächtlichen rsync-backup vorgängen). aja, ein windows vm läuft auch noch im hintergrund.
meiner meinung nach, steckt im sw-raid system noch einiges an leistungs-reserve...

newbie2007
03.03.08, 16:15
Der Server ist für ein Firmennetzwerk in dem 15 WinXP Klients und 1 W2k3 SBS löft. DHCP, DNS, interner Proxy mit User auth, ntp, mailrelay für exchange sind virtualisiert. In einem 2. Schritt möchte ich gerne auf einem eigenen Server den W2k3 SBS Server virtualisieren, dieser ist File- und Exchange Server.

Ich weiß jedoch nicht ob es möglich ist auf einem Linux den DC zu virtualisieren?
Darf ich die VM´s nicht auf den Raid 5 Verbund legen, oder muß ich nur zwei getrennte Raid5 für System und VMs machen?

Ich danke euch für die Unterstützung.

basti1985
03.03.08, 16:16
@faithless
das will ich ja auch nicht bezweifeln ...
ich hab des mal bei meiner CPU (siehe Signatur) versucht .. da merkt man schon ob raid 5 oder 1 ...
von daher denke ich ist es immer noch cpu schonender zwischen daten und system zu trennen
ferner läuft im falle eines fehler die wiederherstellung auf raid 1 schneller als bei 5

doch wenn wir so anfangen ...


multilane kabel und dem battery-pack

sollte man die redundante maschine mit 2 NT etc nicht außer acht lassen :D

marce
03.03.08, 16:24
Ich würde machen:
1x Raid 1 auf 2 ded. Platten für's System
1x Raid 5 auf min. 4 ded. Platten für die VMs. Wenn viel geschrieben wird - Raid 10.

Und generell nur HW-Controller, gerade, wenn das Ding produktiv ist.

IO ist das Hauptproblem bei solchen Systemen - und wenn dann n Platten am internen Bus hängen ist der bald am Ende. Da ist ein ded. Kontroller, an dem die Raids hängen besser - ausserdem entlastet er das System nicht unerheblich.

Raid 5 ist generell "böse" sobald viel geschrieben wird (Parity-Berechnung) - und gerade bei VMs ist die int. CPU meist mit den Gastsystemem gut beschäftigt und sollte dann daher von solchen Dingen freigehalten werden.

faithless
03.03.08, 16:29
bei einer single-kern cpu fällt das wohl bei weitem mehr ins gewicht als bei einem dual- oder gar quad core chip. aber grundsätzlich ist ein sw-raid1 natürlich systembedingt weniger rechenintensiv!

redundante NT's sind für einen "hoch-"verfügbarkeitsserver natürlich unerlässlich. nur bieten auch die keinen 100% schutz vor ausfall, wie mir das blöde chieftech (be***issen laut!) ding erst vor ein paar wochen bewiesen hat. unsere alten server haben red.-NT's von intel, die waren bis jetzt zuverlässig und vor allem angenehm leise. leider hab ich die für unseren neuen server nirgends mehr auftreiben können. :(

newbie2007
03.03.08, 17:15
Jetzt habe ich noch eine Frage, da ich nicht weiß wie Performant ein Raid 5 ist, wie schaut das aus, wenn ich jetzt die 500 € für das Hardware Raid 5 in die Hand nehme, wie wirkt sich da die Performance gegenüber einem SW Raid aus, hat jemand einen Benchmarktest ?

danke, newbie

faithless
03.03.08, 17:37
die risc-cpu eines hw-raid-controllers übernimmt beim schreiben die matrix-berechnungen der paritäts daten. dadurch sollte die cpu des servers nicht zum flaschenhals werden.
hab vor ein paar jahren mal benchmarks im internet gefunden, da schnitt linux software raid gar nicht so viel schlechter ab auf mehrkern-systemen wo die cpu's leistungsreserven besitzen (aber auch nur unter diesen voraussetzungen!). vielleicht findest du bei google ja die besagte seite...

marce
03.03.08, 17:39
wobei das auch wieder von der Größe des Raids, der Plattenanbindung, dem sonstigen Busbelastungen und dem IO-Verhältnis abhängt.

Für rein lesenden Betrieb sind SW-Raids kein Problem, sobald Schreiben dazu kommt siehts anders aus.

bla!zilla
03.03.08, 20:47
Vielleicht sollte man erwähnen das die ach so komplexe Paritätsberechnung ein einfacher XOR ist. Trotzdem kann das, je nach Schreibleistung schon sehr heftig werden für eine CPU. Dazu kommt natürlich die Frage: Was für Write IOs haben wir? Long oder short write? Bei short write ist dann auch das beste Software-RAID 5 mehr oder weniger abgesagt.

faithless
03.03.08, 21:42
Der Server ist für ein Firmennetzwerk in dem 15 WinXP Klients und 1 W2k3 SBS löft. DHCP, DNS, interner Proxy mit User auth, ntp, mailrelay für exchange sind virtualisiert. In einem 2. Schritt möchte ich gerne auf einem eigenen Server den W2k3 SBS Server virtualisieren, dieser ist File- und Exchange Server.

Ich weiß jedoch nicht ob es möglich ist auf einem Linux den DC zu virtualisieren?
Darf ich die VM´s nicht auf den Raid 5 Verbund legen, oder muß ich nur zwei getrennte Raid5 für System und VMs machen?

Ich danke euch für die Unterstützung.

ups, den post hatte ich komplett übersehen.

welche services sollen jetzt auf dem neuen server laufen?
dhcp, dns, proxy und ntp kannst du imho in allen berechnungen vernachlässigen (alle diese dienste sind jahrzehnte alt und liefen schon auf einem 486 akzeptabel. ein mailserver für 15 clients wird dein system bei weitem auch noch nicht in die knie zwingen.

einen DC mit dem sbs2003 unter linux zu virtualisieren sollte kein problem darstellen. jedoch ist es sicher nicht die beste lösung, einen microsoft file server zu virtualisieren, wenn ihr den komplett in die domäne integrieren wollt (speziell wenn der sbs2003 auf einem image auf einem sw-raid 5 liegt).

oder sind die experten hier anderer meinung?

lg,
joseph

marce
03.03.08, 21:49
Proxy kommt drauf an - das kann schon ordentlich Last verursachen, vor allem, wenn man sich Speicher und HD mit anderen Systemen teilen muss - kommt aber auf den speziellen Anwendungsfall an. Ebenso mit Exchange, das kann je nach Durchsatz und Workflows durchaus ordentlich Last verursachen, auch bei "nur" 15 Clients.

Einen Fileserver würde _ich_ auf einem SW-Raid nicht virtualisieren, da muss aus meiner Sicht auf jeden Fall ein ordentliches HW-Raid her, wenn überhaupt als VM. Aber auch das hängt vom konkreten Anwendungsfall ab.

newbie2007
04.03.08, 08:53
einen DC mit dem sbs2003 unter linux zu virtualisieren sollte kein problem darstellen. jedoch ist es sicher nicht die beste lösung, einen microsoft file server zu virtualisieren, wenn ihr den komplett in die domäne integrieren wollt (speziell wenn der sbs2003 auf einem image auf einem sw-raid 5 liegt).

oder sind die experten hier anderer meinung?

lg,
joseph

Hallo ich habe mir gedacht, ich virtualisiere den DC der gleichzeitig Exchange.- und Filserver ist.

Ich danke allen für die SUPER Auskünfte.

faithless
07.03.08, 21:33
vom domain controller virtualisieren rate ich dir ab. funktionieren tut es sicher, aber die optimale lösung ist es sicherlich nicht. wobei reines profil verwalten sicherlich akzeptabel virtualisiert laufen würde, für alles andere musst du selber herausfinden ob euch die performance reicht, kommt hier wahrscheinlich wirklich sehr auf euren load an, der auch bei 15 personen recht unterschiedlich ausfallen kann.

lg,
joseph

bla!zilla
09.03.08, 11:05
DC bieten sich zum virtualisieren gerade zu an. Aber: Finger weg vom Backup per "VM wegkopieren". Kopiert man den so gesicherten DC zurück, kann man sich sicher sein Probleme mit einem UNS Rollback zu bekommen. Ich habe viele Kunden mit virtualisierten DCs. Egal ob W2K oder W2K3. Ach Exchange ist kein Thema, sofern man sich beim Sizing nicht in die Nesseln setzt.

IOPS sind alles. Und IOPS kann man nur mit IOPS ersetzen.