SATA/SAS Backplane

Zoldyck

Lieutenant
Registriert
Aug. 2008
Beiträge
554
Hi,

Ich hab hier ein Backplane zu dem ich ein paar Fragen bezüglich SAS/SATA hätte. Das Backplane hat auf der Vorderseite 16 SAS/SATA Anschlüsse für HDDs - wie auf diesem Bild.

Auf der Rückseite finden sich vier (mini-?) SAS Anschlüsse um das Backplane mit dem Controller zu verbinden. Ich lese immer mini-SAS (was wohl das hier ist). Wie sieht den dann ein "normales" SAS Kabel aus?

Ich weiß das man ohne Probleme vier SATA Platten pro (mini-?)SAS-Anschluss betreiben kann - aber wie ist den das jetzt wenn ich tatsächlich 16 SAS-Platten an dieses Backplane anschließe -habe ich dann einen Flaschenhals? bzw. können die Platten ihre volle Geschwindigkeit entfalten? oder Teilen diese sich die verfügbare Bandbreite eines SAS-Anschlusses? (weil halt nur "vier" mini-SAS Anschlüsse zum SAS-Controller führen).

Ist es theoretisch möglich den mini-SAS Anschluss auf dem Backplane nicht an einem SAS-Controller anzuschließen sondern auch an einen SATA-Controller? (mit z.B. diesem Kabel).

Gruß Zoldyck
 
Einen Flaschenhals hast du da nicht. Jede Platte bekommt eine SATA bzw. SAS Verbindung. SAS HDDs können bis zu Max. 2x SAS Verbindung pro Anschluss herstellen für doppelte Bandbreite was aber maximal bei riesigen SSDs interessant werden könnte oder eine HDD mit mehreren Controllern (Redundanz).

Wenn Dein SAS/SATA Controller Protokoll Version 3 kann, hast du also 600MB/s pro Platte. Wichtig ist das der Controller auch soviel Kanäle bereitstellt und intern keinen extender verwendet.

Für SAS gibt es mehrere Steckertypen für intern und extern. Der von dir auf dem Bild verlinkte ist z.b. Ein SFF-8087. Gibt aber für alle Möglichkeiten passende Kabel für wenig Geld.
 
Zuletzt bearbeitet:
Hi,

ich bin zu dem Thema zwar kein Experte, aber die Wikipedia Seite zu SAS beantwortet deine Fragen eigentlich sehr gut.

http://de.wikipedia.org/wiki/Serial_Attached_SCSI

Ganz oben ist erstmal ein Stecker für normales SAS zu sehen.
Weiters hat miniSAS 4 Kanäle -> klingt für mich so als wäre es kein Problem 4 SATA Streams über 1 mini-SAS Kabel laufen zu lassen.

Ganz unabhängig ist mini-SAS -> 4x SATA so verbreitet dass ich mal annehme dass es keine Probleme mit der Performance geben sollte.
So verwendet z.B Backblaze für ihre StoragePods mit 45 HDDs Host-Adapter mit miniSAS Anschlüssen um daran SATA HDDs zu betreiben.
https://www.backblaze.com/blog/backblaze-storage-pod-4/
 
Es gibt nicht "das" normale SAS Kabel. Es gibt eine ganze Reihe an spezifizierten Standards für diesen Zweck, der auch SATA mit einschließt. Falls du ein Kabel für eine einzelne Verbindung meinst: Auch für SAS werden Kabel mit dem Standard 7-Pin SATA Stecker benutzt. Am anderen Ende hat man dann SFF-8482, das ist der festplattenseitige Anschluss für SAS. Für gewöhnlich gibt es aber keine SAS Controller mit 7-Pin SATA Ports, sodass SAS Kabel für Einzelplatten sehr selten sind. Es gibt jedoch wenige Ausnahmen.

