Pure Storage hat gerade die Einführung von DirectFlash™ Fabric angekündigt, das eine geringe Latenz und eine hohe Leistung der NVMe-Technologie im Speichernetzwerk bereitstellt. Mit Purity Version 5.2 unterstützt DirectFlash Fabric NVMe-oF mittels RDMA über Converged Ethernet (RoCE) auf FlashArray //X.
DirectFlash Fabric by Pure Storage
Was ist NVMe-oF?
NVMe over Fabrics (NVMe-oF) ist eine neue Speichertechnologie, die sich im Rechenzentrum durchzusetzen beginnt. Dieses Protokoll wurde festgelegt, um den Speicherplatz im Netzwerk zu stören, da es eine geringe Latenz und hohe Datenübertragungsgeschwindigkeiten bietet.
Bevor wir tiefer in NVMe-oF einsteigen, lassen Sie uns zunächst einen kurzen Blick auf seine Geschichte und seine Entwicklung werfen.
Festplatten (HDD, Hard Disk Drive) waren bis vor kurzem das wichtigste Speichermedium und verwendeten Schnittstellen wie SCSI/SAS oder SATA zur Kommunikation mit dem Host-Bus-Adapter. Mit dem Sinken der Preise für Flash-Speicher wurden SSDs immer beliebter. Da SSDs keine beweglichen Teile enthalten, sind sie viel schneller als HDDs. Aus diesem Grund überschritt die Leistung der SSDs bald die Geschwindigkeit des Datenbusses, der für den Einsatz bei Festplatten entwickelt wurde. Es zeigte sich, dass neue Protokolle und Standards erforderlich waren, die speziell für die Nutzung der Solid-State-Technologie entwickelt wurden.
NVMe ist eine Host-Controller-Schnittstelle und ein Speicherprotokoll, das von einem Branchenverband namens „NVM Express Inc“ als Ersatz für SCSI/SAS und SATA entwickelt wurde. Es ermöglicht eine schnelle Datenübertragung über den schnellen PCIe-Bus (Peripheral Component Interconnect Express) eines Computers. Es wurde von Anfang an für Solid-State-Medien mit niedriger Latenz entwickelt und beseitigt viele der Engpässe, die bei den alten Protokollen auftraten.
NVMe-Geräte werden an den PCIe-Bus in einem Server angeschlossen. Der nächste Schritt besteht darin, die Vorteile von NVMe in Speichernetzwerken zu nutzen. NVMe-oF erweitert die Vorteile von NVMe (Leistungsstärke und geringer Latenz) auf Netzwerk-Fabrics, die Server und Speicher verbinden. NVMe-oF übernimmt den leichten und optimierten NVMe-Befehlssatz und das effizientere Warteschlangenmodell und ersetzt den PCIe-Transport durch alternative Transportmöglichkeiten wie Fibre Channel, RDMA over Converged Ethernet (RoCE) oder TCP.
Warum ist NVMe-oF besser?
NVMe stellt eine hervorragende Möglichkeit dar, Daten mit DAS (Direct Attached Storage) auszutauschen, aber DAS hat seine Nachteile. Festplatte und Daten werden in Silos gelagert, und die verfügbare Kapazität kann nicht effizient genutzt werden. Darüber hinaus fehlen Datendienste, die in jedem Speicher-Array der Enterprise-Klasse enthalten sind.
Der FlashArray///X von Pure in Verbindung mit NVMe-oF vereint die Vorteile beider Optionen: Effizienz und Leistung von NVMe und die Vorteile von Shared Accelerated Storage mit erweiterten Datendiensten wie Redundanz, Thin Provisioning, Snapshots und Replikation.
NVMe-oF bietet aus folgenden Gründen eine bessere Leistung:
- Geringere Latenz
- Höhere IOPs
- Höhere Bandbreite
- Verbesserte Protokolleffizienz durch Reduzierung des „I/O-Stacks“
- Geringere CPU-Auslastung auf dem Host durch Auslagerung von Verarbeitungsvorgängen aus dem Kernel auf den HBA.
Oracle auf NVMe-oF
Eine große Anzahl von FlashArray-Kunden verwendet Oracle-Datenbanken. DBAs stehen unter ständigem Druck, eine schnelle Reaktionszeit für die Benutzeranwendungen zu liefern. Oracle-Datenbanken profitieren bereits von der außergewöhnlichen Leistung der FlashArray///X-Array-Familie, mit DirectFlash Fabric wird es jedoch noch besser. Um die Leistung und Effizienz von DirectFlash Fabric zu demonstrieren, haben wir SLOB- und HammerDB-Tests durchgeführt, bei dem die Leistung von iSCSI und NVMe-oF verglichen wird.
Testanordnung
Die Oracle-Datenbank 18c Enterprise Edition wurde auf zwei identischen Servern mit RedHat 7.6 installiert. Bei den Servern handelte es sich um handelsübliche x86-Server mit zwei Intel Xeon CPU E5-2697 v2 mit 2,70 GHz mit jeweils 12 (insgesamt 24) Kernen und 512 GB RAM.
Jeder Server wurde über 2 Mellanox ConnectX-4 Lx-Adapter (Dual Port 25GbE) mit FlashArray///X90R2 verbunden. Multipathing wurde auf beiden Hosts aktiviert.
Die Datenbank DBTEST01 wurde mit iSCSI als Transportmittel konfiguriert, die Datenbank DBTEST02 mit NVMe-oF. Die Lasttests wurden auf beiden Datenbankserver nacheinander durchgeführt. Beide Datenbanken hatten die gleiche Datenbankkonfiguration. Die SGA wurde auf 5 GB festgelegt, um das Caching zu minimieren und die Belastung des IO-Subsystems zu maximieren.
Oracle-Leistungstest mit SLOB: iSCSI im Vergleich zu NVMe-oF
Wir haben das branchenweit anerkannte SLOB Benchmark-Kit zum Vergleich der Leistung von DirectFlash (NVMe-oF über RoCE) mit iSCSI verwendet. Es wurden mehrere Tests mit folgenden SLOB-Einstellungen durchgeführt:
- Think Time auf 0 gesetzt
- Skalierbarkeitstest mit 128 und 256 Benutzern
- Variation des Lese-/Aktualisierungsmixes der Workloads
- 100 % Lesevorgänge
- 90 % Lesevorgänge, 10 % Aktualisierungsvorgänge
- 70 % Lesevorgänge, 30 % Aktualisierungsvorgänge
- 50 % Lesevorgänge, 50 % Aktualisierungsvorgänge
NVMe-oF führte im Vergleich zu iSCSI zu einer höheren Bandbreite und geringeren Latenz, die deutlichste Steigerung konnte jedoch bei der CPU-Auslastung erzielt werden.
Die folgende Grafik zeigt einen Vergleich der CPU-Auslastung auf dem Datenbankserver durch verschiedene Workloads mit 128 gleichzeitigen Benutzern.
Ähnliche Ergebnisse wurden erzielt, als die Lasttests für 256 Benutzer durchgeführt wurden.
Wir sehen, dass die CPU-Auslastung bei Verwendung von NVMe-oF als Transportmittel deutlich reduziert wird. In unseren Tests lag die durchschnittliche Verbesserung im Bereich von 40 – 45 %. Beachten Sie, dass diese Tests entwickelt wurden, um das IO zu belasten, indem die Größe des Puffer-Caches reduziert wird. Möglicherweise weisen sie nicht das typische IO-Profil der Produktionsumgebung auf. Ihre individuellen Ergebnisse können daher abweichen.
Oracle-Leistungstest mit HammerDB: iSCSI im Vergleich zu NVMe-oF
Das HammerDB-Programm wurde verwendet, um einen Lasttest ähnlich TPCC für beide Datenbankserver durchzuführen.
So wurde der Test aufgebaut:
- Vier Hosts wurden konfiguriert, um mit dem HammerDB-Programm eine Last zu erzeugen.
- Lastgenerator-Hosts wurden über SQL*Net mit den Datenbankservern verbunden.
- Jeder Lastgenerator-Host hatte 24 Kerne.
- Jeder Lastgenerator wurde für den Betrieb von 96 vUsern konfiguriert.
- Jeder vUser führte 10 Iterationen mit 1000 Transaktionen pro Iteration durch.
- Benutzerverzögerung und Wiederholungsverzögerung wurden auf 500 ms eingestellt.
Die folgende Tabelle fasst die beobachteten Verbesserungen zusammen:
Verbesserung | |
Testdurchführungszeit | 7% |
CPU-Auslastung in % | 33% |
IOPS bei Lesevorgang | 9% |
IOPS bei Schreibvorgang | 12% |
Lesebandbreite (MB/s) | 9% |
Schreibbandbreite (MB/s) | 8% |
Leselatenz (ms) | 5% |
Schreiblatenz (ms) | 23% |
Wir sehen, dass der NVMe-oF-Test im Vergleich zu iSCSI eine geringere Latenz, höhere IOPs, eine höhere Bandbreite und vor allem eine wesentlich effizientere CPU-Auslastung aufweist.
Fazit
Diese Testergebnisse zeigen, dass DirectFlash Fabric von Pure, das auf NVMe-oF und FlashArray///X basiert, eine höhere Leistung bietet und die Nutzung der CPU-Ressourcen auf dem Oracle-Datenbankserver optimiert. Da Oracle-Datenbankserver typischerweise pro CPU-Kern lizenziert werden, stellt dies für unsere Kunden einen weiteren Grund dar, ihre Oracle-Lizenzen zu optimieren, indem sie ihre Arbeitslasten auf weniger Hosts konsolidieren, was zu niedrigeren Gesamtbetriebskosten führt.
DirectFlash Fabric bringt die geringe Latenz und die hohe Leistung der NVMe-Technologie in das Speichernetzwerk ein. Es ist ab sofort ab Purity 5.2 im RoCE-Transport verfügbar. Unterstützung für andere Transportmöglichkeiten wie Fibre Channel und TCP werden folgen.