Azure Native Qumulo jetzt in der EU, im Vereinigten Königreich und in Kanada verfügbar – Erfahren Sie mehr

Die Kernarchitektur von Qumulo ist auf Hardware-Flexibilität ausgelegt

Geschrieben von:

Qumulo glaubt an Hardware-Flexibilität und wir haben unser Dateisystem so konzipiert, dass es hardwareunabhängig ist.

In unserem ersten Jahr haben wir Hunderte von Dateispeicherkunden interviewt und eines der stärksten Themen war Hardware – der Wunsch, Dateispeicher auf der neuesten Rechenzentrumshardware sowie in der öffentlichen Cloud ausführen zu können. „Kunden sind unser Magnetfeld“ ist einer unserer zentralen Unternehmenswerte, und mit diesen Interviews gaben uns unsere Kunden eine klare Mission.

Hardware-Flexibilität

Neben dem Laufen auf Major Plattformen von Cloud-Anbietern, Qumulos fehlertolerantes Dateisystem der Enterprise-Klasse läuft auf einem verschiedene Hardware-Plattformen, einschließlich Fujitsu, HPE und unserer eigenen Infrastruktur. Aber „hardware-agnostisch“ bedeutet nicht, dass wir keine Standards haben. Wir zertifizieren bewusst und sorgfältig bestimmte Plattformen für die Nutzung durch Kunden, denn wir möchten, dass Kunden ein konstant gutes Erlebnis haben. Außerdem ist die Leichtigkeit, mit der wir neue zertifizierte Plattformen einführen können, bemerkenswert. Hardware-agnostisches Softwaredesign führt zu einer einfacheren Feature-Implementierung, indem eine klare Abstraktionsschicht von der Hardware sowie ein höheres Vertrauen beim Testen geschaffen werden.

Viele moderne SSDs haben die Fähigkeit, 4k-Blöcke atomar zu schreiben. Eine SSD mit dieser Eigenschaft antwortet auf eine Schreibanforderung, wenn und nur wenn der Schreibvorgang ohne Bitfehler oder andere Beschädigungen dauerhaft auf dem Laufwerk an der richtigen Stelle in der Reihenfolge gelandet ist, in der der Schreibvorgang ausgeführt wurde. Dies muss die SSD auch bei Stromausfällen tun. Wir testen dies gründlich mit unseren eigenen Stromfehlertests und Hardware für jedes von uns ausgelieferte SSD-Modell. Dies gibt uns das Vertrauen, Hardware-Atomizitätsgarantien für den Software-Stack bereitzustellen. Die von uns für diesen Prozess verwendete Methodik zum Testen von Stromfehlern ist faszinierend und verdient in Zukunft einen eigenen Blogbeitrag.

Unsere Core-Block-Device-Architektur basiert vollständig auf dieser atomaren 4k-Schreibeigenschaft. Das Ergebnis ist, dass wir atomare Änderungen an Datenstrukturen vornehmen können, die viel größer als 4k sind, indem wir Listen und Bäume schreiben, die aus 4k-Blöcken aufgebaut sind und die Wurzeln atomar vertauschen, um große Datenmengen transaktional zu aktualisieren.

Die Hardware abstrahieren

Unsere Hardware-Abstraktion ist Linux – insbesondere verwenden wir aktuelles Ubuntu 16.04 LTS. Der QFSD (Qumulo File System Daemon), das Herzstück der Qumulo-Dateisystemsoftware, wird im Einzelbenutzermodus ausgeführt. QFSD erfordert keine Kernel-Modifikationen, um ausgeführt zu werden. Stattdessen hängt es von leicht verfügbaren Open-Source-Paketen ab, die über den Ubuntu apt-Paketmanager installiert werden können.

