Verständnisfrage zu Raid10, SAS-auf-SATA, Geschwindigkeit

Karl_mags

Cadet 1st Year
Registriert
Juli 2024
Beiträge
9
Moin zusammen,

habe aus einem alten Fundus eine LSI MegaRaid 8794em2 8704EM2 (Datenblatt: https://docs.broadcom.com/doc/12351895) ausgegraben und ein Raid-10 mit 4x1TB HDDs gebaut. Der Controller bietet (entgegen dem Datenblatt) nur einen Mini-SAS SFF8087 4i internal connector mit einer Transfer-Rate von "Up to 3Gb/s per port". Dort habe ich mit einem SFF-8087 auf 4x SATA Kabel die Platten angeschlossen.

Nun lässt mich die Lesegeschwindigkeit etwas enttäuschen:
Bash:
# hdparm -tT /dev/sda1
/dev/sda1:
 Timing cached reads:   29186 MB in  1.99 seconds = 14675.90 MB/sec
 Timing buffered disk reads: 932 MB in  3.00 seconds = 310.38 MB/sec

# dd if=/media/DATA/test/null_no_cache of=/dev/null bs=4M iflag=direct
256+0 Datensätze ein
256+0 Datensätze aus
1073741824 Bytes (1,1 GB, 1,0 GiB) kopiert, 4,98336 s, 215 MB/s

Bildschirmfoto vom 2025-02-02 21-07-38.png


Die Platten liefern im single-betrieb zwiwschen 160-180MB/s read speed, Raid10 könnte theoretisch das 4-fache leisten, realistisch ist ja aber eher der Faktor x3. Aber hier ist es ja nicht mal das Doppelte.

Heißt das, ich bekomme über diesen Port nicht mehr raus, weil der nicht mehr kann?
Und gibts ne Erklärung wieso die Leistung über die Dauer einbricht? Ich dachte RaidController hätten solche Probleme eher weniger.

vielen Dank fürs Bemühen des Interesses bzgl dieses alten Schinkens :)
 

Anhänge

  • 7a19240b-e0dd-4c1f-8d50-0d01844f3fbc.jpg
    7a19240b-e0dd-4c1f-8d50-0d01844f3fbc.jpg
    63,4 KB · Aufrufe: 30
Zuletzt bearbeitet:
falsch.
nur doppelte da Raid 10

bitte nach lesen auf einer der vielen duzenden seiten was raid 10 ist
es gibt auch geschätzt 100.000 Seiten wieso das langsamer wird
 
wern001 schrieb:
falsch.
nur doppelte da Raid 10
Aber nur beim Schreiben. Er will lesen und da ist es 4x.

Ich finde 328 MB/s als mittlere Lesegeschwindigkeit jetzt nicht so schlecht...
"3 Gb/s pro Port" sind ja auch nur 375 MB/s in der absoluten Spitze.
Die fehlen hier also keine 50 MB/s bis zum (theoretischen) Limit der Schnittstelle.

Dass er hier einbricht, liegt wahrscheinlich an der Größe vom Cache des RAID-Controllers oder an seiner CPU-Leistung.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: mchawk777, gaym0r und Karl_mags
Nicht unbedingt, nur weil es theoretisch möglich wäre bei einem Mirror von allen Disks parallel zu lesen heißt es noch lange nicht, dass das auch implementiert ist.

Davon ab skaliert ein Raid praktisch sowieso nicht 1:1. Und der Durchsatz nimmt ab, weil die Disks nicht überall gleich schnell sind. Innere Spuren haben geringere Zugriffszeiten und geringeren Durchsatz, äußere Spuren das Gegenteil.

Insgesamt sieht das Ergebnis ganz gut aus, liegt in dem zu erwartenden Bereich.
 
wern001 schrieb:
falsch.
nur doppelte da Raid 10

bitte nach lesen auf einer der vielen duzenden seiten was raid 10 ist
es gibt auch geschätzt 100.000 Seiten wieso das langsamer wird
Ich.Hab.Gelesen!! Du nicht.

Schreiben ist im Rahmen, passt so für mich:

Bash:
# dd if=/dev/zero of=/media/DATA/test/null_no_cache bs=1G count=3 oflag=dsync
3+0 Datensätze ein
3+0 Datensätze aus
3221225472 Bytes (3,2 GB, 3,0 GiB) kopiert, 14,4003 s, 224 MB/s
 
Mr. Smith schrieb:
Aber nur beim Schreiben. Er will lesen und da ist es 4x.

