Neuer Raidcontroller

sstuercke

New Member
Hallo,

wir haben einen PRIMERGY TX200 S5 mit einen Integrierter RAID 5/6 Ctrl., SAS/SATA 3 Gb, RAID 5/6 SAS based on LSI MegaRAID 256MB, 8 ports int. Im Raid 5 Verbund sind 3 SATA 2TB Festplatten (WD2003FYYS) und 3 Festplatten mit 500GB in einen extra Raid 5 für Windows. Wir haben in den Fileserver schon eine 4 x 1 GBit/s Netzwerkkarte eingebaut. Für unsere Anwendungen müssen wir viele kleine Dateien lesen und schreiben, aber immer noch zu langsam. Unser Engpass ist scheinbar der Raidspeicher.

Wie können wir unseren Server schneller bekommen?

Meine Vorstellungen sind:

1. Neuer Raidcontroller mit zB. CacheCade und 2 SSDs.
2. Neue SAS Festplatten.
3. Anderer Raid Level 10. Dann mit 4 Platten 3TB, also dann 6TB

DANKE
 
Guten Morgen,

die Lösung hast du dir eigentlich schon selbst gegeben :) Das klingt grundsätzlich mal sinnig auf SSDs zu gehen um die Geschwindigkeit zu verbessern. Hier wäre grundsätzlich auch ein RAID 10 sinnvoll, wir haben an einem Adaptec 6405E Controller mit SSDs im RAID 10 ca. 1 Gigabyte/s Datenraten hinbekommen.

Hardware RAID 10 -4x 128 GB Samsung pro 850 - Adaptec 6405E - Filesystem ext3:


Hardware
Intel Xeon E5-1650v2
64 GB RAM
4x 128 GB Samsung Pro 850
Adaptec 6405E


Zeit, die die Festplatte benötigen um eine 10 GB große Datei zu schreiben:

Code:
root@:~# time dd if=/dev/zero of=datei bs=1M count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 10.3766 s, 1.0 GB/s

real    0m10.378s
user    0m0.000s
sys     0m7.312s

Zeit, die die Festplatten benötigen um die 10 GB große Datei zu lesen:

Code:
root@~# time dd if=/dev/zero of=datei bs=1M count=10240 conv=sync
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 12.8562 s, 835 MB/s

real    0m38.769s
user    0m0.008s
sys     0m10.288s


Wenn du hier sowieso schon dabei bist neue HDDs zu kaufen, wäre noch die Überlegung wert statt 4x 1 G Netzwekanschlüssen einmal ein Umrüsten auf 10 G Netzwek zu überlegen. Eine richtig gute Single Port Karte bekommt man schon für 150-200 €. Das passende SFP+ Modul für 20-40 €. Muss natürlich auch die Switchseite können :)
 
Neuer Raidcontroller mit zB. CacheCade und 2 SSDs
Spezifisch dazu: dm_cache kommt dich deutlich günstiger und kann im Grunde genauso viel. Das ist dann wieder eine Sache, die ich selbst lieber in Software umsetze als einen sündhaft teuren RAID-Controller mit dem SSD-Caching zu beauftragen, wo ich dann noch nicht einmal so ins Detail gehen kann wenn es um Einstellungen geht.

dm_cache kann extrem gut konfiguriert werden. Ist etwas Arbeit und erfordert auch ein konsequentes Monitoring der Status-Werte, aber im Ergebnis hatten wir bei unseren vServer-Hostsystemen noch nie einen I/O-Engpass.


@IP-Projects: Deine Werte kommen wohl (auch) durch den Cache des Dateisystems zustande, denn der Adaptec 6405E wird mit PCIe 2.0 x1 konnektiert. Und das kann maximal 500 MB/s brutto übertragen: https://de.wikipedia.org/wiki/PCI_Express#Technik

Der gleiche Test mit oflag=sync beim Schreiben als dd-Parameter sowie einem echo 3 > /proc/sys/vm/drop_caches bevor du die Datei liest wäre hier interessant, um realistische Ergebnisse zu erzielen.
 
