Funktionsweise Seagate Mach.2 - Mehrleistung nur in bestimmten Szenarien?

ReactivateMe347

Lt. Commander
Registriert
Dez. 2018
Beiträge
1.186
Hi Forum,

Wie funktioniert eigentlich Mach.2 im Detail - das wird mir weder in CB-Artikeln noch auf der Herstellerseite kalt.

Würden beide Aktoren (unabhängig) auf derselben Scheibe agieren, so würden sie sich ja gegenseitig stören. Naheliegend wäre, dass jeweils die Hälfte der Platten einen separaten Aktor hätte. Dann aber würde man Leistung nur gewinnen, wenn man gleichzeitig in beiden Bereichen liest/schreibt. Baut die Festplatte sich nach außen hin entsprechend auf - also ein dem Nutzer transparentes RAID 0? Oder muss man, um von der Leistung zu profitieren, selber ein RAID 0 zusammen partitionieren? Letzteres wiederum ginge ja nur, wenn die Aktoren auf oben und unten aufgeteilt sind und nicht z.B. auf gerade und ungerade Platter (vorausgesetzt, die logischen Adressen gehen vom obersten zum untersten Platter oder umgekehrt)

Ansonsten könnte ein Aktor auf der rechten Seite lesen und der andere auf der linken.
Oder aber die Leseköpfe der einzelnen Platter können dynamisch einem der Aktoren zugewiesen werden, so wie es gerade sinnvoll ist. Dann aber bräucht eman wohl eine ziemlich große Command Queue, um davon wirklich profitieren zu können.

Danke für Aufklärung.
 
Es gibt zwei Varianten:

SATA: Teilt die Blöcke 50:50 auf, da musst du bei der Konfiguration entsprechend darauf achten, wenn du die Vorteile ausnutzen willst. Du kannst die beiden Hälften indirekt ansprechen, indem I/O in Richtung der entsprechenden Blöcke geleitet wird, z.B. durch zwei entsprechend angelegte Partitionen.

SAS: Hat zwei separate LUNs, die du gezielt einzeln ansprechen kannst. Das ist die bessere Variante, weil das auf Blockebene passiert und keine logische Konfiguration benötigt, die aber nur mit SAS möglich ist, weil SATA keine LUNs supportet.
 
  • Gefällt mir
Reaktionen: ReactivateMe347
@Asghan Danke, ich war auf der Seite, habe aber ernsthaft im Lesen das Bild überflogen.
Gut, das sagt noch nicht, wie es logisch eingebunden ist, insbesondere ob man ein manuelles RAID0 aufsetzen muss.
 
  • Gefällt mir
Reaktionen: Asghan
ReactivateMe347 schrieb:
Oder muss man, um von der Leistung zu profitieren, selber ein RAID 0 zusammen partitionieren?

Wie kommt man auf diese Idee...?

Wie denkt man arbeiten Ingenieure, so daß der User sich um so etwas Gedanken machen muss?

Festplatten nutzen schon sehr lange Cache Speicher und organisieren selbst wo Daten hingeschrieben werden. Jetzt muss die HDD nur selbst besser verwalten wo was hingeschrieben wird.
 
xxMuahdibxx schrieb:
Wie kommt man auf diese Idee...?

Wie denkt man arbeiten Ingenieure, so daß der User sich um so etwas Gedanken machen muss?

Naja, vermutlich weil die Idee korrekt ist? Ist eine der möglichen Varianten. Du musst da selbst aktiv werden. Die Platte regelt das nicht von selbst. Wenn du die Platte wie eine normale Platte ansprichst, dann ist das Ergebnis mehr oder weniger vom Zufall abhängig. Und vom Füllungs- und Fragmentierungsgrad, wo das OS die Daten gerade hin haben will, und so weiter.

Soweit zur SATA-Version, bei SAS stellt sich die Frage erst garnicht, weil du da direkt zwei LUNs hast, die kannst du ab Werk garnicht als eine Platte ansprechen. Da musst du dir auch Gedanken über dein Storage-Layout machen.

Daher gibt es diese Platten auch nicht im Handel für Endkunden.
 
  • Gefällt mir
Reaktionen: ReactivateMe347
@Khorneflakes Ah, danke. Also bei SAS sind das praktisch 2 HDDs in einem Gehäuse und bei SATA muss man sich tatsächlich auf Software-Ebene (Dateisystem, LVM o.ä.) ein RAID0 bauen, um im normalen Betrieb einen Nutzen zu haben.

Gibt es einen nachvollziehbaren Grund, wieso das die SATA-Version nicht intern transparent selbst regelt, der mir entgeht? Bei SMR lässt man die SATA das ja auch selbst regeln und bei SAS kann das der Controller oder das OS für seine Zwecke optimieren (Host managed smr).