MiniSAS aka SFF-8087 ist einer dieser Standards und ein sehr verbreiteter für Backplane Verbindungen. Es ist eine Multilane Verbindung, d.h. es gehen vier SAS oder SATA Links über eine Verbindung. Ob du am Ende eine SAS oder SATA Festplatte anschließt spielt keine Rolle, es gibt da auch keinen Flaschenhals. Die SAS und SATA Verbindungen sind immer deutlich schneller als die entsprechenden Festplatten und auch bei Multilane Verbindungen hat jede Festplatte ja nach wie vor ihre eigene Verbindung.
Es gibt sogenannte Breakout Kabel, du hast als letztes eins verlinkt, mit dem man den Multilane Port am Controller wieder in vier einzelne Verbindungen auftrennen kann. Zum Beispiel für Platten direkt am Controller mit Multilane Ports oder Backplanes mit einzelnen Ports.

Anschluss der Backplane an einen SATA Controller ist möglich. Reine SATA Controller gibt es kaum noch (außer onboard auf den meisten Mainboards durch den Chipsatz), aber als es sie gab waren einige davon auch mit Multilane Ports wie SFF-8087 ausgestattet. Manche Hersteller bündeln die onboard SATA Ports auch in Multilane Ports. Für den Fall von Einzelports, klassische SATA Ports, am Controller braucht man ein reverse Breakout Kabel. Auch wenn das genau so aussieht wie das (forward) Breakout Kabel sind die nicht mit dem jeweils anderen kompatibel.

Die TL;DR Version:
Es gibt beinahe unzählige Möglichkeiten der Kombination von verschiedenen Steckerformaten für Implementationen von SAS/SATA. Die aktuell am Markt befindlichen Standards sind alle untereinander kompatibel, als "Adapter" gibt es Kabel mit verschiedenen Steckern an den jeweiligen Enden. Dabei können grundsätzlich alle Kabel sowohl für SAS als auch SATA verwendet werden, wichtig ist nur die Kompatibilität der Endgeräte. SATA Controller können nur SATA Platten ansteuern, SAS Controller können beides.
Die einzige Besonderheit der Verkabelung: Reverse Breakouts für SATA Controller an Multilane Backplanes!

holdes schrieb:
Wichtig ist das der Controller auch soviel Kanäle bereitstellt und intern keinen extender verwendet.

Selbst mit einem SAS Expander dauert es etwas, bis man sich da einen Flaschenhals konstruiert. Mit einem aktuellen Setup braucht man etwa 50 Festplatten, von denen konstant sequentiell gelesen wird, bevor der Uplink vom Controller zum Expander zu klein wird.
 
Zuletzt bearbeitet:
Vielen Dank für die Antworten :)

Diese beantworten meine Fragen.

Soweit ich das sehe hat das Backplane mit 6Gb/s kein Problem. Zumindest steht in der Artikelbeschreibung "S-ATA/SAS-Backplane + SFF-8087 (max. 6 Gb/s)" -eine Datasheet habe ich jetzt leider nicht gefunden.

Mein SAS-Controller wird mit "entry-level 6 Gbps SAS 2.0 PCI Express 2.0 RAID" beschrieben. Also auch hier "Protokoll Version 3".-wenn ich das richtig sehe.

Es ist gut zuwissen das man bei den "Breakout" Kabel auf die Richtung achten muss -das wusste ich auch nicht. Auch wenn mich das nur theoretisch interessiert hat. Werde dann entsprechend vier Kabel verwenden die auf beiden Seiten einen SFF-8087 Stecker haben.

Ich hatte irgendwie gedacht das über den SAS-Port am Controller zwar vier SATA Platten angeschlossen werden können (mit den 4 Lines) - aber dachte (aus irgendeinem Grund), das man für die SAS Platten mehr Bandbreite benötigen würde und deswegen nur weniger als vier möglich sind. Aber das war quatsch. Wie ich gerade sehe gibt es auch dafür entsprechende Kabel :)

Jetzt aber noch einmal eine technische Frage. Wenn ich an einen Port vier SATA oder vier SAS Platten anschließen kann, weil diese sich anscheinend in der Bandbreite nichts nehmen -wieso dann zwei verschiedene Standard bzw. Anschlüsse?

Gruß Zoldyck
 
Zoldyck schrieb:
Soweit ich das sehe hat das Backplane mit 6Gb/s kein Problem. Zumindest steht in der Artikelbeschreibung "S-ATA/SAS-Backplane + SFF-8087 (max. 6 Gb/s)" -eine Datasheet habe ich jetzt leider nicht gefunden.