Wenn ich mir folgende Werte so anschaue, frage ich mich bei heutiger Technik, wozu benötigt man noch einen Hardware RAID Controller oder SSD-Platten? Der Flaschenhals ist doch heute eher das Netzwerk.

Code:
Server bei Hetzner:
Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
RAM 32 GB
Software-RAID 1 mit normalen Festplatten
Cache on
time dd if=/dev/zero of=datei11G bs=1M count=10240
10240+0 Datensätze ein
10240+0 Datensätze aus
10737418240 Bytes (11 GB) kopiert, 6,36741 s, 1,7 GB/s

Cache on
time dd if=/dev/zero of=datei21G bs=1M count=20480
20480+0 Datensätze ein
20480+0 Datensätze aus
21474836480 Bytes (21 GB) kopiert, 13,055 s, 1,6 GB/s

Cache on
time dd if=/dev/zero of=datei43G bs=1M count=40960
40960+0 Datensätze ein
40960+0 Datensätze aus
42949672960 Bytes (43 GB) kopiert, 44,6664 s, 962 MB/s

Cache off
time dd if=/dev/zero of=datei11G bs=1M count=10240
10240+0 Datensätze ein
10240+0 Datensätze aus
10737418240 Bytes (11 GB) kopiert, 125,785 s, 85,4 MB/s
 
Der Flaschenhals ist doch heute eher das Netzwerk.

:) Das kommt darauf an, wo du dir Server mietest. Wir rüsten unser Netzwerk aktuell auf 10 G um, danach können wir bei unseren Gigabit Links eine volle Bandbreite bei 1 Gigabit/s garantieren. Fehlt nur noch dass der Trafficpreis etwas günstiger wird bei uns :)

Wie dem auch sei, die Bandbreite hat eigentlich nichts mit der Festplattennutzung zu tun. Dies spielt eigentlich nur bei einem reinen Backupserver eine Rolle. Wenn beispielweise Remote Desktop User sich per RDP verbinden brauchen diese eine recht geringe Bandbreite für die Datenkommunikation, können aber durch das Ausführen von Programmen eine höhere System I/O verursachen.

@IP-Projects: Deine Werte kommen wohl (auch) durch den Cache des Dateisystems zustande, denn der Adaptec 6405E wird mit PCIe 2.0 x1 konnektiert. Und das kann maximal 500 MB/s brutto übertragen: https://de.wikipedia.org/wiki/PCI_Express#Technik

Das ist soweit nicht korrekt, wäre auch eigentlich nicht möglich, da der Cache selbst ja auch über die Schnittstelle übertragen wird :). Das Board verfügt über


2x PCI-E 3.0 x8 (in x16) slots
2x PCI-E 3.0 x8 slots
2x PCI-E 3.0 x4 (in x8) slots
1x PCI-E 2.0 x4 (in x8) slot

-> http://www.supermicro.com/products/motherboard/Xeon/C600/X9SRL-F.cfm


Der kleinste Sockel ist daher ein X4 Sockel kein X1 Sockel und schafft daher eine Datenrate von bis zu 2000 MB/s. Der RAID Controller selbst schafft laut Hersteller Angaben 6 Gigabit/s Datenrate. Da eine SSD eine Datenrate von ca. 500 MB/s erreicht, kommt mir bei einem RAID 10 Verbund der Wert von 1 G/s bzw. 800 MB/s durchaus realistisch vor.
 
Last edited by a moderator:
Guten Morgen,

erst mal Danke für eure schnellen Antworten.

@IP-Projects.de:
Die SSDs wollten wir als Cache nutzen und da wir Momentan ca. 3,5 TB benötigen, ist das auch keine praktikable Lösung. Bei Raid 10 benötigt man 8 SSDs mit jeweils 1TB. Dann habe ich die Erfahrung gemacht das SSD häufiger ausfallen.
Über eine 10 Gb/s Netzwerkanschluss kann man dann immer noch machen wenn wir RAID Controller schnell genug bekommen dafür.

@PHP-Friends:
Leider haben wir Windows Server im Einsatz.

