Leserartikel [Projekt] 2019 - Das Jahr, in dem wir Storage aufnahmen

RalphS

Lieutenant
Dabei seit
Feb. 2015
Beiträge
935
Oder: Wie man den größtmöglichen Umweg nehmen kann, um trotzdem von A nach B zu gelangen

Moderation: ich hab versucht, das passendste Unterforum zu wählen; falls das Thema woanders besser aufgehoben sein sollte, bitte verschieben. Danke. :daumen:


- 1 - Im Anfang war ein funktionierendes System

Alles fing damit an, daß mein bestehender Fileserver näher und näher an die Kapazitätsgrenzen lief.
Überlegungen wurden angestellt, wie dem Problem beizukommen sei: Reorganisation der Daten, Reorganisation der Hardware, Reorganisation der Schafe; kurz, das Ziel sollte sein, möglichst unkompliziert mit möglichst wenig Aufwand das Platzproblem zu beheben.

Wie ich mich doch irren sollte! Aber dazu später mehr.

Die ursprüngliche Konfiguration meines Storagesystems:
  • 6x 4TB SATA-Platten
  • an einem onboard LSI 2308 SAS2 Controller (per PCIe v3 x8 angebunden)
  • auf einem Superµ X10SL7-F Serverboard.
  • Das Ganze befindet sich in einem Nanoxia DS6 Bigtower, der für Storagesysteme wegen massig 2.5"/3.5" Plätzen prima geeignet ist (19 HDDs/SSDs finden Platz).

Außerdem bereitgestellt werden ein v3 x8 PCIe-Slot, belegt durch eine Dualport 10GbE-Netzwerkkarte, sowie ein PCIe v2 x4-Slot. Der ist leer.

Der SAS2-Controller ist als 8i-Konfiguration ausgelegt und führt diese acht Ports im handelsüblichen SATA-Formfaktor aus.


- Die Situation -

Die sechs Festplatten sind als ZFS raidz2 konfiguriert, ein redundantes System mit doppelter Parität und etwa mit RAID6 zu vergleichen.
ZFS hat nach wie vor die Eigenschaft, daß raidz* Konfiguration fix sind, d.h. man legt einmal einen Pool mit einer definierten Anzahl von beteiligten Geräten an und hat diese dann fix über die Lebensdauer des Pools. In meinem Fall sind das also sechs Geräte. Sollen es mehr (oder weniger) werden, muß ein neuer Pool erstellt und alle Daten dorthin migriert werden.

Nun ist der LSI2308 aber ein SAS2-Controller. Überlegungen wurden angestellt, diesen in angedachter Konfiguration zu betreiben statt im Kompatibilitätsmodus: kurz, die SATA-Reds sollten durch SAS-"irgendwas" ersetzt werden.

- 2 - Stage A: Festplattenplanung.
Nach viel Geizhalserei und versuchter Abschätzung eines praktikablen Kosten-Nutzen-Verhältnisses wurde festgestellt: WD fällt aus wegen gibt es nicht. Naja, das, oder ich war zu blöd zum Suchen. 😊 In jedem Fall wurden Reviews gewälzt und es zeichnete sich bald ein konsistentes Bild: daß (A) WD-Platten für den Endbenutzer- und Prosumerbereich ausgezeichnet sind und daß (B) im Enterprisesektor Seagate das Sagen hat.
Nun hab ich, seit Maxtor von Seagate geschluckt wurde, nur und ausschließlich WD verbaut. Aber, ein bißchen Tellerrand muß sein; irgendein AMD ist immer der erste und im selben Atemzug wird auch irgendeine Seagate mal die erste sein.
Die endgültige Wahl zwischen Exos E7 und Exos X10 fiel dann zugunsten der X10 aus, hauptsächlich weil die E7 nur bis 8TB zu haben ist und die X10 preislich nicht viel weiter oben angesiedelt war.


Schreiben wir also auf unseren Einkaufszettel: sechs Einheiten Seagate X10 in SAS-Konfiguration als 512e zu jeweils 308 Euro. Sie wurden bei mehreren Händlern und ein wenig gestaffelt gekauft, um hoffentlich verschiedene Chargen zu erwischen; Preise gingen zwischenzeitlich bis 330 oder so rauf, war aber nicht schlimm, an der Stelle ist ein bißchen Warten für alle Beteiligten gut.