Da SAS mW eigentlich immer an nem RAID-Controller hängen ist das der Ansatz mit 2 LUN verständlich, auch hier kann der IT-Profi wieder an eigene Anforderungen optimieren.
Ergänzung ()

xxMuahdibxx schrieb:
Wie denkt man arbeiten Ingenieure, so daß der User sich um so etwas Gedanken machen muss?
Genau das ist ja eine meiner Fragen
xxMuahdibxx schrieb:
Festplatten nutzen schon sehr lange Cache Speicher und organisieren selbst wo Daten hingeschrieben werden.
Meines Wissens gibt es noch immer ein Mapping von LBA zu physischem Block, welches nur verlassen wird, wenn ein defekter Sektor remapped wird. Da das Dateisystem den LBA bestimmt, bestimmt dieses auch, wo die Daten landen. Ein Schreibcache optimiert die Reihenfolge des Schreibens, nicht den Ort. Ein Lesecache vermeidet das (erneute) lesen.
xxMuahdibxx schrieb:
Jetzt muss die HDD nur selbst besser verwalten wo was hingeschrieben wird.
Und woher wissen die HDD und das Dateisystem, welches Lastmuster du hast? Richtig, sie wissen es nicht.
 
Zuletzt bearbeitet:
ReactivateMe347 schrieb:
Also bei SAS sind das praktisch 2 HDDs in einem Gehäuse und bei SATA muss man sich tatsächlich auf Software-Ebene (Dateisystem, LVM o.ä.) ein RAID0 bauen, um im normalen Betrieb einen Nutzen zu haben.
Ja, wobei das Beispiel mit dem Raid 0 natürlich eher so das Nutzungsszenario für eine einzelne Platte wäre und dafür sind die nicht unbedingt gedacht. Die Idee ist eher ein größeres Array und dann verteilst du die Partitionen so, dass du übergreifend Redundanz hast, denn wenn eine Platte ausfällt, dann verlierst du zwei Devices.

ReactivateMe347 schrieb:
Gibt es einen nachvollziehbaren Grund, wieso das die SATA-Version nicht intern transparent selbst regelt, der mir entgeht? Bei SMR lässt man die SATA das ja auch selbst regeln und bei SAS kann das der Controller oder das OS für seine Zwecke optimieren (Host managed smr).
Das musst du die Ingenieure bei Seagate fragen, möglich wäre es sicherlich gewesen. Aber ich nehme an, da es für den Enterprise-Bereich gedacht ist, dass man den Kunden keine Vorgaben machen und die Flexibilität erhalten wollte. Das ist mit SMR nicht vergleichbar.

ReactivateMe347 schrieb:
Da SAS mW eigentlich immer an nem RAID-Controller hängen ist das der Ansatz mit 2 LUN verständlich, auch hier kann der IT-Profi wieder an eigene Anforderungen optimieren.
Es muss kein Raid-Controller sein, ein HBA würde auch gehen. In beiden Fällen muss man sich, wie bei SATA, überlegen wo man die LUNs in seinem Array platziert, damit die Redundanz erhalten bleibt.
 
@xxMuahdibxx Historisches Beispiel: Als Festplatten angefangen haben, intern 4K Sektoren zu verwenden, gab es das Problem, dass alte OS nicht an einer 4K-Grenze begonnen haben. So mussten für Dateien größer 512 Byte und kleiner 4KB 2 Sektoren gelesen werden statt einer, was die Leistung reduzierte.
Wären die Festplatten so magisch intelligent, wie du unterstellst, dann hätten sie das merken und transparent anpassen müssen - haben sie aber nicht. HDDs kennen kein Dateisystem, nur Sektoren - und wenn der Host bzw. Das Dateisystem sagt "Sektor 63", dann ist das Sektor 63.
Und genau deswegen würden spätere Betriebssystem dahingehend angepasst.
Ergänzung ()

Khorneflakes schrieb:
Das musst du die Ingenieure bei Seagate fragen, möglich wäre es sicherlich gewesen.
Wollte nur sichergehen, dass ich nicht einen offensichtlichen Grund übersehe oder so.
 
Khorneflakes schrieb:
SAS: Hat zwei separate LUNs, die du gezielt einzeln ansprechen kannst. Das ist die bessere Variante, weil das auf Blockebene passiert und keine logische Konfiguration benötigt, die aber nur mit SAS möglich ist, weil SATA keine LUNs supportet.

Genau das wird im erklär PDF auf Seite 5 auch bildlich dargestellt.
 
Für Leute, die bei Interesse an Mach.2 diesen Thread finden: Offenbar ist die Leistung im RAID0 nicht annähernd was man erwarten kann. Sehr interessantes Video dazu
 
Zurück
Oben