@andreas0:
Das Netzwerk ist nicht der Flaschenhals! Wenn man einen Leseauftrag startet hat man eine Rate 250 MB/s, wenn dann der Cachespeier (256MB) vom Controller voll ist geht die Rate auf unter 100 MB/s

Nochmals @IP-Projects.de:
In unseren Server ist ein D2709 Board und der hat
- PCI-express 2.0 x4 (mech. x8) 2 x volle Höhe (1x lang, 1x kurz)
- PCI-express 2.0 x8 2 x volle Höhe (1x gekerbt, daher für x16-Karten im x8-Modus nutzbar)
- PCI-express x4 (mech. x8) 1 x volle Höhe
Da sollte wohl ein neuer RAID Controller mit PCI-E 3.0 passen?


@Alle
Wie schnell sind eigentlich SAS Festplatten gegenüber normalen SATA Platten?
 
@IP-Projects.de:
Die SSDs wollten wir als Cache nutzen und da wir Momentan ca. 3,5 TB benötigen, ist das auch keine praktikable Lösung. Bei Raid 10 benötigt man 8 SSDs mit jeweils 1TB. Dann habe ich die Erfahrung gemacht das SSD häufiger ausfallen.
Über eine 10 Gb/s Netzwerkanschluss kann man dann immer noch machen wenn wir RAID Controller schnell genug bekommen dafür.

Da könnte man eigentlich überlegen ein RAID 5 oder 6 zu nehmen um die Anzahl der HDDs entsprechend zu senken. Ob man die SSDs als Cache nutzen kann kommt auf die Anwendung an. Grundsätzlich würde hier aber dann ein Memcache mehr Sinn machen. Es gibt Tools die es erlauben eine Systempartition in den Arbeitsspeicher zu legen. So könnte man z.B. im aktiv Betrieb 10 GB des Arbeitsspeichers als Systempartition anlegen. Das ist deutlich schneller und kostengünstiger als hier mit SSDs zu arbeiten.

Bei mir am PC geht das mit dem ASRockAXTU - nennt sich dort XFast RAM. Es gibt hier aber wohl auch externe Software um so etwas einzurichten.


Nochmals @IP-Projects.de:
In unseren Server ist ein D2709 Board und der hat
- PCI-express 2.0 x4 (mech. x8) 2 x volle Höhe (1x lang, 1x kurz)
- PCI-express 2.0 x8 2 x volle Höhe (1x gekerbt, daher für x16-Karten im x8-Modus nutzbar)
- PCI-express x4 (mech. x8) 1 x volle Höhe
Da sollte wohl ein neuer RAID Controller mit PCI-E 3.0 passen?

Natürlich, das sind die ganz normalen PCI Express Sockel auf die du auch PCI-E 3.0 Controller installieren kannst.
 
Das ist soweit nicht korrekt, wäre auch eigentlich nicht möglich, da der Cache selbst ja auch über die Schnittstelle übertragen wird :)
Nein, der Cache des Dateisystems (davon sprach ich) hat nichts mit dem Cache des Controllers zu tun. Wiederhole den Test doch mal mit oflag=sync beim Schreiben als dd-Parameter sowie einem echo 3 > /proc/sys/vm/drop_caches bevor du die Datei liest. Das wird definitiv langsamer sein.

Der kleinste Sockel ist daher ein X4 Sockel kein X1 Sockel und schafft daher eine Datenrate von bis zu 2000 MB/s.
Wie viele Lanes das Board dem Controller "anbietet", ist egal; der Adaptec 6405E wird aber definitiv über PCIe 2.0 x1 angebunden: http://www.adaptec.com/nr/pdfs/ds_series_6e_de.pdf
Daher kann er eigentlich nur 500 MB/s übertragen. Ich lasse mich aber gerne mit obenstehendem Test eines Besseren belehren (wobei mich bei einer höheren Leistung sehr der Grund interessieren würde).
 
Wie viele Lanes das Board dem Controller "anbietet", ist egal; der Adaptec 6405E wird aber definitiv über PCIe 2.0 x1 angebunden: http://www.adaptec.com/nr/pdfs/ds_series_6e_de.pdf
Daher kann er eigentlich nur 500 MB/s übertragen. Ich lasse mich aber gerne mit obenstehendem Test eines Besseren belehren (wobei mich bei einer höheren Leistung sehr der Grund interessieren würde).


