Linux-Magazin_-_Januar_2019

(singke) #1
betreiben, sodass auch Excelero solche
Converged Setups ermöglicht.

Die Management-Schicht:
TOMA

Damit ist klar, wie der Zugriff auf NVMe-
Geräte funktioniert und wie ein Client mit
entfernten NVMe-Geräten kommuniziert.
Unklar ist bisher aber noch, wie die Ver-
waltung eines solchen NVMe-basierten
SAN erfolgt. Dafür liefert der Hersteller
eine eigene Komponente namens TOMA
mit, was als Abkürzung für „Topology
Manager“ steht. Der Topology Manager
läuft grundsätzlich auf jedem Host, der
ein Storage-Target ist, also über NVMe-
oder NVMf-Geräte verfügt. Er ist aber
keine Kernelspace-Komponente, sondern
läuft im Userland.
Den Topology Manager kann man sich
im Grunde als eine Art Clustermanager
vorstellen, der Excelero-spezifische Funk-
tionen anbietet. Zunächst geht der An-
bieter ja explizit mit dem Versprechen in
den Ring, dass Excelero implizite Repli-
kation beherrscht, und in der Tat können
Anwender beim Anlegen eines Storage
Volume auch Replikation dazukonfigurie-
ren. Das bedeutet aber nicht, dass alles
wie von Geisterhand funktioniert, sobald
ein Knoten ausfällt.
In diesem Fall wird der TOMA aktiv: Er
überwacht permanent den Status aller
Speichergeräte im Cluster, kümmert sich
um die Replikation von Daten, falls ein
Volume im Raid-1-Modus konfiguriert
ist, und biegt auch den Datenpfad aus
Client-Sicht um, wenn ein Target-Node
mit NVM-Geräten temporär den Geist

aufgegeben hat. Im Prinzip funktioniert
der TOMA damit ähnlich wie die MONs
in Ceph – in der Tat ordnet der Hersteller
TOMA ähnliche Aufgaben zu.
Echtes Raid-1 bekommt der Admin bei
Excelero übrigens natürlich nicht – die
Replikation basiert auf dem Prinzip von
Segmenten, die über Storage-Geräte im
Cluster verteilt werden. Der Topology
Manager stellt dann sicher, dass Clients
die Daten bekommen, die sie suchen.

Der Zugriff aus Open Stack
heraus

Wie eingangs bereits erwähnt, sind vom
beschriebenen Problem des fehlenden
lokalen Speichers vorrangig Anbieter
großer Plattformen betroffen. Da stellt
sich freilich die Frage, wie sich Exce-
lero in Open Stack einbinden lässt, denn
ohne brauchbare Open-Stack-Integration
(oder Integration in eine andere Cloud-
umgebung) nützt das tollste NVMe-SAN
ja nichts. Das ist aber auch den Excelero-
Entwicklern offensichtlich bekannt, also
hat der Hersteller für diesen Zweck schon
mal was vorbereitet.
Open Stack verwaltet persistenten Spei-
cher mit einer eigenen Komponente
namens Cinder. Sie fungiert als Mittler
zwischen den virtuellen Maschinen der
Plattform und zentralen Blockspeichern.
Den zerlegt Cinder in kleine Stückchen
und verbindet jene anschließend auf di-
versen Wegen unmittelbar mit dem Com-
pute-Knoten, auf dem die VM läuft. Dort
taucht sie dann als lokales Blockgerät
auf, das sich etwa per Hotplug-Funktion
von KVM direkt einbinden lässt.

nen, lohnt sich laut Exce-
lero die Verwendung ihres
RDDA-Protokolls. Denn dies
belaste die CPUs der jewei-
ligen Systeme deutlich we-
niger und sorge auf diesem
Wege auch für geringere
Latenzen, als es bei NVMf
möglich wäre.
Das ist gerade bei Conver-
ged Setups sinnvoll, bei
denen Storage und Com-
pute auf denselben Servern
laufen müssen – andere
Storage-Lösungen geneh-
migen sich hier nicht selten
einen ordentlichen Schluck
aus der CPU-Pulle und legen damit das
System erst mal lahm.
Wobei dazu noch angemerkt sei, dass Ex-
celero bei NVMf-fähigen Geräten NVMf
tatsächlich ebenfalls nutzt. In den RDDA-
Modulen von Excelero verbirgt sich je-
doch eine eigene NVMf-Umsetzung,
sodass das im Kernel vorhandene NVMf-
Framework gar nicht zum Zuge kommt
und brachliegt.


Der Client macht es dem


Server nach


Um den Traum vom lokalen Remote-
Storage zu verwirklichen, genügt es al-
lerdings nicht, wenn das Zielsystem mit
dem schnellen Speicher funktioniert.
Auch der Client muss RDMA können, es
muss also ein direkter, RDMA-basierter
Datenpfad zwischen Client und Server
zustande kommen.
Vom Design-Standpunkt aus betrachtet,
wundert es nicht, dass Excelero auf dem
Client so ähnlich implementiert ist wie
auch auf dem Storage: Der Excelero-
Client -Treiber nistet sich nämlich eben-
falls im Kernel ein und erledigt seine
Geschäfte im direkten Austausch mit
RDMA-fähigen NICs. Diese Technik nennt
der Hersteller Intelligent Client Block
Driver, weil der Client den Blockdevice-
Layer nutzt, um lokal ein Blockgerät
darzustellen, das in Wirklichkeit aber
im Hintergrund per RDMA und RDDA-
Protokoll auf ein entferntes NVMe-Gerät
zugreift.
Client- wie Server-Module lassen sich
auf Wunsch übrigens auch auf ein und
demselben System gleichzeitig laden und


77

http://www.linux-magazin.de

Sysadmin

Excelero

Abbildung 3: Excelero klinkt sich in die Kommunikation ein und stellt eine Art virtuelles Netzwerkkabel her.

© Excelero
Free download pdf