Wenn ich das den Leuten erzähle, antworten sie normalerweise: „Oh, das ist cool! Also installierst du ZFS und Samba oder so und packst es mit einer netten Benutzeroberfläche zusammen.“ Das ist nicht der Fall. QFSD ist wie ein eigenständiges Betriebssystem. Es hat eine eigene Blockgeräteschicht, komplett mit Aufzug und Cache, die sich über libaio in den Linux-Kernel einklinkt. Es verfügt über einen eigenen kooperativen Multitasking-Scheduler, da pthreads für unsere Leistungsanforderungen zu langsam waren. Daher sind die Abhängigkeiten, die wir unter Linux übernehmen, hauptsächlich Systemaufrufe, um mit dem Kernel zu kommunizieren. Der Kernel bietet eine Fülle von gut unterstützten Treibern und Tools, die uns die Interaktion mit der meisten Hardware ermöglichen. Manchmal müssen wir auch proprietäre Integrationstools von Anbietern installieren und mit diesen verbinden.

Qumulo unterhält eine Hardware-Abstraktionsschicht (HAL), die Hardware-Informationen von Linux an einem zentralen Ort zur Verwendung durch QFSD konsolidiert. Zu den vom HAL aggregierten Datenquellen gehören der Linux-Kernel, Kernelmodule für bestimmte Hardware und Anbieter, Befehlszeilenanwendungen für bestimmte Hardware und Anbieter, BIOS-Konfiguration und -Status, IPMI-Konfiguration und -Status und mehr. Basierend auf dieser Aggregation trifft die HAL hardwarebezogene Entscheidungen und leitet diese Informationen an QFSD weiter.

Die HAL verwendet die Seriennummer eines Knotens, um seine SKU zu bestimmen. Von dort wird eine Hardwaredefinition für diese SKU erstellt. Darin wird behauptet, dass vorhandene Hardwarekomponenten (CPUs, NICs, Laufwerke usw.) von Qumulo für die Verwendung in einem Knoten dieser SKU auf die Whitelist gesetzt werden. Es bestimmt, welche NICs für Front-End- und Back-End-Datenverkehr verwendet werden sollen. Es ordnet Low-Level-SSD- und HDD-Informationen den Arbeits- und Sicherungsplatten-Abstraktionen von QFSD zu. Es ordnet auch Laufwerke zu Einschüben für die Verwendung in der Benutzeroberfläche zu. Es kann CPU-Temperaturen abfragen, Geräte-Hotplug-Ereignisse erkennen, hardwarebasierte Verschlüsselung konfigurieren, LEDs an Gehäuse und Laufwerken steuern und vieles mehr.

Für Hardware-Flexibilität bietet der Qumulo Core Dateidatenplattform läuft auf gängigen HPE- und Fujitsu-Servern und wir liefern eine Vielzahl von von Qumulo hergestellten SKUs. Wir laufen auch auf großen öffentlichen Cloud-Infrastrukturen. Intern erhöhen wir unsere Testabdeckung, indem wir Qumulo-VMs auf VMware hosten. Wir testen auch, indem wir Sandkasten-„Simnodes“ als mehrere QFSD-Prozesse auf demselben Host ausführen, wobei Flatfiles auf dem Host als Blockgeräte und Loopback für das Netzwerk verwendet werden. Im Rahmen eines Qumulo-Hackathons hat einer unserer internen Entwickler das Produkt auf seinem Gaming-Tower zu Hause mit einem Haufen ausrangierter SSDs aus unserem Labor, die willkürlich an verschiedene SATA-Ports auf seinem Motherboard angeschlossen sind, zum Laufen gebracht (wir empfehlen diese Konfiguration nicht) ).

Qumulo ist ein Software-Shop, der mit Blick auf die Hardware-Flexibilität baut. Wir haben ein internes Hardware-Team. In Teil 2, Aufbau eines hardwareunabhängigen Enterprise-Dateispeichers, beschreibe ich die Rolle dieses Teams und wie es in die umfassendere Qumulo-Mission der Hardwareunabhängigkeit passt.

Dieser Beitrag wurde gegenüber dem Original, das 2019 veröffentlicht wurde, aktualisiert.

Erfahren Sie mehr

Kontaktinfo

Machen Sie eine Probefahrt. Demo von Qumulo in unseren interaktiven Hands-On Labs.

Abonnieren Sie den Qumulo-Blog für Kundengeschichten, technische Einblicke, Branchentrends und Produktneuigkeiten.

Verwandte Artikel

Nach oben scrollen