Vielleicht hat er auch einen Adaptec 6405, der sollte laut Webseite einen 8-lane PCIe Gen2 Anschluss haben.
 
ok Tim 1 Michael 0 :) Stimmt er hat einen X1 Konnektor.


Code:
root@:~# time dd if=/dev/zero of=datei bs=1M count=10240 oflag=sync
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 53.856 s, 199 MB/s

real    0m53.862s
user    0m0.012s
sys     0m18.308s

root@:~# time dd if=/dev/zero of=datei bs=1M count=10240 conv=sync oflag=sync
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 54.3691 s, 197 MB/s

real    0m55.407s
user    0m0.000s
sys     0m19.892s


root@:~# time dd if=/dev/zero of=datei bs=1M count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 8.8822 s, 1.2 GB/s

real    0m9.935s
user    0m0.000s
sys     0m8.172s


root@~# time dd if=/dev/zero of=datei bs=1M count=10240 conv=sync
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB) copied, 7.60609 s, 1.4 GB/s

real    0m8.639s
user    0m0.000s
sys     0m8.216s


Das interessante ist, dass er ohne Cache gerade einmal auf 200 MB/s kommt. Mit Cache aber auf 1,2 G/s.

Ich habe mich hier ein bisschen umgesehen: http://www.kingston.com/de/ssd/hyperx#shfs37a

Komprimierte Datenübertragung (ATTO) Alle Speicherkapazitäten:
500MB/s Lese- und 500MB/s Schreibgeschwindigkeit

Nicht-komprimierte Datenübertragung (AS-SSD und CrystalDiskMark):
240GB – 470MB/s Lesegeschwindigkeit, 220MB/s Schreibgeschwindigkeit

Es scheint daher so zu sein, dass man mit der Deaktivierung des Caches auch die Komprimierung deaktivierst. Das würde auch die schmale Datenrate von 200 MB/s erklären. Allerdings ist für uns ja relevant, wie schnell das Betriebssystem die Daten schreibt / ließt und dabei muss eigentlich auch der Betriebssystemcache berücksichtigen.
 
Mag sein das das Filesystem noch bremst aber irgendwie erscheinen mir die 200 komisch, das wären "nur" ~45MB/s mehr als auf meinem RAID 10 mit 4x WD Red 1TB HDD an Adaptec 6405E mit denen ich auf 154-158 MB/s komme (egal ob ich 1 od. 10GB schreibe).

Zur 850 Pro habe ich eine dd Referenz auf die schnelle nur zur 512GB Version gefunden, da geht sie locker auf 400+ MB/s beim schreiben.
https://wiki.archlinux.org/index.php/SSD_Benchmarking#Samsung_850_PRO_512GB

Kann mir aber auch nicht vorstellen das ~200MB/s das praktische Maximum von PCIe x1 Gen 2 wäre. Wir reden hier ja nicht über WiFi.

Edit: Hier kommt ein Windowsnutzer mit EVO's und RAID 0 ebenfalls nicht über 200MB/s
http://superuser.com/questions/752651/adaptec-raid-controller-6405e-slower-than-onboard-raid
 
Last edited by a moderator:
Mag sein das das Filesystem noch bremst aber irgendwie erscheinen mir die 200 komisch, das wären "nur" ~45MB/s mehr als auf meinem RAID 10 mit 4x WD Red 1TB HDD an Adaptec 6405E mit denen ich auf 154-158 MB/s komme (egal ob ich 1 od. 10GB schreibe).
Nun ja, zum Einen sind das hier im Test Kingston-SSDs, wenn ich das richtig sehe. Die bringen gerade im Schreiben nicht die Übertragungsrate deutlich teurerer SSDs. Zum Anderen geht es (meines Erachtens nach) bei SSD-Technik viel mehr um IOPS als um den Durchsatz, und dahingehend sind auch günstige Kingston-SSDs natürlich deutlich vor herkömmlichen Festplatten. Da können sich die Spindeln noch so schnell drehen. ;)
 
Back
Top