HIGH PERFORMANCE SOLID STATE DRIVES IM SERVEREINSATZ - Thomas-Krenn
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Inhaltsverzeichnis 3| SSDs im Servereinsatz 4| Frische Chips – So funktionieren SSD-Speicher Festplatte im Vergleich Aufbau Die dritte Dimension 3D XPoint: Widerstände statt Transitoren Schreibtechniken Write Amplification Lebensdauer Power Loss Protection Einsatzgebiete Fazit 12| Verbindungstechnik - Protokolle, Schnittstellen und Formfaktoren Serial ATA NVMe Serial Attached SCSI (SAS) M.2 U.2 Ausblick – Ruler SSDs Fazit 16| SSD-Performance messen und optimieren - Schnelligkeit ist keine Hexerei IOPS, Latenz und Durchsatz Bestimmen der Baseline Performance-Software Spare Area vergrößern Secure Erase Partition Alignment ATA TRIM Fazit 22| Flash-Stapel mit Turbo - SSD-RAIDs mit optimaler Performance betreiben SSDs und RAID-Controller Tuningmaßnahmen Gesundheitszustand von SSD und RAID überwachen RAID-Konsistenz prüfen Checkbox für SSD-RAIDs Fazit 30| Glossar
thomas-krenn.com | 3 SSDs im Servereinsatz Solid State Drives haben in Notebooks und PCs die 2018 neu strukturiert, umfassend überarbeitet klassischen Festplatten nahezu verdrängt. Auch im und aktualisiert. Um eine bessere Orientierung Serverumfeld setzen sich All-Flash-Systeme immer zu gewährleisten ist dieses E-Book in vier Kapitel mehr durch. Die populären Performance-Wunder unterteilt: Die Erläuterung der SSD-Technik macht versprechen eine deutlich höhere I/O-Performance dabei den Anfang, um etwaige Unklarheiten von als herkömmliche Festplatten – und das bei vornherein auszuschließen. Im zweiten Teil geht es niedrigerem Stromverbrauch. Größere Leistung und um die vielfältigen Protokolle und Interfaces, mit bessere Energieeffizienz werden so möglich. Da sich denen SSDs im Server betrieben werden können. Im diese Technik aus diesem Grund immer größerer dritten Teil des E-Books finden sich Informationen Beliebtheit erfreut, tragen auch die Autoren der zur Performance-Messung und zur Erhöhung der Thomas-Krenn.AG dazu bei, neue Trends zu klären Leistung einzelner SSDs. Performance-Tuning und sonstige hilfreiche Hinweise zu geben. Dieses bei SSD-RAIDs bildet schließlich das vierte und E-Book basiert auf mehreren Fachartikeln, die in letzte Kapitel. Als kleine Ergänzung findet sich am den vergangenen Jahren im ADMIN Magazin und im Ende des E-Books außerdem ein Glossar mit den IT-Administrator erschienenen sind. Diese wurden wichtigsten Schlagwörtern zum Thema SSD. Dieses Ebook entstand in Zusammenarbeit mit:
thomas-krenn.com | 4 Frische Chips So funktionieren SSD-Speicher Das erste Kapitel dieses E-Books kümmert sich um als Festplatten. Während Festplatten die Daten auf die Funktionsweise der SSDs. Ebenso zeigt es auf mehreren Magnetscheiben speichern, nutzen SSDs wann sich der Einsatz einer SSD lohnt. mehrere Flash-Chips für die Datenspeicherung. Da bei SSDs keine mechanischen Teile wie bei SSDs haben mit normalen Festplatten nur eine Festplatten bewegt werden, sind vor allem zufällig Gemeinsamkeit: Beide Medien speichern Daten. verteilte Datenzugriffe deutlich schneller. Intern arbeiten SSDs allerdings vollkommen anders Festplatte im Vergleich Um die Performance von SSDs mit Festplatten aus Seek Time und Latency Time ergibt die Random zu vergleichen, lohnt zuvor ein kurzer Blick auf Access Time (mittlere Zugriffzeit). Diese beträgt je den Aufbau herkömmlicher Festplatten. Diese nach Festplatte und deren Drehzahl zwischen fünf speichern die Daten auf mehreren rotierenden und 15 Millisekunden, was 200 respektive 66 IOPS Magnetscheiben. Die Daten werden dabei mit (I/O-Operationen pro Sekunde) entspricht. SSDs Schreib-/Leseköpfen auf die Scheiben geschrieben erreichen im Vergleich dazu mehrere zehntausend beziehungsweise von diesen gelesen. Soll nun oder sogar hunderttausend zufällig verteilte IOPS. ein zufälliger Sektor von der Festplatte gelesen Bei kontinuierlichen Datentransfers ergibt sich werden, muss die Festplatte den Schreib-/Lesekopf jedoch ein anderes Bild. Zwar können über SATA an die richtige Stelle bewegen (Seek Time) und angebundene SSDs zu Beginn über 500 Mbyte/s dann darauf warten, dass der gewünschte Sektor liefern. Mit höherem Füllstand der SSD sinkt auf der rotierenden Scheibe unter dem Schreib-/ diese Rate jedoch zum Teil deutlich ab. Wie stark Lesekopf vorbeifährt (Latency Time). Die Latency die Datenrate zurückgeht, hängt u.a. von den Time beträgt dabei im Mittel die Dauer, welche für Algorithmen im SSD-Controller ab. eine halbe Umdrehung notwendig ist. Die Summe Aufbau SSDs (Solid State Drives) sind nichtflüchtige gemeinsam entwickelt. Intel vermarktet sie unter Datenspeicher ohne bewegliche Teile. Derzeit dem Namen Optane. Sie benutzen keine EEPROMs, kommen in den allermeisten SSDs Flash-EEPROMs sondern eine widerstandsbasierte Technik, deren mit NAND-Technologie zum Einsatz. Die ersten Details nicht genau bekannt sind. Die folgende Speicher dieser Art wurden bereits 1989 von Toshiba Beschreibung von Aufbau und Funktionsweise von entwickelt. Seinen Siegeszug trat Flash-Speicher SSDs bezieht sich, wenn nicht anders erwähnt, dann mit der Entwicklung von Digitalkameras jedoch immer auf die verbreiteten NAND-Speicher. und anderen Consumer-Geräten wie MP3-Playern an. Mittlerweile sind jedoch auch Flash-Speicher Die kleinste Einheit in einem NAND-Flash-Chip einer auf dem Markt, die nach einem völlig anderen SSD ist die Speicherzelle. Je nach Typ speichert eine physikalischen Prinzip funktionieren. Diese 3D einzelne Speicherzelle ein oder mehrere Bits: XPoint-Speicher wurden von Micron und Intel
thomas-krenn.com | 5 _SLC (Single Level Cell) 1 Bit kleinste Struktur, die vom SSD-Controller gelesen _MLC (Multi Level Cell) 2 Bits oder beschrieben werden kann. Allerdings kann der _TLC (Triple Level Cell) 3 Bits SSD-Controller den Inhalt einer bereits beschriebenen Page nicht löschen oder verändern. Eine SLC unterscheidet zwei Ladungszustände, Eine Page ist je nach Fertigungsstrukturbreite vier, eine MLC vier und eine TLC acht. Die angelegte acht oder 16 Kibibyte (KiB) groß. Mit MLCs entspricht Spannung beim Schreiben auf eine Speicherzelle ist das 16 384 bis 65 536 Speicherzellen. allerdings fix. Daher muss bei einer MLC für einen Schreibvorgang bis zu vier Mal Spannung angelegt Mehrere Pages sind in Blöcken zusammengefasst. werden, um in den höchsten Ladungszustand zu Ein solcher Block besteht beispielsweise aus 128 kommen. Bei einer SLC reichen maximal zwei solcher bis 512 Pages und fasst damit 512 KiB bis acht Vorgänge – die Schreibperformance ist damit MiB an Daten. Ein Block ist die kleinste Einheit, höher. TLCs erfordern bis zu acht Mal Spannung. Am die der SSD-Controller löschen kann, indem er Anfang der SSD-Entwicklung kamen für Server SLC- eine Löschspannung am gesamten Block anlegt. oder allenfalls MLC-Chips zum Einsatz. Mittlerweile Erst nach dem Löschen eines Blocks kann der sind TLC-SSDs auch im Enterprise-SSD-Markt üblich. SSD-Controller die einzelnen Pages wieder neu beschreiben. 1024 Blöcke bilden eine Plane. Bei jedem Anlegen von Spannung kommt es zu einer kleinen Abnützung der Isolationsschicht der Vier Planes sind z.B. auf einem Die untergebracht, Speicherzelle. Da für einen einzelnen Schreibvorgang wie Abbildung 1 zeigt. Ein Die ist dabei etwa so auf eine MLC öfter Spannung angelegt wird als bei groß wie ein Fingernagel (167 mm^2). In der einer SLC, verträgt die MLC weniger Schreibvorgänge Produktion werden circa 200 bis 300 Dies aus einem (sogenannte Program/Erase Cycles oder p/e-Zyklen). Wafer gewonnen. Je nach gewünschter Kapazität MLCs haben meist eine Lebensdauer zwischen 10 landen ein bis acht Dies in einem Thin small-outline 000 und 30 000 p/e-Zyklen, SLCs rund 100 000 p/e- package (TSOP) – jene schwarzen Chips, wie sie Zyklen. Die TLC-Modelle bewegen sich auf einem auch auf Speichermodulen vorhanden sind. Eine viel niedrigerem Niveau von etwa 1000 p/e Zyklen. SSD besteht schließlich aus bis zu zehn TSOPs und Mehrere Speicherzellen bilden eine Page. Sie ist die einem SSD-Controller. Abbildung 1: Die eines Flash-Chips mit vier Planes. Quelle: Intel
thomas-krenn.com | 6 Die dritte Dimension Da sich die Strukturbreite aus physikalischen MLCs liegen. Ein weiterer Vorteil der 3D-Technologie Gründen nicht beliebig verkleinern kann, sind die besteht darin, dass dank der Nutzung von drei Hersteller dazu übergegangen, die Zellen nicht Dimensionen trotz größerer Strukturbreite die mehr nur nebeneinander in der Fläche (planar) Verbindungswege zwischen den einzelnen Zellen anzuordnen, sondern übereinander zu stapeln. kürzer werden, was auch die Zugriffzeiten senkt. 3D Diese 3D-Techniken kommen sowohl bei NAND- stellt hohe Anforderungen an die lithographischen Speichern als auch, wie der Name schon sagt, bei Verfahren bei der Herstellung. Beispielsweise ist den neuartigen 3D XPoint Speichern zur Anwendung. es sehr schwierig, in übereinander geschichteten Zellen die so genannte Floating-Gate-Elektrode Die Hersteller von Flash-Speicher setzen bei aus polykristallinem Silizium in den einzelnen 3D-NAND ein jeweils unterschiedliches Design ein, Transistoren der NAND-Gatter zu implementieren, das heißt, die 3D-Technologie gibt es nicht. Sowohl die den Ladungszustand der Zellen dauerhaft MLC- als auch TLC-Zellen sind verbreitet, manche speichert. Deshalb kommt bei 3D NAND meist das Hersteller haben auch Quadruple Level Cells (QLC) alternative Charge Trap Verfahren zum Tragen, bei mit vier Bits in der Entwicklung. dem die Ladung in einer dünnen Siliziumnitrid- Schicht gespeichert wird. Dieses Verfahren ist bei Derzeit kommen 3D NAND Speicher mit 32 oder planarem 2D MLCs deutlich teurer in der Produktion, 64 Lagen zum Einsatz, an Chips mit 96 Lagen wird weshalb dort Floating-Gate-Elektroden zum Einsatz entwickelt. Im Allgemeinen ist die Strukturbreite von kommen. Es hat aber weitere Vorteile, wie niedrigere 3D-Speicher deutlich größer als bei planarem. Das Spannungen zum Schreiben der Zelle und kürzere heißt, die Zellen sind größer und damit steigt auch die Schreibzeiten. 3D-NAND-Speicher haben deshalb Haltbarkeit der SSDs. TLCs können damit p/e-Zyklen einen geringeren Stromverbrauch und lassen sich erreichen, die etwa auf dem Niveau von planaren schneller beschreiben. 3D XPoint - Widerstände statt Transistoren 3D XPoint ist eine gemeinsame Entwicklung von Bit einzeln geschrieben werden, was zumindest Intel und dem Halbleiter-Spezialisten Micron. Im prinzipiell das komplexe blockweise Schreiben Vergleich zur NAND-Technik beruht sie auf völlig (siehe nächster Abschnitt) überflüssig machen anderen physikalischen Prinzipien und kommt kann. Der Verzicht auf Transistoren ermöglicht eine ohne Transistoren aus. Bislang sind so gut wie wesentlich höhere Speicherdichte. Intel und Micron keine Details über die eigentliche Funktionsweise geben hier das Vier- bis Zehnfache im Vergleich zu bekannt. Als sicher kann aber gelten, dass herkömmlichen SSDs an. Hinsichtlich der Lese- und eine widerstandsbasierte Speicherung zum Schreibgeschwindigkeit geben die Hersteller das Einsatz kommt. Ein 3D-XPoint-Speicher bildet Potential auf das bis zu Tausendfache von SSDs ein dreidimensionales orthogonales Gitter aus an. Damit wird selbst der PCIe-Bus zu langsam, vertikalen und horizontalen Strukturen. An und entsprechend positioniert sich die Technologie den Schnittpunkte des Gitters liegt jeweils eine als ein Hybrid von DRAM und SSD, langsamer als Speicherzelle, die ein Bit speichert. herkömmliche DIMMs, aber wesentlich schneller Im Gegensatz zu NAND-Speicher kann hier jedes als Flash.
thomas-krenn.com | 7 Intel vermarktet 3D-XPoint-Produkte unter März 2018 noch kein eigenes Produkt auf den Markt dem Label Optane, Entwicklungspartner Micron gebracht. verwendet die Bezeichnung QuantX, hat aber bis Abbildung 2: Schematischer Aufbau eines 3D XPoint-Gitters. Quelle: Intel Als aktuell einziges Optane-Produkt für den Prozent das Medium beschrieben ist [1]. Im Internet Enterprise-Markt bietet Intel aktuell die SSD DC verfügbare Benchmarks zeigen aber, dass der P4800X mit 375 oder 750 GB an. Sie wird über Performance-Vorsprung bei anderen Parametern den PCIe-Bus angeschlossen und verhält sich wie sehr gering ausfällt bzw. dass schnelle NAND- eine normale SSD, beeindruckt aber durch extrem basierte SSDs sogar eine leichte Überlegenheit niedrige durchschnittliche Latenzen (Abbildung 3). zeigen [2]. Zudem ist die Leistung unabhängig davon, zu wieviel Abbildung 3: Latenzen von Optane P4800X im Vergleich zu einer herkömmlichen Enterprise-SSD DC S4600.
thomas-krenn.com | 8 Intel hat zudem eine Technik namens Memory [1] Intel Memory Drive unter Linux installieren (https://www.intel. com/content/dam/support/us/en/documents/memory-and-storage/ Drive entwickelt, die es erlaubt, die DC P4800X intel-mdt-setup-guide.pdf) so in den Server einzubinden, dass sie das Betriebssystem als RAM erkennt. Dieses Feature [2] TKperf-Benchmarks der Optane-SSD DC P4800X (https://www. thomas-krenn.com/de/wikiDE/images/9/92/TKperf-Report-Inte- wird derzeit nur von Linux unterstützt [3] und lOptaneP4800X-375GB.pdf) erfordert eine Xeon E5 oder E7 CPU. Das ist vor allem für große In-Memory-Datenbanken oder [3] Anwendungs-Benchmarks der Optane-SSD DC P4800X (https:// www.servethehome.com/intel-optane-hands-on-real-world- andere I/O-intensive Anwendungen bei großen benchmark-and-test-results/) Datenmengen interessant, etwa bei Machine Learning. Denn Optane-SSDs sind zwar im Vergleich zu herkömmlichen SSDs extrem teuer, aber gegenüber der gleichen Menge DRAM kostet das GByte dennoch nur einen Bruchteil davon. Schreibtechniken Die geschilderte interne Funktionsweise einer SSD auf einer vollgeschriebenen SSD keine Daten mehr erfordert spezielle Schreibtechniken, um sowohl eine verändern. Daher hat jede SSD eine sogenannte hohe Performance als auch eine lange Lebensdauer Spare Area. Typischerweise beträgt die Größe dieser der SSD zu erreichen. Das erstmalige Beschreiben Spare Area zwischen sieben und etwa 80 Prozent einer neuen SSD ist dabei noch einfach. Alle Blöcke der Nennkapazität einer SSD. Eine 400-GByte-SSD (und somit auch alle Pages) sind gelöscht. Neue kann etwa tatsächlich über 720 GByte verfügen, 320 Daten schreibt der SSD-Controller direkt auf die GByte versteckt die SSD aber vor dem Betriebssystem entsprechenden Pages. Schwieriger wird es, sobald und nutzt diese Datenmenge als Spare Area. Mit bereits vorhandene Daten verändert werden. fortschreitender Nutzungsdauer verändern sich immer mehr vorhandene Daten. Mehr und mehr Ohne zusätzliche Mechanismen müsste der SSD- Pages markiert der SSD-Controller als ungültig. Controller sämtliche Pages eines Blocks zuerst Einzelne Blöcke enthalten nur mehr 40 bis 60 in einen Cache einlesen, anschließend den Prozent echte Daten, die restlichen Pages darin sind gesamten Block löschen, um abschließend die ungültig und können vorerst nicht weiter genutzt zwischengespeicherten Pages versehen mit den werden. Bevor nun die Spare Area zur Neige geht, Änderungen wieder in den Block zu schreiben. räumt der SSD-Controller auf. Bei dieser Garbage Die Änderung eines einzelnen Bits würde so das Collection kopiert der SSD-Controller die noch Lesen, Löschen und Neuschreiben von bis zu acht gültigen Pages eines Blocks in einen freien Block, der MiB an Daten verursachen. Das vermeidet der SSD- damit nur teilweise gefüllt ist. Die restlichen Pages Controller mit einem einfachen Trick. Wenn er Daten dieses neuen Blocks bleiben noch unbeschrieben einer Page verändert, schreibt er dazu einfach und können für weitere Schreiboperationen genützt die neuen Daten in eine andere Page, die noch werden. Den ursprünglichen Block löscht der SSD- gelöscht ist. In einer internen Zuordnungstabelle Controller danach. Somit sind alle Pages dieses vermerkt der Controller dabei, dass die Daten der gelöschten Blocks wieder beschreibbar. Abbildung logischen LBA-Adresse A nun nicht mehr in Page X, 3 zeigt ein solches Beispiel. sondern in Page Y zu finden sind. Die ursprüngliche Page X markiert er als ungültig. Damit diese Wie eingangs erwähnt, ist die Anzahl der möglichen Methode funktioniert, benötigt der SSD-Controller Schreibvorgänge (p/e-Zyklen) pro Speicherzelle zusätzliche Speicherkapazität. Ansonsten könnte er begrenzt. Sollen nun neue Daten gespeichert
thomas-krenn.com | 9 werden, schreibt der SSD-Controller daher immer zuerst auf Pages, die noch wenig abgenützt sind. Dieser Vorgang wird als Dynamic Wear Leveling (dynamische Abnutzungsverteilung) bezeichnet. Dynamisch deshalb, weil nur neue oder veränderte Daten verteilt werden. Im Beispiel von Abbildung 4 sind viele Pages ungültig, weil deren Daten verändert und woanders abgespeichert wurden. Die Garbage Collection macht die ungültigen Bereiche wieder nutzbar. Diese Methode erhöht die Lebensdauer der SSD. Daten, die nur einmal geschrieben werden und sich danach nicht mehr ändern, bleiben damit aber auf ihren Pages. Static Wear Leveling geht daher einen Schritt weiter und verschiebt auch solche Daten periodisch auf andere Pages, die schon mehr abgenützt sind. Damit werden tatsächlich alle Pages einer SSD gleichmäßig abgenützt und die Lebensdauer der SSD steigt weiter. Abbildung 4: Viele Pages sind ungültig, weil deren Daten verändert und woanders abgespeichert wurden. Die Garbage Collection macht die ungülti- gen Bereiche wieder nutzbar. Write Amplification Durch die geschilderten Algorithmen werden naturgemäß zu einer höheren Abnutzung und einmal geschriebene Daten, selbst wenn sie nicht damit geringeren Lebensdauer. Manche SSD- verändert werden, in andere Pages kopiert (etwa Controller (etwa von Sandforce) versuchen, durch durch Garbage Collection oder Static Wear Leveling). eine Komprimierung der Daten im SSD-Controller Ein geschriebenes Byte kann also mit der Zeit vom die nötigen Schreibvorgänge zu reduzieren, um SSD-Controller durchaus mehrfach kopiert werden damit die Abnutzung zu reduzieren. Eine weitere und somit zu mehreren Schreibvorgängen führen. Möglichkeit ist die Vergrößerung der Spare Area. Der Faktor, wie oft es statistisch zu einem solchen Dadurch sinkt zwar die nutzbare Kapazität, da aber Kopiervorgang kommt, wird als Write Amplification seltener eine Garbage Collection erforderlich ist, bezeichnet. Eine hohe Write Amplification führt steigt dennoch die Lebensdauer der SSD. Lebensdauer Die Lebensdauer von SSDs ist durch die Lebensdauer stattdessen einen Spare Block aus der Spare Area. Es der Speicherzellen begrenzt. Mit fortschreitender kommt dabei also zu keinem Datenverlust. Es sinkt Nutzung können vermehrt Blöcke ausfallen. Wobei nur die Anzahl der Spare Blöcke. Einzelne Bitfehler ein „Ausfall“ dabei relativ ist. Je mehr p/e-Zyklen können zwar auftreten (raw bit error rate, RBER), stattfinden, umso länger dauert das Löschen werden aber durch ECC-Mechanismen korrigiert. eines Blocks. Überschreitet diese Zeit zum Löschen Erst bei zu vielen Bitfehlern greift ECC nicht mehr, einen bestimmten Schwellwert, markiert der SSD- und es kommt zu einem unkorrigierbaren Fehler Controller diesen Block als „Bad Block“ und nutzt (uncorrectable bit error rate, UBER).
thomas-krenn.com | 10 Damit die Lebensdauer von unterschiedlichen Zeitraums, meist in der Garantiezeit, pro Tag SSDs einfach vergleichbar sind, hat die JDEC Solid vollständig beschrieben werden kann. Dazu wird, State Technology Association die beiden Standards abgesehen vom Zeitraum und der Kapazität des JESD218 (SSD Requirements and Endurance Test Mediums, der nach dem JDEC-Standard ermittelte Method) und JESD219 (SSD Endurance Workloads) TBW-Wert benötigt. verabschiedet. Einige SSDs geben auch per SMART Auskunft über Damit können Hersteller die Lebensdauer ihrer SSDs die verbleibende Lebensdauer (Media Wearout in TBW (Terabytes Written, geschriebene Terabytes) Indicator)[4]. Generell ist die zu erwartende angeben. Ausgehend von dieser Metrik hat sich mit Lebensdauer von SSDs bei normalen Schreibmengen DWPD (Drive Writes Per Day) eine weitere Kennzahl durchaus mit jenen von Festplatten vergleichbar, etabliert, die die Lebensdauer von Festplatten in der Praxis oft sogar höher, da bei es bei SSDs besser untereinander vergleichbar macht. Sie gibt zu keinen mechanischen Ausfällen (wie etwa an, wie oft die SSD im Verlauf eines bestimmten Headcrashes bei Festplatten) kommen kann. Power Loss Protection Wenn das Betriebssystem einen Schreibbefehl an die genannte Power Loss Protection. Dazu wird ein SSD sendet, gelangen die Daten zunächst in einen Kondensator beim Einschalten der SSD aufgeladen. flüchtigen DRAM-Speicher auf der SSD. Der Controller Bei einem kurzzeitigen Stromausfall stellt er dann nimmt dann die im Abschnitt „Schreibtechniken“ genug Energie zur Verfügung, um alle im DRAM erläuterten Optimierungen vor, bevor er die Daten vorhandenen Daten auf den Flash-Speicher zu physikalisch auf den Flash-Speicher schreibt. Dem schreiben. Betriebssystem werden aber die Daten schon als geschrieben gemeldet, sobald sie im DRAM sind. Da die Kondensatoren vergleichsweise teuer Der DRAM enthält zudem eine ständig aktualisierte sind, ist die diese Art der Power Loss Protection Mapping-Tabelle, das Flash Translation Layer höherpreisigeren SSDs vorbehalten. Günstigere (FTL), das die Zuordnung von logischen Adressen Modelle verwenden ein Journaling-System, bei in physikalische übernimmt. Das heißt, bei einem dem die FTL und ein Journal in regelmäßigen Stromausfall können sowohl Nutzerdaten als auch Abständen auf den Flash-Speicher geschrieben das aktuelle FTL verloren gehen. werden, so dass bei einem Stromausfall zumindest die Datenkonsistenz zu einem vorangegangenen Um sich dagegen zu schützen, besitzen Enterprise Zustand wiederhergestellt werden kann. SSDs und auch manche Consumer SSDs eine so Einsatzgebiete Bei Einzelplatz-PCs und Notebooks ist der bei Notebooks die Akkulaufzeit erhöht. Außerdem Einsatzzweck schnell beschrieben. SSDs ersetzen ist eine SSD geräuschlos, was der Ergonomie bei der dort einfach die herkömmlichen Festplatten. Arbeit zugutekommt. Damit fährt der Rechner schneller hoch, einzelne Programme starten rascher und das Arbeiten am PC Im Serverumfeld lohnt es sich hingegen, genauer ist flüssiger. Der Stromverbrauch sinkt, so dass sich hinzuschauen, denn dort ergeben sich verschiedene
thomas-krenn.com | 11 Einsatzmöglichkeiten, da zumindest in sehr naher schützt vor Datenverlust beim Ausfall einer Zukunft wird die Festplatte dort auch noch eine einzelnen SSD. SSDs können darüber hinaus auch Rolle spielen wird, vor allem, wenn es um große als beschleunigender Schreib-/ Lesecache in Datenmengen geht. Denn immer noch verursacht einem RAID-Verbund mit normalen Festplatten das Speichern auf Festplatten nur einen Bruchteil genutzt werden. Bei Adaptec nennt sich diese der Kosten pro Terabyte im Vergleich zur SSD. Technologie maxCache und Broadcom benennt sie als CacheCade. Wenn jedoch viele zufällige I/O-Zugriffe auf Datenmengen im unteren Terabyte-Bereich oder Neben dem Caching ist auch Storage Tiering ein weniger erfolgen, spielen SSDs ihre Vorteile voll aus, weiterer Weg, um mittels eine Symbiose von HDDs hier lohnen sich also All-Flash-Systeme definitiv. und SSDs hohe Performance trotz niedriger Storage- Datenbank-Anwendungen sind solche Fälle. Kosten zu erreichen. Eine Spiegelung von SSDs mit einem RAID 1 Fazit SSDs sind nach wie vor mit höheren Einstiegskosten Controller implementiert hat. Nach der Erarbeitung verbunden. Sie zahlen sich aber durch ihre hohe der Grundlagen der SSD-Technik zeigt das nächste I/O-Performance oft sehr schnell aus. Entscheidend Kapitel, über welche Protokolle und Schnittstellen für eine gute Performance ist aber die Qualität, SSDs im Server angebunden werden. wie gut der Hersteller die Algorithmen im SSD-
thomas-krenn.com | 12 Verbindungstechnik Protokolle, Schnittstellen und Formfaktoren Es ist vielfach immer noch üblich, SSDs als Eins- flexibler in der Form sein, und zweitens wird bei zu-Eins-Ersatz für Festplatten zu sehen, also ein der Datentransferrate die SATA-Schnittstelle zum Device im 2,5-Zoll-Formfaktor an eine SATA- oder Flaschenhals. Es ist also nicht verwunderlich, SAS-Schnittstelle anzuschließen. Aus zwei Gründen dass SSDs an schnellere Schnittstellen wie PCIe ist es aber sinnvoll, hier mehrere Optionen in angeschlossen werden, womit dann auch andere Betracht zu ziehen. Ersten können SSDs aufgrund Formfaktoren einhergehen. der fehlenden mechanischen Teile wesentlich Serial ATA Serial ATA (SATA) ist der übliche Weg, Storage- seitens der Hersteller von Storage-Medien, so dass Medien anzuschließen. SATA-Medien sind preiswert er in der Praxis keine Rolle spielt. und mit hohen Kapazitäten verfügbar. Anwender müssen auch kaum mit Kompatibilitätsproblemen SATAe darf nicht mit eSATA verwechselt werden, rechnen. Es gibt drei Generationen des SATA- einer seit SATA II verfügbaren Anschlussart für Standards, inoffiziell meist als SATA I, SATA II externe Medien. Diese beruht auf den regulären und SATA III, bezeichnet. Die Generationen sind SATA-Protokollen, legt aber für Konnektoren und zueinander abwärtskompatibel. Eine SATA-III- Kabel andere elektrische Eigenschaften fest, um den Platte passt also auch immer an einen SATA-I- sicheren Betrieb von externen Geräten und längere Anschluss. Der Unterschied der Generationen liegt Kabel zu ermöglichen. Im Consumer-Bereich spielt in der maximalen Übertragungsrate. Generation I SATAe im Vergleich zu USB nur eine geringe, und bei transportiert brutto bis zu 1,5 GBit/s, Generation II Servern gar keine Rolle. bis zu 3 GBit/s und Generation III 6 GBit/s. In der Aus zwei Gründen ist SATA den Möglichkeiten Praxis resultiert daraus eine Bandbreite von etwa der SSDs auf Dauer nicht gewachsen und wird 600 MByte/s. zum Flaschenhals. Zudem einen ist es die Übertragungsrate zu gering, zweitens ist das Ein weiterer SATA-Standard, nämlich SATA Express von SATA-Geräten verwendete Protokoll AHCI für oder SATAe, wurde von den Mainboard-Herstellern magnetische Festplatten mit ihren hohen Latenzen speziell im Hinblick auf SSDs entwickelt und lässt und sequentiellem Schreiben und Lesen entwickelt sowohl SATA- als auch PCIe-Geräte am gleichen worden. SSDs bieten die Chance auf parallele Anschluss zu. Dieser Standard mit Bandbreiten von Zugriffe, die aber von AHCI nur bedingt genutzt bis zu 16 GBit/s fand jedoch keine Unterstützung werden kann. NVMe NVM Express (NVMe) hingegen ist ein auf SSDs Augenmerk auf optimierte Kommando-Verwaltung optimiertes Protokoll für den PCIeBus. Die (Submission und Completion) entwickelt. Aufgrund Spezifikation an sich ist nicht auf SSDs limitiert, der hohen Geschwindigkeit von PCIe-SSDs wurde sondern allgemein auf non-volatile (persistente) außerdem darauf geachtet, dass möglichst Speicher ausgelegt. Das Protokoll wurde mit viele Kommandos parallel abgearbeitet werden
thomas-krenn.com | 13 können. NVMe-SSDs sind immer über den PCIe-Bus übertragen. Üblicherweise sind NVMe-Medien mit angebunden, NVMe wird als Protokoll eingesetzt, vier Lanes angebunden. Die Bandbreite ist damit analog zu AHCI bei SATA. etwa sieben Mal höher als bei SATA III. Obwohl die Flash-Chips in NVMe-SSDs die gleichen sind wie bei PCIe kann bereits pro Lane etwa 985 MByte/s SATA, sind NVMe-SSDs deutlich teurer. Serial Attached SCSI (SAS) Serial Attached SCSI als Nachfolger der parallelen SAS-Controller betrieben werden können, nicht SCSI-Schnittstelle ist für Festplatten sehr verbreitet. jedoch umgekehrt. Im Vergleich zu SATA sind SAS- Der aktuelle Standard SAS-3 bietet mit 12 GBit/s SSDs dennoch im typischen Server-Einsatz eher doppelt so hohe Übertragungsraten wie SATA III. als Nischenprodukt zu klassifizieren. Etwa fünf Daneben hat SAS noch einen weiteren Vorteil: Prozent aller verkauften Enterprise-SSDs werden Zwei Datenkanäle sind Standard. Damit lässt sich über SAS angebunden. SAS-3 bietet mit 12 GBit/s Redundanz bei der Datenübertragung herstellen doppelt so hohe Übertragungsraten wie SATA III. oder durch Kanalbündelung die Übertragungsrate Vergleichsweise hohe Kosten und die Aussicht weiter erhöhen. Es ist zudem abwärtskompatibel auf noch leistungsfähigere NVMe-SSDs begrenzen zu SATA, so dass SATA-Medien auch an einem jedoch die Verbreitung. M.2 Mini SATA oder mSATA war der erste Standard, um SSDs, sie sind aber sehr preiswert und man spart SSDs direkt per Steckverbinder, also ohne Kabel sich immerhin einen Laufwerkseinschub. Oft ist es zu verwenden. Mittlerweile wurde er bei neuer sinnvoll, eine M.2-Karte für das Betriebssystem zu Hardware von seinem Nachfolger M.2 abgelöst, nutzen und Anwenderdaten etwa im RAID-Verbund SSDs für mSATA sind aber nach wie vor im Handel zu speichern. erhältlich. M.2-Module existieren in verschiedenen Größen, die M.2 ist ein sehr flexibles Interface, das nicht nur Breite beträgt dabei derzeit immer 22 Millimeter, das SATA-Protokoll unterstützt, sondern auch PCIe die Länge kann unterschiedlich sein: Erlaubt sind und USB. Außerdem sind noch zahlreiche Pins für 16, 26, 30, 38, 42, 60, 80 oder 110 mm. In der Praxis zukünftige und herstellerspezifische Anwendungen kommen aber derzeit vor allem Module mit 42, 60, frei. Wie bei mSATA wird dabei das Flash-Modul 80 oder 110 Millimeter Länge vor. (oder eine andere Hardware-Erweiterung) direkt auf einen Port auf dem Mainboard aufgesteckt und Der Formfaktor einer M.2-SSD wird mit der mit einer Schraube arretiert. Es liegt dabei in der hintereinander geschriebenen Länge und Breite Regel flach auf der Platine auf, der Platz dafür muss kodiert, eine Karte mit Formfaktor 2280 ist also 22 also ausgespart sein. Millimeter breit und 80 mm lang. Obwohl die M.2-Schnittstelle primär für Notebooks Bei der Auswahl der Karte muss man die und PCs konzipiert wurde, kann der Einsatz von Maximallänge beachten, die auf dem Board zur M.2-SSDs auch im Server sinnvoll sein. SATA-Karten Verfügung steht. Ist diese nur 80 mm, passt eine am M.2-Steckplatz bringen zwar kaum Vorteile SSD mit Formfaktor 22110 definitiv nicht. Kürzere bei der Performance gegenüber anderen SATA- Formfaktoren lassen sich zwar einbauen, aber unter
thomas-krenn.com | 14 Umständen nicht arretieren, da möglicherweise Die meisten Karten haben aber beide Aussparungen, an der gewünschten Stelle keine Fassung für die passen also in beide Sockel-Typen. Schraube vorhanden ist. In der Board-Spezifikation Entscheidend ist, wie viele PCIe-Lanes der ist deshalb in der Regel angegeben, welche Mainboard-Hersteller den M.2-Schnittstelle Formfaktoren erlaubt sind. spendiert. Bei einfachen Boards sind es oft nur eine oder zwei, so dass PCIe-SSDs zwar schneller Ein weiteres „mechanisches“ Kriterium für die sind als SATA-Modelle, aber dennoch nicht die passende Karte sind die so genannten Keys. Je volle Bandbreite ausnutzen, die der Flash-Speicher nachdem, welche Schnittstellen der Port zur eigentlich erlauben würde. Wer also Wert auf Verfügung stellt, sind an bestimmten Stellen maximale Performance legt, sollte sichergehen, Aussparungen am Konnektor vorhanden, damit sie dass die M.2-Schnittstelle vier PCIe-Lanes in den Sockel passen. Module mit „Key M“ haben unterstützt. Bei Server-Mainboards ist dies in der die Aussparung nach den ersten fünf Kontakten Regel der Fall. von rechts. Sie können PCIe mit vier Lanes und SATA Ein wesentlicher Nachteil von M.2 besteht darin, unterstützen. Bei „Key B“ ist die Aussparung nach dass es nicht Hot-Swap-fähig ist. Außerdem besteht den ersten sechs Pins von links. Diese erlauben die Gefahr von Überhitzung, so dass eventuell neben SATA nur PCIe mit maximal zwei Lanes. zusätzliche Kühlkörper verwendet werden müssen. Abbildung 5: M.2-Interface auf dem Mainboard
thomas-krenn.com | 15 U.2 Im Gegensatz zur M.2-Verbindung wurde das U.2- vier Lanes angebunden, zusätzlich ist auch der Interface explizit für Server konzipiert. U.2-SSDs Betrieb über SATA- oder SAS möglich. Außerhalb haben eine 2,5-Zoll-Bauform, sie werden also nicht der Hyperscale-Rechenzentren von großen Cloud- direkt auf dem Mainboard aufgesteckt sondern Anbietern konnte sich der U.2-Standard bisher mittels Kabel angeschlossen. Das spart Platz auf weder im Serverbereich noch im bei Desktop-PCs dem Mainboard, zudem ist der Konnektor sehr wirklich durchsetzen. Außer Intel und Gigabyte kompakt, da er „zweistöckig“ ausgeführt ist, also hat kaum ein größerer Hersteller die Interfaces auf aus zwei übereinander liegenden Steckverbindern dem Mainboard verbaut. Wer dennoch U.2-Medien besteht. Durch die Bauform bedingt ermöglichen einsetzen will oder muss, kann Adapter für M.2 U.2-SSDs größere Kapazitäten als die M.2- verwenden. Steckkarten. U.2-SSDs sind über PCIe mit maximal Ausblick: Ruler SSDs Ende 2017 hat Intel SSDs mit einem neuen sollen die langgestreckte Ruler-Bauform zu besserer Formfaktor für NVMe-SSDs angekündigt, dem Luftzirkulation und damit mehr Energieeffizienz EDSFF (Enterprise and Datacenter Storage Form führen. Auch Samsung und Adata haben erste Factor) oder auch NGSFF (Next Generation Small Produkte mit diesem Formfaktor vorgestellt. Memory Form Factor). Diese auch als Ruler Die derzeit erhältlichen bzw. angekündigten (Lineal) SSDs bezeichneten Module sind ca. 32 cm Kapazitäten liegen bei 8 bis 16 TB pro Modul. Im lang, 3,7 cm hoch und 1 cm dick und mit diesen Moment scheint es noch zu früh für Prognosen, Abmessungen auf 1-HE-Server angepasst. Intel will ob sich dieses Format langfristig in der gesamten damit Speicherdichten von bis zu einem Petabyte Industrie durchsetzt oder nicht. auf einer Höheneinheit möglich machen. Zudem Fazit Die richtige Schnittstelle und das passende Protokoll SATA-Schnittstelle vorherrschend bleiben. Neben sind entscheidend, um die Leistung der SSD im Server der Anbindung sind aber auch Einstellungen des voll ausnutzen zu können. In den letzten Jahren hat Betriebssystems wichtig, um optimale Performance die Vielfalt der Optionen hier zugenommen. PCIe und Lebensdauer zu erreichen. Deshalb zeigt das wird hier in der Zukunft die dominante Rolle spielen, nächste Kapitel, wie Sie die Leistung von SSDs aber noch vor allem aus Kostengründen wird die messen und optimieren können. 4 SMART Attribute von Intel SSDs (https://www.thomas-krenn.com/de/wiki/SMART_Attribute_von_Intel_SSDs)
thomas-krenn.com | 16 Performance messen und optimieren Schnelligkeit ist keine Hexerei Sofern der Rechner halbwegs aktuell ist, erkennt der SSD-Grundlagen im vorigen Kapitel lesen er die SSD beim Hochfahren und kann sie sofort Sie hier, welche Faktoren die Leistung einer SSD verwenden, ganz gleich, ob sie über SATA oder bestimmen, wie Sie sie messen können und wie Sie NVMe angebunden ist. Nicht immer ist damit mit der Überprüfung von wenigen Einstellungen die jedoch gewährleistet, dass die SSD dann auch die optimale Performance erreichen. optimale Leistung bringt. Nach der Erarbeitung IOPS, Latenz und Durchsatz Bei der Messung der SSD-Performance sind vor in ms, bis eine einzelne I/O-Operation durchgeführt allem drei Messgrößen entscheidend: IOPS, Latenz wurde. Die typische durchschnittliche Latenz beträgt und Durchsatz. Der Begriff IOPS (Input/Output bei SSDs zwischen 0,1 und 0,3 ms, bei Festplatten Operations Per Second) beschreibt die Anzahl an zwischen 5 und 10ms. Hierbei ist zu beachten, dass Ein/Ausgabe-Operationen pro Sekunde. Read IOPS die Festplatten-Hersteller mit der Latenz nur die Zeit beziehen sich konkret auf Ausgaben pro Sekunde, einer halben Umdrehung der Scheibe beschreiben. Write IOPS auf Eingaben. Die Größe einer solchen Zur echten Latenz, also der mittleren Zugriffszeit, I/O-Operation beträgt 4 KiB (sofern nicht anders ist hier noch die Spurwechselzeit (Seek Time) zu angeführt). IOPS werden meistens „random“, also addieren. Der Durchsatz schließlich bezeichnet die mit zufällig verteilten Zugriffen gemessen, um Datentransferrate in MByte pro Sekunde (MB/s). Er tatsächlich Worst-Case-Werte zu erfassen. Während wird typischerweise mit größeren und sequenziellen Festplatten nur rund 100-300 IOPS schaffen, bieten I/O-Operationen gemessen. Bei gleicher Anbindung aktuelle SATA-Enterprise-SSDs etwa 45.000 Write (SATA) schaffen SSDs etwa den doppelten bis und 85.000 Read IOPS (beispielsweise das 1,2-TByte- dreifachen Durchsatz von Festplatten. Bei SSDs mit Modell Intel DC S3710 SSD). NVMe-Modelle gehen wenigen Flash-Chips (SSDs mit geringerer Kapazität) deutlich darüber hinaus. So erreicht etwa Intels ist die Schreibperformance etwas eingeschränkt DC P3700 mit 400 GByte bereits 75.000 Write und und liegt etwa auf Festplatten-Niveau. 450.000 Read IOPS. Latenz beschreibt die Wartezeit Folgende Faktoren beeinflussen die Performance einer SSD: _Read/Write Mix: Bei SSDs unterscheiden sich die Schreibperformance durch eine größere Spare- Lese- und Schreiboperationen auf Hardware- Area und optimierte Controller-Firmware. Ebene deutlich. Aufgrund des höheren Controller- Overheads von Schreiboperationen erzielen SSDs _Random/Sequential Mix: Die Anzahl an möglichen typischerweise mehr Lese-IOPS als Schreib-IOPS. IOPS hängt außerdem davon ab, ob die Zugriffe Besonders hoch ist dieser Unterschied bei Consumer- zufällig über den gesamten Datenbereich (LBA- SSDs. Bei Enterprise-SSDs verbessern die Hersteller Bereich) verteilt sind oder sequenziell durchgeführt
thomas-krenn.com | 17 werden. Bei zufälligen Zugriffen steigt der durchschnittliche Latenz, und damit die Wartezeit Managementaufwand des SSD-Controllers und die auf eine einzelne I/O-Operation – weil eben nicht Anzahl an möglichen IOPS nimmt damit ab. jede Operation einzeln sofort an die SSD geleitet wird, sondern erst, wenn die Warteschlange voll ist. _Queue Depth: Die Queue Depth bezeichnet die Länge der Warteschlange im I/O-Pfad zur SSD. Bei _Spare Area: Die Größe der Spare Area hat einen einer größeren Warteschlange (zum Beispiel 8, 16 direkten Einfluss auf die Random Write-Performance oder 32) fasst das Betriebssystem die konfigurierte der SSD (und damit auch auf die Kombination aus Anzahl an I/O-Operationen zusammen, bevor es Lese- und Schreib Performance). Je größer die Spare diese an den SSD-Controller sendet. Eine größere Area, desto seltener muss der SSD-Controller intern Queue Depth erhöht die Anzahl der möglichen Daten umstrukturieren. Der SSD-Controller hat IOPS, da die SSD die Anfragen parallel an die damit mehr Zeit für Host-Anfragen – die Random Flash-Chips senden kann. Sie erhöht aber auch die Write-Performance steigt. Performance-Messung mit FIO Durchsatz Lesen fio --name=readTP --rw=read --size=5G --bs=1024k –direct=1 --refill_buffers --ioengine=libaio --iodepth=16 Durchsatz Schreiben fio --name=writeTP --rw=write --size=5G --bs=1024k –direct=1 --refill_buffers --ioengine=libaio --iodepth=16 IOPS Lesen fio --name=readIOPS --rw=randread --size=1G --bs=4k –direct=1 --refill_buffers --ioengine=libaio --iodepth=16 IOPS Schreiben fio --name=writeIOPS --rw=randwrite --size=1G --bs=4k –direct=1 --refill_buffers --ioengine=libaio --iodepth=16 IOPS Mixed Workload, 50 Prozent Lesen und 50 Prozent Schreiben fio --name=mixedIOPS --rw=randrw --size=1G --bs=4k –direct=1 --refill_buffers --ioengine=libaio --iodepth=16 Bestimmen der Baseline Performance Die zuvor genannten Eigenschaften von SSDs _Workload Pattern – I/O Pattern (Read/ Write Mix, erfordern speziell abgestimmte Performance- Blockgrößen) während des Tests. Tests. Konkret erschweren der FOB-Zustand (Fresh out of the Box) und die Übergangsphasen _Data Pattern – die geschriebenen Daten. Die zwischen Workloads eine Bestimmung von stabilen Anforderungen an aussagekräftige SSD-Tests hat Performance-Werten. Die resultierenden Werte sind die Organisation SNIA sogar dazu veranlasst, eine daher von folgenden Faktoren abhängig: eigene „Enterprise Performance Test Specification“ (PTS) zu veröffentlichen. _Schreibende Zugriffe sowie Präkonditionierung – der Zustand der SSD vor dem Test. In den meisten Fällen besteht jedoch nicht die
thomas-krenn.com | 18 Möglichkeit, in diesem Umfang Tests durchzuführen. unter Linux verbreitet, aber auch für Windows und Oftmals reicht es im ersten Schritt aus, mit VMware ESXi verfügbar. Entwickelt vom Maintainer einfachen Mitteln eine „Baseline Performance“ der des Linux Block Layers, Jens Axboe, steckt einiges SSD zu bestimmen. Dadurch erhalten Sie in Form an Wissen und Funktionalität darin. Nutzen Sie von MB/s und IOPS auf Ihr System zugeschnittene die Tabelle für einen einfachen Performance-Test Kenngrößen. Die Tabelle „Performance-Messung Ihrer SSD unter Linux. Windows-Nutzer müssen die mit FIO“ geht näher auf das Performance-Werkzeug Parameter „libaio“ und „iodepth“ entfernen. „Flexible I/O Tester“ (FIO) ein. FIO ist vor allem Spare Area vergrößern Wie bereits im ersten Kapitel dieses E-Books interne Kopieren die Anzahl der Schreibvorgänge auf erwähnt, kann ein SSD Controller die Daten von einer die einzelnen Speicherzellen (die Write Amplification einmalig beschriebenen Page (die aus mehreren steigt). Somit sinkt auch die Lebensdauer dieser Speicherzellen besteht) nicht verändern. Vor einem Speicherzellen. Ein einfacher Trick verhindert erneuten Beschreiben dieser Page müsste der häufige Aufrufe der Garbage Collection: Werden Controller den gesamten Block löschen, in dem bei der erstmaligen Nutzung der SSD etwa nur sich die Page befindet. Um dies zu vermeiden, 90 Prozent des verfügbaren Datenbereiches schreibt der Controller in einem solchen Fall die partitioniert (Over-Provisioning), erfolgen auf die geänderten Daten einfach in eine andere, bisher restlichen zehn Prozent niemals Schreibzugriffe. unbenutzte Page und aktualisiert seine interne Die entsprechenden Pages bleiben ungenutzt, der Zuordnungstabelle entsprechend (Abbildung SSD Controller kann diese Pages somit wie Pages 6). Sind auf der SSD zu Beginn nur wenige Daten aus der Spare Area nutzen. Untersuchungen von gespeichert, gibt es noch ausreichend freie Pages. Intel zeigen, dass bei einer solchen Einsparung Darüber hinaus hat jede SSD eine Spare Area, deren von zehn Prozent der Datenmenge die Random- Pages der SSD Controller ebenfalls für diese Zwecke I/O-Performance auf das Zweieinhalbfache steigen nutzt. Bevor die freien Pages ganz zur Neige gehen, kann [5] (Abbildung 7). räumt der SSD Controller mit seinem Garbage Collector auf. Er kopiert dabei verstreute belegte Sinnvoll ist dies mittlerweile jedoch nur noch bei Pages aus verschiedenen Blöcken in noch freie Consumer-SSDs mit einer von Haus aus kleinen Pages. Die dadurch freigeschaufelten Blöcke kann Spare Area. Bei Enterprise-SSDs ist die Reserve an er nun löschen. Damit stehen ihm in der Summe Pages in der Regel so großzügig dimensioniert, dass wieder mehr unbenutzte Pages zur Verfügung. eine weitere Erhöhung kaum noch zu Performance- Gewinn führt und den Nachteil der kleineren Netto- Diese Garbage Collection kostet jedoch Zeit und Kapazität nicht aufwiegt. damit Performance. Außerdem erhöht sie durch das 5 Spare-Area vergrößern (https://www.thomas-krenn.com/de/wiki/SSD_Performance_optimieren) Secure Erase Wie bereits erläutert kann ein SSD Controller die Wiederverwendung einer zuvor bereits benutzten Daten von einer einmalig beschriebenen Page nicht SSD ist es daher sinnvoll, vor dem Einsatz alle Blöcke verändern, sondern muss zuvor den gesamten der SSD zu löschen. Bei den meisten SSDs klappt dies Block mit mehreren Pages löschen. Für die mit einem einfachen Secure Erase.[6] Ein Secure
thomas-krenn.com | 19 Erase soll laut ATA-Spezifikation das sichere Löschen damit nicht mehr entschlüsselt werden, sind aber aller gespeicherten Daten eines Datenträgers noch physisch vorhanden. Bei solchen SSDs werden garantieren. Bei den meisten SSDs, die Secure Erase somit nicht alle Blöcke der SSD gelöscht. In diesem unterstützen, führt dies zum physischen Löschen Fall müssen die Blöcke per TRIM gelöscht werden, aller Blöcke der SSD. Die SSD ist dann wieder um für die neue Verwendung der SSD die optimale mit der ursprünglichen optimalen Performance Performance zu bekommen. Windows führt seit nutzbar, da alle Pages direkt beschrieben werden Version 7 ein solches TRIM bei der Formatierung können. Bei einigen neueren SSDs ist das Secure automatisch durch. Unter Linux bietet »hdparm« Erase allerdings anders implementiert. Diese SSDs dazu zwar die »--trim-sector-ranges«-Option, die verschlüsseln automatisch alle geschriebenen Manpage von hdparm rät allerdings nach wie vor Daten. Bei einem Secure Erase wird dann einfach von ihrer Verwendung ab. der Schlüssel sicher gelöscht – die Daten können 5 Spare-Area vergrößern (https://www.thomas-krenn.com/de/wiki/SSD_Performance_optimieren) Abbildung 6: Viele Pages (rot markiert) sind ungültig, weil deren Daten verändert und woanders abgespeichert wurden. Der SSD Controller aktualisiert seine interne Zuordnungstabelle entsprechend. Partition Alignment Unter Partition Alignment versteht man das (Cylinder/Head/Sector) zu bleiben. Die Größe eines Ausrichten von Partitionen an bestimmten solchen (logischen) Sektors beträgt 512 Byte. Bei Grenzen eines Datenträgers [7]. Ein korrektes Festplatten mit einer physischen Sektorgröße von Partition Alignment gewährleistet eine optimale 512 Byte brachte das keine Nachteile. Aktuelle Performance bei Datenzugriffen. Speziell bei SSDs Festplatten mit einer physischen Sektorgröße von (mit internen Page-Größen von beispielsweise 4.096 Byte (4 KiB) emulieren zwar nach außen hin 4.096 oder 8.192 Bytes), Festplatten mit 4 KiB- eine Sektorgröße von 512 Byte, arbeiten intern aber Sektoren (4.096 Bytes) und RAID-Volumes führt mit 4.096 Byte. Und auch SSDs arbeiten mit einer eine fehlerhafte Ausrichtung von Partitionen Pagegröße von 4 KiB beziehungsweise 8 KiB. Bei zu einer verminderten Performance.[8] In der diesen neuen Festplatten und SSDs ist eine solche Vergangenheit begann die erste Partition stets auf Partitionierung beginnend bei LBA-Adresse 63 LBA-Adresse 63 (entspricht dem 64. Sektor), um daher sehr problematisch. Formatiert der Benutzer kompatibel zu DOS und zur alten CHS-Adressierung eine solche Partition mit einem Dateisystem mit
thomas-krenn.com | 20 einer typischen Blockgröße von 4 KiB, passen die der Installation. Beim späteren Einrichten von 4-KiB-Dateisystem-Blöcke nicht direkt in die 4 KiB Partitionen mit »fdisk« sind dessen Optionen »c« oder 8 KiB großen Pages der SSD (Abbildung 8). (Deaktivieren des DOS Kompatibilitätsmodus) und Beim Schreiben eines einzelnen 4-KiB-Dateisystem- »u« (verwendet Sektoren statt Zylinder als Einheiten) Blockes müssen dann zwei 4 KiB Pages verändert nötig, um ein korrektes Alignment zu erhalten. Zur werden. Erschwerend kommt dabei hinzu, dass Kontrolle zeigt »fdisk -l - u« die Startsektoren aller die jeweiligen 512-Byte-Sektoren erhalten bleiben Partitionen. Sind diese Sektoren durch 2048 teilbar, müssen – es kommt damit zu einem Read/Modify/ sind alle Partitionen korrekt ausgerichtet (Listing 2). Write. Die Folge ist eine bis zu 25fach schlechtere LVM-Versionen ab 2.02.73 verwenden dank eines Schreibperformance bei kleinen Dateizugriffen, wie Patches von Mike Snitzer ebenfalls ein Alignment Analysen von IBM zeigen.[9] Um diese Probleme von 1 MiB.[10] zu vermeiden, empfiehlt sich ein Alignment auf 1 MiB – damit ist man auf lange Sicht auf der sicheren Seite. Mit der aktuellen Adressierung in 512 Byte großen logischen Sektoren entspricht das 2048 Sektoren (Abbildung 9). Aktuelle Windows- Versionen führen bei Partitionen größer 4 GiB ein solches Alignment auf 1 MiB durch. Ältere Versionen (Windows XP, Windows Server 2003) benötigen ein manuelles Alignment. Aktuelle Linux-Distributionen verwenden ebenfalls ein Alignment von 1 MiB bei Abbildung 7: Eine etwas vergrößerte Spare Area hat positive Auswirkungen. Erhöht man das Overprovisioning Level um 20%, steigt die I/O Performance um das 2,5fache. Eine Erhöhung auf 40% bringt jedoch keine deutlich besseren Werte. 7 Partition Alignment (https://www.thomas-krenn.com/de/wiki/Partition_Alignment) 8 Ben Martin, RAID-Systeme unter Linux optimal konfigurieren, ADMIN 02/2011, S. 80 ATA TRIM Eine weitere Funktion zur Steigerung der Optimizers ein TRIM-Befehl an die SSD gesendet Performance sowie der Lebensdauer ist ATA TRIM. und die Defragmentierung automatisch deaktiviert. Mit dem TRIM-Kommando teilt das Betriebssystem Bereits seit Kernel 2.6.38 unterstützen Ext4 und XFS der SSD mit, welche Datenbereiche (etwa die zudem das zeitversetzte Batched Discard, das bei Datenbereiche einer gelöschten Datei) es nicht mehr SSDs mit langsamer TRIM-Funktion wichtig ist. Über benötigt. Der SSD-Controller kann damit betroffene den tatsächlichen Performance-Gewinn aufgrund Blöcke löschen, was ähnlich wie eine vergrößerte von ATA TRIM gibt es unterschiedliche Aussagen. Spare Area die Performance und Haltbarkeit der Tatsache ist, dass ATA TRIM nur für einzelne SSDs SSD steigern soll. Damit ATA TRIM funktioniert, genutzt werden kann. RAID-Controller unterstützen muss es von der SSD, vom Betriebssystem und diese Funktion nicht. Eine etwas vergrößerte Spare- vom Dateisystem unterstützt werden. Windows Area durch Nutzung von 90 Prozent der SSD- mit NTFS oder Linux mit Ext4 mit Discard-Option Kapazität für das RAID-Volume sollte in diesem Fall erfüllen diese Anforderungen. Ab Windows 8 wird ein Fehlen der TRIM-Funktion ausgleichen. mittels der automatischen Optimierung des Storage
thomas-krenn.com | 21 Listing 2: Partition-Alignment mit fdisk: root@ubuntu:~# fdisk -l -u /dev/sda Disk /dev/sda: 240.1 GB, 240057409536 bytes 255 Köpfe, 63 Sektoren/Spur, 29185 Zylinder, zusammen 468862128 Sektoren Einheiten = Sektoren von 1 × 512 = 512 Bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Festplattenidentifikation: 0xf9ef975a Abbildung 8: DOS-kompatible Partitionen, die bei LBA Adresse 63 beginnen, führen zu erheblichen Performance-Nachteilen bei Datenzugriffen. Abbildung 9: Eine korrekt ausgerichtete Partition bringt optimale Performance bei Lese- und Schreiboperationen. Gerät boot. Anfang Ende Blöcke Id System /dev/sda1 * 2048 718847 358400 7 HPFS/NTFS/exFAT /dev/sda2 718848 468858879 234070016 7 HPFS/NTFS/exFAT 9 Linux on 4KB-sector disks (https://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks) 10 LVM Alignment Patch (https://www.redhat. com/archives/linux-lvm/2011-July/msg00063.html) Fazit Der Einsatz von SSDs bietet eine Menge an Gigabyte über einen längeren Zeitraum genießen Tuningpotential. Diese Einstellungen können eine zu können sollten Sie immer ein Auge auf die erhebliche Geschwindigkeitsverbesserung und korrekten Einstellungen haben. Das vierte Kapitel Verlängerung der Lebensdauer bringen. Um die dieses E-Books erläutert, wie Sie SSDs in einem Performance einer SSD und der im Vergleich zu RAID-Verbund optimal betreiben. einer HDD noch teuren Anschaffungskosten pro
thomas-krenn.com | 22 Flash-Stapel mit Turbo SSD-RAIDs mit optimaler Performance betreiben Nach der Erläuterung des Aufbaus und der Funktion die korrekten Einstellungen zum optimalen Betrieb einer SSD und der Optimierung eines Betriebes eines Software- und Hardware-RAIDs mit SSDs. einer einzelnen SSD geht es in diesem Kapitel um SSDs und RAID-Controller Bis vor wenigen Jahren kamen in einem RAID- zwar in ungenutzte Pages geschrieben werden – Verbund ausschließlich Festplatten zum Einsatz. ein nachträgliches Ändern ist jedoch nicht möglich. Dementsprechend waren bis dahin Hardware- Das funktioniert erst dann wieder, wenn der SSD- RAID-Controller ausschließlich auf die I/O- Controller zuvor den gesamten zugehörigen Block Charakteristiken von Festplatten optimiert. Die löscht. Damit immer ausreichend ungenutzte unterschiedlichen I/O-Eigenschaften von SSDs Pages bereitstehen, verfügen SSDs über zusätzliche erfordern jedoch entsprechend optimierte RAID- Speicherzellen (Spare Area). Je nach SSD ist die Controller und RAID-Einstellungen. Wie Sie Ihr SSD- Größe der Spare Area zwischen 7 und 78 Prozent RAID zu optimaler Performance bringen, zeigen wir der Nennkapazität. Eine Möglichkeit, der SSD Ihnen in diesem Kapitel. mitzuteilen, welche Datenbereiche nicht mehr verwendet und somit gelöscht werden können, Konventionelle Festplatten speichern ihre Daten ist TRIM. Hier teilt das Betriebssystem dem SSD- auf einer oder mehreren Magnetscheiben, die Controller mit, welche Datenbereiche gelöscht über einen Schreib-/Lesekopf beschrieben und werden können. TRIM lässt sich für eine einzelne ausgelesen werden. SSDs kommen im Gegensatz SSD einfach implementieren, für Paritäts-RAIDs dazu ohne mechanische Bauteile aus. Die Daten wäre die Umsetzung aber durchaus aufwändig. werden hier in Flash-Speicherzellen abgelegt. Daher unterstützt nach wie vor auch kein Hardware Chips mit SLC (Single Level Cell) speichern 1 Bit RAID-Controller die TRIM-Funktionalität. Dieses pro Speicherzelle, jene mit MLC (Multi Level Cell) 2 Manko lässt sich aber recht leicht umschiffen: Die Bits, TLC (Triple Level Cell) speichert 3 Bits. Mehrere meisten Enterprise-SSDs kommen von Haus aus mit Speicherzellen sind in einem Flash-Chip zu einer einer vergleichsweise großen Spare-Area, weshalb Page (zum Beispiel 8 KiB) organisiert. Mehrere Pages die TRIM-Unterstützung kaum eine Rolle spielt. Und bilden dann einen Block (etwa 2 MiB). Auf dieser wem die Performance noch nicht reicht, der kann Ebene kommt auch schon die erste Eigenheit von zusätzlich noch mit Over-Provisioning arbeiten – Flash-Speichern ans Tageslicht: Neue Daten können dazu später mehr. RAID 1, RAID 5 und RAID 10 mit SSDs Wegen der in den letzten Jahren gesunkenen Festplatten, aber dabei kommt es immer auf die Preise werden immer mehr Festplatten-RAIDs richtigen Einstellungen und das passende RAID- durch SSD-RAIDs ersetzt. Flash-Systeme können Level an. zwar schneller sein als herkömmliche RAIDs mit
Sie können auch lesen