- 3 - Anschluß

Okay, Festplatten sind da, SAS-Controller ist auch da, fehlt nur noch das passende Verbindungskabel. Richtig?

SAS hat im Vergleich zu SATA ungewöhnliche Verbindungsstandards. Das liegt daran, daß SAS üblicherweise nicht direkt verbindet: es gibt den Controller einerseits und sog. Backplanes andererseits, die mit dem Controller verbunden werden. Die Festplatten selbst werden dann einfach in die Backplane eingesteckt.
Ein Controllerport kann vier Platten unmittelbar versorgen (Expander ignorieren wir an der Stelle mal). Das sorgt dafür, daß am Ende nur zwei Kabel für vier Datenträger verlegt werden müssen, nämlich das genannte Datenkabel und eine Stromversorgung für die Backplane.

Problem an der ganzen Sache: Backplanes existieren prinzipiell nur für 19"-Geräte einerseits und konfektionierte Gehäuse andererseits. Abstände zwischen zwei Datenträgern im Festplattenkäfig sind nicht normiert, daher kann es dafür auch keine Backplane geben.

Was also tun? Das Nanoxia ist recht frisch angeschafft und gleich wieder umziehen macht auch keinen Spaß, also wurde die Option "passendes Gehäuse beschaffen" abgesägt. (Nicht zuletzt, weil 19" für Storage
zwar auf Platzbedarf, aber eben nicht auf Storage optimiert sind und weil Towergehäuse einschließlich Backplane ein halbes Vermögen kosten, und damit meine ich nicht "dreistelliger Betrag".)

Blöderweise stellte sich heraus, daß die Anschlußform "eins zu eins mit SATA-Stecker am einen Ende und SAS-Festplattenanschluß am anderen Ende" eher ungewöhnlich ist. Dafür konnte ich kaum Angebote finden außer aus chinesischen Quellen und mit denen hab ich bisher nie gute Erfahrungen gemacht.

Aber, egal; amazon ist Dein Freund (und der vieler Chinesen) und so wurden testweise zwei SATA Daten+Strom auf SAS-HDD Adapter eingekauft. Kam wie es kommen mußte: Ging nicht. Noch anderswo geschaut und einen weiteren Testkauf später dasselbe Ergebnis.

Cue eine Menge Gefluche. :evillol:

Nun passen SAS-Platten nicht auf SATA-Anschlüsse. Das ist normales und erwartetes Verhalten; SATA ist eine Untermenge von SAS (protokolltechnisch) und verwendet andere Spannungen (hardwaretechnisch); SATA-Platten passen an SAS-Controller, aber eben nicht andersherum.

Cue noch mehr Gefluche, weil sich unter diesen Umständen kaum etwas finden läßt, was nicht bereits von der Prämisse her auf "geht ohnehin nicht" hinausläuft.

Irgendwann(tm) durch Zufall jemanden mit einem ähnlichen Problem gefunden: selbes Board, SAS HDD sollten dran, Problem: nichts ging. Dieser Jemand konnte sein Problem beheben, indem er ordentliche Markenkabel verbaute.... aber an die war für mich kein Herankommen und der von ihm genannte Hersteller existiert nicht mehr und die Kabel scheinbar auch nicht.

Cue weiteres Gefluche und Neubewertung des Problems. Das Board wird ja nicht ewig halten, irgendwann wird es mal ersetzt werden wollen oder sollen oder müssen, und wie sieht denn da derzeit die Situation aus?

Ergebnis, ich hab gefühlt das einzige Board am Markt, welches SAS mit SATA-Steckern rausführt. Alle anderen setzen auf Standard-SAS-übliche Ports. Das, und es gibt nur sehr wenige Boards mit SAS onboard, sodaß dies ein ziemlich straffes Kriterium werden wird für jede spätere Boardauswahl.

Cue noch mal weiteres Gefluche und eine neue Recherchekampagne für SAS-Controllerkarten, die irgendwann "for better or worse" in einem Broadcom 9440 8i endete. Der bringt zwei interne SAS-Ports mit, typische Anschlußform für alle SAS-Controller, also keine Anschlußprobleme zu erwarten.

Wir schreiben also zu den Festplatten einen zusätzlichen SAS-Controller, Kostenpunkt "eine Exos X10", runde 300 Euronen, plus zwei Anschlußkabel SAS Mini HD auf 4x Festplatte, jeweils 30 Euronen.