Mein SAS-Controller wird mit "entry-level 6 Gbps SAS 2.0 PCI Express 2.0 RAID" beschrieben. Also auch hier "Protokoll Version 3".-wenn ich das richtig sehe.

Passive Komponenten (Kabel, Backplanes) haben keinen Einfluß auf die maximale Linkgeschwindigkeit. SAS geht bei der Geschwindigkeit immer voran. SAS2 liefert 6 Gbit/s, während SATA2 3 GBit/s liefern konnte. Mit der Einführung von SATA3 zog SATA nach, aber dann kam SAS3 mit 12 Gbit/s, was aktuell der letzte Standard ist. Wenn der Controller mit 6 Gbit/s SAS beworben wird, dann ist das also Version 2 und häufig kann er dann auch nur Version 2 von SATA, also 3 Gbit/s wenn SATA Laufwerke angeschlossen werden.

Der Beschreibung nach klingt das nach einem IBM M1015? Das ist kein Raidcontroller, das ist ein SAS HBA ;)
Raidcontroller = Controller mit RoC, der Parität (XOR) in Hardware berechnet und die logischen Arrays verwaltet und sie vom OS weg abstrahiert. HBA = Host Bus Adapter, eigentlich ein alter Begriff, der die angeschlossenen Platten nativ an das OS durchreicht. Manche HBA haben rudimentäre Raidfunktionen (0, 1, manchmal 10, da diese keine XOR Berechnungen erfordern), aber dadurch werden sie nicht automatisch zu Raidcontrollern.
Und da ist es dann in der Tat so, dass der 6 Gbit/s mit SAS Laufwerken und 3 Gbit/s mit SATA Laufwerken macht.

Zoldyck schrieb:
Jetzt aber noch einmal eine technische Frage. Wenn ich an einen Port vier SATA oder vier SAS Platten anschließen kann, weil diese sich anscheinend in der Bandbreite nichts nehmen -wieso dann zwei verschiedene Standard bzw. Anschlüsse?

Grob gesagt: SAS ist der Nachfolger von SCSI für den professionellen Bereich, SATA ist der Nachfolger von IDE für den privaten Bereich. Der Grund für zwei Standards ist der Preis, das war damals schon so. Diesmal hat man aber daran gedacht sie kompatibel zu machen, indem man SATA per STP (SATA Tunneling Protocol) durch SAS tunneln kann. Daher funktionieren SATA Platten an SAS Controller, aber nicht umgekehrt.

Einige Unterschiede im Detail:

- SAS kennt Dual Domain Infrastrukturen, in denen Festplatten z.B. gleichzeitig an zwei Controller angeschlossen sein können. Dazu gibt es Dual Port SAS Platten, SATA hat sowas nicht. Ist ein Enterprise Feature für erhöhte Verfügbarkeit.
- SATA nutzt einen abgespeckten Befehlssatz, ähnlich wie bei IDE, zzgl. ein paar Neuerungen wie NCQ und Hot Plug und SAS nutzt den vollen SCSI Befehlssatz, welcher z.B. bessere Möglichkeiten zur Fehlerbehebung und auch Fehlermeldung bietet, zzgl. eben STP für SATA Kompatibilität.
- SAS nutzt höhere Signalspannungen, dadurch können SAS Verbindungen länger sein als SATA Verbindungen.

Das sind nicht alle, aber die wichtigsten Unterschiede, die mir gerade einfallen. Im Prinzip sind in SAS also einige Features bzw. Eigenschaften implementiert bzw. verwirklicht worden, die einen Mehrwert für professionellen Betrieb bieten. Allerdings machen die SAS teurer, sodass es für den privaten Bereich selten zu rechtfertigen ist, weil diese Features da nicht gefragt sind. Daher gibt es eine günstige, abgespeckte Version.

In der Praxis vermischen sich die Welten. Der Einsatz von SATA aus Kostengründen in Enterprise Umgebungen hat in der Vergangenheit zugenommen und mit "Nearline" SAS gibt es eine neue Klasse von SAS Laufwerken die zwar einen SAS Controller haben, intern aber auf die Mechanik und Technik von SATA Laufwerken setzen.
 
Zuletzt bearbeitet:
Vielen Dank für die Erklärung ;)