ist doch egal ob schreiben oder lesen.
wie soll sich die geschwindigkeit verdoppeln wenn die daten doppelt da sind?
im Raid 1 hat man nur eine minimal höhere leserate.
Mein Raid 1 mit zwei Sata SSD liegt im lesen bei ca 750-800 MB/sek

Wenn es schnell sein soll dann mach Raid0
 
wern001 schrieb:
Wenn es schnell sein soll dann mach Raid0
Dafür, dass du so belehrend auftrittst, kennst du dich aber selbst auch nicht richtig aus..
RAID10 kann genauso schnell schreiben, wie ein RAID1, aber doppelt so schnell lesen.

RAID10.PNG


Und bei 4 HDD'S macht es einfach keinen Unterschied.
Warum sollte man RAID 0 nehmen, wenn man identische Performance bei gleichzeitiger Ausfallsicherheit haben kann (wenn einem die Kapazitätshalbierung egal ist)?

gaym0r schrieb:
Nicht mit vier Platten.

Ja, ist korrekt.
Trotzdem macht es keinen Sinn auf ein reines RAID0 zu wechseln "bc of performance" ^^
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Karl_mags
Die Werte sehen doch gut aus und wenn du die Limits des Ports erforschen willst, steck ein paar Sata-SSD an.

Ansonsten auch mal ein wenig mehr als nur ein maues Gigabyte für den Test nutzen.

€: Kann der Controller HBA-Modus? Wenn ja, einschalten und im OS das Raid basteln, evtl. kriegst du dann die nötigen MB/s bis zum Portmaximum raus.
 
  • Gefällt mir
Reaktionen: Das MatZe
Mr. Smith schrieb:
Ich finde 328 MB/s als mittlere Lesegeschwindigkeit jetzt nicht so schlecht...
"3 Gb/s pro Port" sind ja auch nur 375 MB/s in der absoluten Spitze.
Die fehlen hier also keine 50 MB/s bis zum (theoretischen) Limit der Schnittstelle.

Dass er hier einbricht, liegt wahrscheinlich an der Größe vom Cache des RAID-Controllers oder an seiner CPU-Leistung.
Ja das war ja die initiale Frage: Wenn der Port einfach nicht mehr packt, läuft das ganze doch recht gut für diesen "Flaschenhals".