Die natürlich nicht lieferbar waren. Go figure.

Seit der ersten Festplatte sind nun in etwa drei Monate vergangen, aber holz+klopf nun liegen alle erforderlichen Komponenten hier und können verbaut werden.


- 4 - Migration

Okay, wohin jetzt den SAS-Controller? Es gibt den v3 x8 Slot und den v2 x4 Slot sowie die eine 10GbE Netzwerkkarte und den Broadcom, also was jetzt wohin?

Die Entscheidung fiel schließlich auf
x8 => SAS
x4 => NIC

vor dem Hintergrund, daß der zweite NIC-Port derzeit ohnehin unbenutzt bleibt und daß die v3 x8 Karte auf dem v2 x4 Slot vermutlich flaschenhalsen wird, dieser Hals aber trotzdem dem Storagesystem nachgelagert ist und dieses zumindest bis auf Widerruf erstmal die volle Bandbreite kriegen soll. Das, plus eine höhere Priorisierung für einen Plattformwechsel, dann ohne SAS onboard, aber mit mindestens zwei v3 x8 Slots. Oder breiter, natürlich.

Gesagt, getan; Controllereinbau naturgemäß banal und mit FreeBSD muß man sich um nix kümmern; Fileserver runter, wieder hoch und es funktioniert.

- 5 - Fazit
Nach ein bißchen nutzloser Odyssee können nun die 6x4TB SATA WD durch 6x10TB SAS SG ersetzt werden; Resilver auf der ersten Platte läuft schon, mal gucken wie lang das dauert, bis das alles durch ist und der Pool nicht mehr 2TB freien Speicherplatz ausweist, sondern sowas wie 32TB (erwartet).

Auf die Statusinformationen kann man sich augenscheinlich nicht verlassen - es werden 150MB/s fürs SAS3-Interface ausgewiesen (eigentlich 12 GBits). Aber das ist wohl ein Anzeigefehler; erreichte Geschwindigkeiten übertreffen dies bereits.


- 6 - Empfehlung -
A
Festplatten passend zum bereits vorhandenen Interface kaufen. Weniger Streß, weniger Gefluche und vor allem weniger als drei Monate warten (für mich). Selbsterklärend? Kein Kommentar. :daumen:

B
Für Storagesysteme auch den tatsächlichen Aufbewahrungsort mit einplanen, und zwar vor dem Kauf.
Für SAS gibt es externe Gehäuse, die einfach mit einem passenden SAS-Controller verbunden werden können: hier hat man dann auch gleich Identifikatoren dabei, wenn etwas zickt, welche Platte zickt. Man muß aber aufpassen, daß man die Stromversorgung wirklich erst trennt, wenn das Steuersystem heruntergefahren ist, sonst droht Datenverlust.

Bereits existierende Gehäuse, wenn nicht gerade eine Backplane dafür existiert, sind für SAS suboptimal.

C
SAS ist als System recht teuer. Man braucht zumindest den Controller und die Kabel: beide sind teurer als die SATA-Kollegen. Bei den Datenträgern ist's mal so und mal anders, aber im Normalfall kosten auch hier die SAS-Platten mehr als die SATA-Platten auch dann, wenn es dieselbe Platte mit SATA-Interface gibt.
Aber man kann die existierenden SATA-Platten am SAS-Controller betreiben und profitiert dann von erweiterter Funktionalität sowie höheren Geschwindigkeiten, jedenfalls dann, wenn die SATA-Ports des Mainboards keine dedizierte Anbindung haben, sondern sich Bandbreite teilen müssen.

D
Das mit dem Kosten/Nutzen darf dringend in Frage gestellt werden.

E
Aber wir sind einiger Erfahrungen reicher und ich denke, für alle diejenigen unter uns, für die der PC nicht mit Call of Duty endet, sind praktische Erfahrungen Gold wert. Wirklich empfehlen kann ich es nicht, aber Mainboards haben, oder sollten haben, Erweiterungsslots; diese sind dazu da, genutzt zu werden, und nicht dazu, jahrelang zu jammern, weil das Mainboard X nicht kann, nur weil man zu faul für eine Erweiterungskarte war oder weil man törichterweise ein Mainboard ohne Erweiterungsslots abseits der Grafikkarte eingekauft hatte.

