Technische Meilensteine und künftige Entwicklungen (Teil II)

Technische Meilensteine und künftige Entwicklungen

Dieser zweiteilige Artikel stellt die Stärken und Vorteile vor, die Samba einzigartig machen. Während Teil eins einen Blick auf einige der oft diskutierten organisatorischen, technischen und konzeptionellen Fragen geworfen hat, werden in diesem zweiten Teil technische Meilensteine und sich abzeichnende Fortschritte erörtert. Wir heben dabei wichtige Samba-Beiträge hervor werden, an denen die SerNet-Samba-Team-Mitglieder Volker Lendecke, Stefan Metzmacher und Ralph Böhme noch arbeiten.

Robust und skalierbar - Multichannel Support für optimale Performance
Manchmal wird Samba für "geringe gleichzeitige Verbindungen / geringe gleichzeitige Zugriffe" kritisiert. Aufgrund des Multiprozess-Modells, das robuster ist als ein Single-Prozess-Multithreading-Server-Modell, hat Samba höhere RAM-Anforderungen als möglicherweise andere Lösungen. Dies ist für den eingebetteten SOHO-Router-Markt relevanter als für Enterprise-Storage-Lösungen, und um ersteren zu helfen, wird die nächste Samba-Version mit einem von Volker Lendecke neu geschriebenen RPC-Server ausgeliefert, der zu einem wesentlich geringeren Speicherbedarf führt.

SMB3 Multichannel-Unterstützung in Samba gibt es seit der im September 2021 erschienenen Version 4.15. Das SerNet-Samba-Team kann stabile Backports für 4.12, 4.13 und 4.14 zur Verfügung stellen, da wir sie bereits in SAMBA+ 4.14 und in benutzerdefinierten Paketen integrieren (und verwenden).

Verbesserung der IO-Leistung
Die IO-Leistung von Samba wird durch die häufigen Datenpufferkopien im Kernel begrenzt, um die IO-Anforderungen des Samba-Benutzerraums zu bedienen, was zu einer hohen CPU-Auslastung und einer CPU-gebundenen Leistungsgrenze führt. Dies ist eine architektonische Einschränkung, die tief im UNIX-Design verwurzelt ist. Vor zwei Jahren wurde eine moderne Linux-API namens "io_uring" zu Linux hinzugefügt, die es User-Space-Anwendungen wie Samba ermöglicht, Zero-Copy-Zero-Syscall-IO für den gesamten IO-Pfad von der Festplatte bis zum Netzwerk zu erreichen.

Kürzlich wurden Forschungsarbeiten zur Verbesserung der Samba-Leistung gefördert, und es wurde ein Samba-Prototyp entwickelt, der "io_uring" nutzt. Wir waren in der Lage, die IO-Leistung drastisch zu verbessern, und zwar von 4 GByte/s auf einer gegebenen Hardware auf 10 GByte/s, der Leitungsgeschwindigkeit des 100-GBit/s-Adapters, bei einer deutlich reduzierten CPU-Last von nur 25 %. Bei weiteren Tests mit dem Loopback-Interface wurde ein maximaler Durchsatz von 30 GB/s erreicht, wobei der Engpass bei den im Test verwendeten Clients (smbclient) und nicht beim Server lag.

Für weitere Details siehe die Diskussion auf der Samba-Liste oder die SDC 2021 Präsentation "Samba Multi-Channel/io_uring Status Update" von Stefan Metzmacher.

Es würde nur ein paar Wochen Arbeit erfordern, den Prototyp in das Mainline-Samba zu integrieren. Firmen, die an dieser Funktion interessiert sind, sollten Kontakt mit uns aufnehmen, um sich eventuell in die Liste der Firmen einzureihen, die die Samba-Entwicklung unterstützen!

Samba unterstützt Enterprise-Funktionen
Wenn es um Clustering geht, erhalten Sie von Samba einen "unternehmensfähigen" SMB-Cluster. Es unterstützt Scale-out Active/Active Clustering und wird seit vielen Jahren zusammen mit branchenführenden geclusterten Enterprise-Dateisystemen wie GPFS eingesetzt. Samba plant die Unterstützung von "SMB Transparent Failover" und Ralph Böhme hielt auf der SNIA SDC 2018 einen Vortrag über Persistente Handles in Samba. Auch hier gilt: Unternehmen, die an dieser Funktion interessiert sind, sollten Kontakt mit uns aufnehmen, um Sponsor der Samba-Entwicklung zu werden!

ksmbd
Ab Linux-Kernel 5.15 wird Linux einen In-Kernel-SMB-Server namens "ksmbd" ausliefern. ksmbd und Samba planen, in Zukunft eng zusammenzuarbeiten. Der Hauptentwickler von ksmbd ist seit kurzem auch Mitglied des internationalen Samba-Teams. Beide Projekte werden Hand in Hand arbeiten, um die In-Kernel-SMB-Engine von ksmbd mit den User-Space-Daemons und -Tools von Samba zu kombinieren. Eine kurze Einführung finden Sie in der Präsentation von der sambaXP 2019

Haben Sie noch Fragen? Oder möchten Sie mit uns über den Einsatz von Samba / SAMBA+ sprechen? Dann zögern Sie nicht, Kontakt mit uns aufzunehmen.

Contact us
Kontakt
Deutsch English Français