Gruß Zoldyck

Edit
Danke für die Info mit dem Controller -ja ich hatte von dem IBM M1015 gesprochen. Ich weiß das das Teil keine RAID Funktionen hat (außer wie du schon sagtest 0,1,10). Allerdings ist das auch kein schwerer Verlust oder? -die Option des Software Raids für z.B. Raid6 bleibt doch immer noch -oder existieren hier garivierende Nachteile? -ich dachte nein.

In dem Zusammenhang -hast du gerade einen Controller mit mindestens 4x SFF-8087, SAS2 (12GB/s), und RAID Funktionen (1,2,5,6,10) zur Hand?
 
Zuletzt bearbeitet:
Der Nachteil eines Raid 5 oder 6 wäre, dass die CPU die Paritätsinfos berechnen muss. Das ist nicht so performant wie wenn das der RoC übernimmt.

SAS mit 12 Gbit/s ist SAS3, hier wäre ein passender: http://geizhals.de/adaptec-81605zq-2281600-r-a1056431.html
LSI hat natürlich auch was, aber nur mit 8 Ports: http://geizhals.de/lsi-megaraid-sas-9361-8i-bulk-lsi00417-a1037343.html
Die bauen scheinbar gerade keine Controller mehr mit mehr als 8 Ports.

Die haben beide nun SFF-8643 Ports, das ist MiniSAS HD und der Nachfolger von SFF-8087 / MiniSAS. Wie bereits erwähnt ist das aber alles kompatibel, es gibt SFF-8643 auf SFF-8087 Kabel.

12 Gbit/s bringt dir aber nicht viel, bestenfalls bei sehr schnellen SAS SSDs oder wenn du über einen Expander gehst. 6 Gbit/s tuts auch, da gibts auch etwas günstigere Controller: http://geizhals.de/adaptec-raid-71605-bulk-2274400-r-a839928.html
 
Zuletzt bearbeitet:
Raid 5 und 6 unter Linux sind schon relativ fix. Die Paritätsberechnungen kann die CPU eigentlich ganz gut händeln. Meiner Erfahrung nach brechen die ganzen Software Raids aber doch deutlich gegenüber einem ordentlichen Raidcontroller ein wenn multiple Schreib- und Lesezugriffe gleichzeitig stattfinden. Die Queueverwaltung von Raidcontrollern durch die Controller CPU + Cache ist einfach ziemlich gut.

Wenn so ein Szenario nicht vorkommt und Linux verwendet wird kann man auch Software Raid nutzen. Finger weg von Raid im Chipsatz des Mainboards und Windows eigenen Raids und Speicherpools. Lahm wie die Sau.

Wenn man Glück hat kann man sich einen IBM M5014/M5014 günstig bei eBay ersteigern. Kann man dann zu einem LSI MegaRaid 9260-8i flashen. (Mit kleinen Haken, M5014 nur 256MB Cache und generell von Haus aus haben beide keine Raid 6 unterstützung. Kann man aber per steckbarem Chip ändern.)
 
DunklerRabe schrieb:
Der Nachteil eines Raid 5 oder 6 wäre, dass die CPU die Paritätsinfos berechnen muss.
Unter Windows sind SW-RAID von der Performance her Mist, aber die Linux SW-RAIDs sind performant, selbst der kleine Athlon in meinem N54L hat viel mehr Performance als jeder HW-RAID Controller.

Humptidumpti schrieb:
Raid 5 und 6 unter Linux sind schon relativ fix. Die Paritätsberechnungen kann die CPU eigentlich ganz gut händeln. Meiner Erfahrung nach brechen die ganzen Software Raids aber doch deutlich gegenüber einem ordentlichen Raidcontroller ein wenn multiple Schreib- und Lesezugriffe gleichzeitig stattfinden. Die Queueverwaltung von Raidcontrollern durch die Controller CPU + Cache ist einfach ziemlich gut.
Möglicherweie hast Du noch Erfahrungen mit älteren Linux RAIDs, mdadm ist seid dem Linux Kernel 3.12 Multi-Threading fähig und das HDDs bei parallelen Zugriffen massiv einbrechen ist ja auch bekannt. Den HW-RAID Controller mit Cache und BBU kommt da das sync-Faking zugute, weshalb sie bei klein parallelen Zugriffen scheinbar sehr schnell sind, zumindest solange der Cache nicht voll ist und selbst dann hilft der Cache die Schreibzugriffe zu optimieren und Kopfbewegungen zu minimieren.

