Das verteilte replizierte BlockgerĂ€t DRBD 9.2.0 wurde veröffentlicht. Es ermöglicht die Implementierung eines RAID-1-Arrays aus mehreren Festplatten verschiedener, ĂŒber ein Netzwerk verbundener Rechner (Netzwerkspiegelung). Das System ist als Kernelmodul implementiert. Linux und wird unter der GPLv2-Lizenz vertrieben. Der drbd-Zweig 9.2.0 kann als transparenter Ersatz fĂŒr drbd 9.xx verwendet werden und ist auf Protokoll-, Konfigurationsdatei- und Hilfsprogrammebene vollstĂ€ndig kompatibel.
DRBD ermöglicht es, die Laufwerke von Clusterknoten in einem einzigen fehlertoleranten Speicher zu kombinieren. FĂŒr Anwendungen und das System sieht ein solcher Speicher wie ein BlockgerĂ€t aus, das fĂŒr alle Systeme gleich ist. Bei Verwendung von DRBD werden alle lokalen FestplattenvorgĂ€nge an andere Knoten gesendet und mit den Festplatten anderer Maschinen synchronisiert. FĂ€llt ein Knoten aus, lĂ€uft der Speicher automatisch ĂŒber die verbleibenden Knoten weiter. Wenn die VerfĂŒgbarkeit des ausgefallenen Knotens wiederhergestellt ist, wird sein Status automatisch auf den neuesten Stand gebracht.
Der Cluster, der den Speicher bildet, kann mehrere Dutzend Knoten umfassen, die sich sowohl im lokalen Netzwerk als auch geografisch verteilt in verschiedenen Regionen befinden. Zentrale StandorteDie Synchronisierung in solchen verteilten Speichersystemen erfolgt mithilfe von Mesh-Netzwerktechnologien (die Daten werden kettenförmig von Knoten zu Knoten verteilt). Die Knotenreplikation kann synchron oder asynchron durchgefĂŒhrt werden. Beispielsweise können lokal gehostete Knoten die synchrone Replikation nutzen, wĂ€hrend fĂŒr die DatenĂŒbertragung an entfernte Standorte die asynchrone Replikation mit zusĂ€tzlicher Datenkomprimierung und -verschlĂŒsselung verwendet werden kann.

In der neuen Version:
- Reduzierte Latenz fĂŒr gespiegelte Schreibanfragen. Durch eine engere Integration in den Netzwerkstapel wurde die Anzahl der Kontextwechsel des Schedulers reduziert.
- Reduzierte Konflikte zwischen Anwendungs-E/A und Neusynchronisierungs-E/A durch Optimierung der Sperrung bei der Neusynchronisierung von Extents.
- Deutlich verbesserte Resynchronisierungsleistung auf Backends, die dynamische Speicherzuweisung (âThin Provisioningâ) verwenden. Die Leistung wurde durch die Kombination von Trimm-/VerwerfungsvorgĂ€ngen verbessert, die viel lĂ€nger dauern als normale SchreibvorgĂ€nge.
- UnterstĂŒtzung fĂŒr Netzwerk-Namespaces hinzugefĂŒgt, die eine Integration mit Kubernetes ermöglichte, um den Replikationsnetzwerkverkehr ĂŒber ein separates Netzwerk zu ĂŒbertragen, das mit Containern verbunden ist, statt ĂŒber das Netzwerk der Host-Umgebung.
- Das Modul transport_rdma wurde zur Verwendung als Infiniband/RoCE-Transport hinzugefĂŒgt. TCP/IP ĂŒber Ethernet. Die Verwendung dieses neuen Transportprotokolls reduziert die Latenz, verringert die CPU-Last und gewĂ€hrleistet den Datenabruf ohne unnötige KopiervorgĂ€nge (Zero-Copy).
Source: opennet.ru