Sei es für 10GbE, oder für SAS HBA, oder für irgendetwas anderes.
 

RalphS

Lieutenant
Ersteller dieses Themas
Dabei seit
Feb. 2015
Beiträge
935
Bei mir läuft FreeBSD 12-STABLE, nicht eine vorkompilierte Binary im System (außer es gab keinen Quellcode dafür) mit ZFS im Backend.

100% zufrieden. Kein Wechsel geplant.
 

Rickmer

Fleet Admiral
Dabei seit
Sep. 2009
Beiträge
11.775
Schöner Bericht :D

Nun ist der LSI2308 aber ein SAS2-Controller. Überlegungen wurden angestellt, diesen in angedachter Konfiguration zu betreiben statt im Kompatibilitätsmodus: kurz, die SATA-Reds sollten durch SAS-"irgendwas" ersetzt werden.
Auf welche Überlegungen warst du denn gekommen?

Bei Server-Standards im Heimgebrauch werde ich schnell scheu. Das ist meistens teurer, lässt sich schwer gebraucht verkaufen und braucht man als Otto-Normalo eh nicht.
 

RalphS

Lieutenant
Ersteller dieses Themas
Dabei seit
Feb. 2015
Beiträge
935
Definitiv richtig bzgl. sinn- und zwecklos :D

Rückblickend ist das eine wahnsinnig gute Frage. Warum SAS statt SATA? Ich denke, es war hauptsächlich ein Fall von "weil es geht", oder vielleicht genauer, "weil es gehen sollte", wie ich nun weiß.

Aber ich bin halt recht experimentierfreudig. Softwareseitig gibt es da nicht mehr viel, was nicht schon X-mal ausgekaspert wurde; aber hardwareseitig gibt es schon noch Spielwiese, die aber - wie Du sagst -- nicht ernsthaft mit Kosten/Nutzen rechtzufertigen ist.

Vor diesem Hintergrund auch der Artikel. Ja, es ist toll, bei der Bahn Erster Klasse zu fahren, aber man muß sich im Klaren darüber sein, daß die meisten der idealisierten Vorstellungen, die man dazu hat, entweder nicht zutreffen oder überzogen sind und daß man am Ende des Tages genau dasselbe Ergebnis gehabt hätte, wäre man zweiter Klasse gefahren. Oder mit dem Bus.

Deswegen steht hier auch ein Bigtower und kein 19er Serverschrank. Ja, die Idee, den ganzen Quatsch auf möglichst wenig Raum unterzubringen, sagt mir ebenso zu wie jedem anderen auch und 19" hieße, eine standardisierte Umgebung zu haben; immer eine schöne Sache in bezug auf Ersatz und Erweiterbarkeit.

Was dann aber teuer ist, laut im Betrieb ist, und wegen dem faktisch nicht vorhandenen Platz und dem damit verbundenen Hitzestau auch nicht performanter ist, weil viel eher gedrosselt wird; außer natürlich, man lebt gerne mit der Turbine im Zimmer oder hat einen gut ausgerüsteten Keller zur freien Verfügung.

Und deswegen hängen auch SFP+-Karten im System. Praktisch jeder setzt auf RJ45: Grund genug, nach möglichen Alternativen zu schauen; wenn es nicht vergleichsweise (zu) langsam wäre, hätt ich mir nen Token Ring hingestellt. Daß mit Glas weniger Energie nötig wird und Latenzen sinken ist da ein schöner Nebeneffekt, aber nicht primär ausschlaggebend.

Und deswegen schau ich eben auch zuerst in den oberen Bereich des Spektrums und arbeite mich runter. Multi-CPU ist zB auch Käse, seit es Ryzen gibt, und war schon Käse, seit es Core-Architekturen gibt; dennoch ist die Vorstellung interessanter als ein triviales Setup zu haben mit einer Mainstream-CPU, einem Mainstream-Kühler, einem Mainstream-Board und einem Mainstream-Gehäuse. Naja, und Mainstream-"Storage", wobei das heutzutage ja mit dem Kampfbegriff "NAS" abgefressen wird (und mir gehörig auf den Senkel geht).

Wie jetzt, PC anschalten und geht sofort? Ist doch langweilig! Wo bleibt denn da der Spaß? Nee. Nicht mit mir.
 
Top