zum RAID-Cache: 128MB sind nicht sonderlich viel, ist halt ech auch ein altes Ding, dafür kostenlos (: Aber ja, macht Sinn.
 
Mr. Smith schrieb:
"3 Gb/s pro Port" sind ja auch nur 375 MB/s in der absoluten Spitze.
Die fehlen hier also keine 50 MB/s bis zum (theoretischen) Limit der Schnittstelle.
Da sind vier Ports vorhanden. Der hostseitige Port könnte kombiniert 12 Gbit/s, wenn jedes Einzellaufwerk schnell genug wäre.
 
Der Controller nutzt 8 PCIe 1.0a Lanes laut des Datenblatts.
Ist der 8 fach angebunden? Vllt geht da was flöten.
 
Mr. Smith schrieb:
Nein, kann er nicht. 12 Gb/s gehen erst ab SAS3.
Ein 8794em2 hat kein SAS3.
Doch, könnte er. Mit SAS3 hat das nix zu tun. Der Chip kann SAS1 und SATA2. Der hostseitige Port ist natürlich ein Multilane-Port, wie das bei SFF-8087 halt so ist. Der kombinierte maximale Durchsatz wäre 12 Gb/s. 3 Gb/s bezieht sich auf jeden einzelnen der vier Links die der Port führt.
 
  • Gefällt mir
Reaktionen: gaym0r
Mr. Smith schrieb:
Nein, kann er nicht. 12 Gb/s gehen erst ab SAS3.
Ein 8794em2 hat kein SAS3.
Es ist ein 8704EM2, habs eingangs vertippt.

Jetzt bin ich aber immer noch nicht ganz dran: Das Datenblatt sagt:
4x internal SAS/SATA ports, Up to 3Gb/s per port

Und doch sagt der Test, dass nur <3Gb/s insgesamt machbar ist. Das ist die Crux weshalb dieser Thread existiert.

FeelsGoodManJPG schrieb:
Der Controller nutzt 8 PCIe 1.0a Lanes laut des Datenblatts.
Ist der 8 fach angebunden? Vllt geht da was flöten.

Interessant! Wo lese ich da was raus?:
Edit:
habs

Bash:
01:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS 1078 (rev 04)
        Subsystem: Intel Corporation MegaRAID SAS 1078
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 16
        IOMMU group: 2
        Region 0: Memory at f7d40000 (64-bit, non-prefetchable) [size=256K]
        Region 2: I/O ports at e000 [size=256]
        Region 3: Memory at f7d00000 (64-bit, non-prefetchable) [size=256K]
        Expansion ROM at f7d80000 [disabled] [size=128K]
        Capabilities: [b0] Express (v1) Endpoint, MSI 00
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset- SlotPowerLimit 75.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                        MaxPayload 256 bytes, MaxReadReq 2048 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
                [B]LnkCap: Port #0, Speed 2.5GT/s, Width x8, ASPM L0s, Exit Latency L0s <2us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s (ok), Width x8 (ok)
                        TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-[/B]
        Capabilities: [c4] MSI: Enable- Count=1/4 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [d4] MSI-X: Enable+ Count=4 Masked-
                Vector table: BAR=0 offset=0003e000
                PBA: BAR=0 offset=0003f000
        Capabilities: [e0] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [ec] Vital Product Data
                Not readable
        Capabilities: [100 v1] Power Budgeting <?>
        Kernel driver in use: megaraid_sas
        Kernel modules: megaraid_sas
 
Zuletzt bearbeitet:
Versuch mal n RAID 00 oder ein RAID 0 über alle 4 Platten

Afaik erhöht nur RAID 0 die Lesegeschwindigkeit, weil bei RAID 1 die Daten erst auf Korrektheit geprüft werden. Das entfällt bei RAID 00 oder 4 Platten RAID 0 komplett.

Würde auch grob passen: 2 x 160 im RAID 0 = 320
 
Zuletzt bearbeitet:
Khorneflakes schrieb:
Doch, könnte er... Mit SAS3 hat das nix zu tun. Der Chip kann SAS1 und SATA2. Der hostseitige Port ist natürlich ein Multilane-Port, wie das bei SFF-8087 halt so ist. Der kombinierte maximale Durchsatz wäre 12 Gb/s. 3 Gb/s bezieht sich auf jeden einzelnen der vier Links die der Port führt.
Sehe ich immer noch anders.

Beim SAS-Controller selbst (LSISAS1078) ist ein "SAS Bus Speed" von 3 Gb/s angegeben. Und Bus-Speed heißt für mich, dass der Port einfach nicht mehr kann, egal wieviele Drives dahinter hängen.

Natürlich kann der auch "Pro Port" 3Gb/s... somit hast du bereits bei einer Platte die volle Bandbreite und nicht erst bei 2, 3 oder 4. Trotzdem sollte es in der Spitze nicht über 3 Gb/s hinausgehen.

Mag mich auch täuschen, aber er ist nicht weit vom Limit entfernt...
 
Zuletzt bearbeitet:
Mr. Smith schrieb:
Beim SAS-Controller selbst (LSISAS1078) ist ein "SAS Bus Speed" von 3 Gb/s angegeben. Und Bus-Speed heißt für mich, dass der Port einfach nicht mehr kann, egal wieviele Drives dahinter hängen.
Es sind pro Port 3 Gb/s. Es sind 4 Ports. So funktioniert SAS. Sieht man auch schön im Datasheet.
 
  • Gefällt mir
Reaktionen: Khorneflakes
Ich bin einigermaßen entsetzt. Wir müssen hier jetzt wirklich darüber diskutieren, wie SAS seit 20 Jahren funktioniert?

Etwas nicht zu wissen und zu fragen ist die eine Sache, da kann man helfen. Es aber offensichtlich nicht zu wissen und dann aber die lange bekannten technischen Grundlagen in Frage zu stellen ist nicht diskussionswürdig.
 
  • Gefällt mir
Reaktionen: gaym0r
VDC schrieb:
Die Werte sehen doch gut aus und wenn du die Limits des Ports erforschen willst, steck ein paar Sata-SSD an.

Ansonsten auch mal ein wenig mehr als nur ein maues Gigabyte für den Test nutzen.

€: Kann der Controller HBA-Modus? Wenn ja, einschalten und im OS das Raid basteln, evtl. kriegst du dann die nötigen MB/s bis zum Portmaximum raus.
Good Point, wird heute abend versucht.
Die Datenmenge ist eher egal, die Werte werden nicht besser, eher schlechter. In Benutzung sollte der auch eher kleinere Files als NAS verteilen. ne Iso mit 5GB ist da schon das maximum.

HBA kann er wohl nicht, finde nix dazu und im Raid-BIOS bietet sich keine option dafür an.
 
Zurück
Oben