Dann kann man bei Linux noch eine Menge tunen, vor allem das Auslagern des Journals von ext4 auf eine andere Platte (SSD) hilft den SW-RAID gewaltig auf die Sprünge, mdadm hat auch einige Vorteile.
 
Holt schrieb:
...selbst der kleine Athlon in meinem N54L hat viel mehr Performance als jeder HW-RAID Controller.

Drück das bitte mal in Zahlen (Durchsatz und IOPS bei x Platten vom Typ y) aus, das glaube ich nämlich nicht.
 
Meiner läuft mit 5 WD Red 3TB und kommt auf 550MB/s seq., auf IOPS ist es nicht optimiert weil es wie ein NAS genutzt wird und da kommt es mit nicht auf IOPS sondern mehr auf die Sicherheit an und entsprechend ist mein RAID auch konfiguriert und das werde ich jetzt nicht ändern. Schau Dir noch mal diesen Link aus dem letzten Post an, da kannst Du sehen wie groß die Bandbreit bei der Performance je nach Konfiguration ist.
 
Schon ok, du sollst da jetzt natürlich um Gottes Willen nichts umkonfigurieren. Mir gings es hauptsächlich darum wie der kleine AMD Prozessor das bewältigt, 550 MB/s mit den WD Red ist schon amtlich für ein Software Raid und besser als ich es erwartet hätte. Aber schneller als mit einem Hardware Raid wäre ist das nun auch nicht.
 
Danke für die vielen Infos :)

Da hab ich doch gleich noch eine Frage ;) - Wie schon gesagt wurde haben alle SAS-Raid-Controller (Protokoll 3) anscheinend den neuen Anschluss (SFF-8643). Natürlich gibt es Kabel von SFF-8643 zu SFF-8087 -bedeutet das aber das automatisch au Protokoll 2 heruntergeschalten wird? (weil auf einer Seite noch SFF-8087 zum Einsatz kommt).

In dem Zusammenhang auch gleich mal die Frage zu dem Dateisystem -ist hier ext4 das geläufige? Ich selbst nutze seit geraumer Zeit primär xfs und btrfs.

@Holt
Du benutzt den 3.12er Kernel? -welche Distro benutzt du? (Arch? Jessie?)

Gruß Zoldyck
 
Zoldyck schrieb:
Natürlich gibt es Kabel von SFF-8643 zu SFF-8087 -bedeutet das aber das automatisch au Protokoll 2 heruntergeschalten wird? (weil auf einer Seite noch SFF-8087 zum Einsatz kommt).

Nope, das hat damit nichts zu tun. Passive Elemente, wie Kabel, beeinflussen die Link Speed nicht. Wenn auf beiden Seiten vom Kabel 12 Gbit/s Devices hängen, dann werden die 12 Gbit/s aushandeln.
 
DunklerRabe schrieb:
der kleine AMD Prozessor das bewältigt, 550 MB/s mit den WD Red
Da dürfte die Anbindung dann limitieren, das ist in den N54L ja nur ein AMD 700er Chipsatz und damit ist die Soutbridge auch nur lahm angebunden, die alten Intel ICH10R haben ja auch nur knapp über 600MB/s über alle SATA Ports gebracht und so flott sind die Red nun auch nicht. Die CPU ist dabei noch lange nicht am Limit, die hätte noch Luft.

Zoldyck schrieb:
Du benutzt den 3.12er Kernel? -welche Distro benutzt du? (Arch? Jessie?)
"version 3.2.0-0.bpo.4-amd64" mit Open Media Vault, aber das ist jetzt schon ein fast vollständiges Debian geworden. Eigentlich wollte ich mir auch noch FreeNAs und NAS4Free ansehen und vielleicht ein Server-Linux nehmen und mir die alles selbst einrichten, aber während ich mit OMV so angesehen und es getestet habe, braucht ich plötzlich relativ viel Platz und dann bin ich halt dabei geblieben.
 
Zurück
Oben