Blog

ksmbd vs. Samba

"ksmbd" ist ein neues Linux-Kernelmodul, das einen SMB-Server implementiert. Es zielt darauf ab, ein leistungsfähiger Dateiserver mit geringem Overhead und geringem Platzbedarf zu sein, der viele grundlegende Anwendungsfälle abdeckt. Von diesen ist der Betrieb auf kleineren Geräten mit begrenzten Ressourcen der offensichtlichste: OpenWRT, die Linux-Distribution für eingebettete Geräte, hat ksmbd bereits vor 18 Monaten übernommen, als ksmbd noch in der Entwicklung war.

ksmbd wird ab November 2021 als Teil der nächsten Linux-Kernel-Version 5.15 der Öffentlichkeit zugänglich gemacht. Er soll den bestehenden Samba-Fileserver "smbd" nicht ersetzen, sondern eher eine Erweiterung sein und sich in Zukunft in Samba integrieren. Der Samba-Fileserver smbd ist viel breiter angelegt und unterstützt verschiedene Anwendungsfälle und Funktionen, die ksmbd nicht bedient:

  • Ausführung als Mitglied einer Active-Directory-Domäne
  • Scale-out-Clustering
  • Optimierung für bestimmte Dateisysteme wie GlusterFS oder Ceph über dedizierte VFS-Module
  • Unterstützung von Shadow Copy

Auch wenn es sich bei ksmbd um einen SMB3-Server handelt, dem nur einige fortgeschrittene Funktionen wie Durable Handles, Directory Leases und Multi-Channel fehlen, kann er derzeit nur lokale Benutzer und Passwörter verwenden. Das schließt den Einsatz in Unternehmensumgebungen aus, in denen normalerweise Active Directory oder ähnliche ID-Ressourcen verwendet werden.

ksmbd verspricht Leistungsverbesserungen bei einer Vielzahl von Benchmarks: Die Diagramme auf dieser Seite zeigen eine Verdoppelung der Leistung bei einigen Tests. Es wird außerdem darauf verwiesen, dass ein In-Kernel-Server wahrscheinlich einfacher SMB Direct unterstützen kann, das RDMA für die Datenübertragung zwischen Systemen verwendet.

Natürlich sind diese Zahlen beeindruckend, aber gleichzeitig relativieren sich die jüngsten Verbesserungen der IO-Leistung von Samba: Durch die Nutzung der neuen "io_uring"-Linux-API ist Samba in der Lage, einen etwa 10-fachen Durchsatz im Vergleich zu ksmbd zu bieten.

Die Zeit wird zeigen, ob es besser ist, im Kernel-Space wie ksmbd oder im User-Space wie Samba zu operieren, um das letzte Quäntchen Leistung aus der verfügbaren Hardware herauszuquetschen.

Wie ausgereift ist ksmbd? Da es hauptsächlich von einem Samsung-Ingenieur entwickelt wurde, ist es wahrscheinlich, dass es heute in Samsung-Produkten verwendet wird. Bei der Novemberversion handelt es sich jedoch um eine .0-Version mit allen damit verbundenen Vorbehalten. Einige der Details, einschließlich verschiedener Sicherheitsprobleme, die erst recht spät gefunden und behoben wurden, sind in einem Artikel bei LWN beschrieben.

Alles in allem ist ksmbd eine beeindruckende Arbeit, und um die Zusammenarbeit zu erleichtern und zu fördern, wurde der Hauptentwickler von ksmbd, Namjae Jeon, eingeladen, dem internationalen Samba Team beizutreten. ksmbd fügt dem Mix bereits interessante Fähigkeiten hinzu, und das SerNet Samba-Team freut sich auf die Arbeit mit und an ksmbd!


SAMBA+ 4.13.13 ist soeben von SerNet veröffentlicht worden. Pakete für verschiedene SUSE und Red Hat Plattformen sowie für Debian GNU/Linux, Ubuntu und AIX sind ab sofort verfügbar.

Die Release Notes sind hier verfügbar:

Diese Version behebt außerdem ein Sicherheitsproblem im Zusammenhang mit der Kerberos-Authentifizierung. Wie üblich empfehlen wir, auf die neueste Bugfix-Version des Hauptversionszweigs zu aktualisieren, den Sie verwenden.

SAMBA+ Pakete und alle späteren Versionen sind als Software-Abonnement erhältlich. Sie können im SAMBA+ Shop erworben werden, detaillierte Informationen und Preise sind unter https://shop.samba.plus aufgeführt. Die Abonnements werden auf unserer Plattform OPOSSO (https://oposso.samba.plus) verwaltet. Hier können Nutzerinnen und Nutzer ihre Abonnements aktivieren und die Zugangsdaten verwalten. Die neuen SAMBA+-Pakete sind in den bestehenden Abonnements enthalten.


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.


Stärken und Vorteile von Samba

Samba ist eine quelloffene SMB-Implementierung und die Referenz für andere Projekte. Sie wird von einer internationalen Gemeinschaft (siehe auch Samba Team) entwickelt, die sich höchsten technologischen Standards und den Grundsätzen freier Software verpflichtet fühlt. Samba ist seit 1992 verfügbar und wird von vielen Storage-OEMs eingesetzt, oft schon seit Jahrzehnten.

Eine Vielzahl von Stärken und Vorteilen machen Samba zu dem, was es ist: ein äußerst zuverlässiger SMB-Stack, der sich ständig weiterentwickelt. Wir von SerNet, einer der wichtigsten Support- und Entwicklungsfirmen für Samba, möchten einige davon vorstellen. In Teil Eins werfen wir einen Blick auf einige der organisatorischen, technischen und konzeptionellen Fragen, die oft diskutiert werden. Im zweiten Teil werden technische Meilensteine und kommende Verbesserungen vorgestellt.

SAMBA ist quelloffen
Der Open-Source-Code von Samba steht im Internet und kann nicht einfach gelöscht werden. Es steht jedem frei, die Software zu nutzen, auszuführen und zu verändern, von der kleinsten bis zur größten Umgebung, sowohl in geschützten als auch in öffentlichen Konstellationen.

Samba ist die beste Option für Sicherheit und Konformität, denn jeder kann es selbst bis in den Kern hinein testen und verifizieren. Und aufgrund seiner langen Geschichte wurde der Samba-Code ausgiebig von einer großen Community, Benutzerinnen und Benutzern sowie den Unternehmen, die Samba in ihren Produkten einsetzen, getestet und geprüft.

Die meisten Unternehmen, einschließlich Startups und Blue Chips, können auf der Grundlage einer vernünftigen Rechtsberatung problemlos mit der GPLv3-Lizenz arbeiten. Die zahlreichen Video- und Audiobeiträge von Unternehmen, die Samba einsetzen und dies seit 2002 auf der jährlichen Samba-Konferenz sambaXP der SerNet präsentieren, sind in unserem Archiv oder unseren YouTube-Kanal verfügbar.

Eine "SAMBA, Inc." kann nicht verkauft werden – weil es sie nicht gibt.
Anbietende wollen natürlich sicherstellen, dass ihre Bemühungen und Investitionen so solide und sicher wie möglich sind. Mit Samba gibt es keinen Anbieter eines proprietären SMB-Stacks, der von Konkurrenten aufgekauft werden könnte, um das Produkt einzustellen – wie es etwa bei der Übernahme von Likewise durch EMC der Fall war.

Profitieren von Erfahrung
Ein großer Erfahrungsschatz und echte Expertise mit SMB sind wichtig. Viele Unternehmen und Anbietende wollen einen freien, ausgereiften, von Experten geprüften Open-Source-SMB-Stack integrieren. Es ist nicht nötig, das Rad immer wieder neu zu erfinden – mit Samba können Sie auf dem aufbauen, was bereits erreicht worden ist.

Erleben Sie die Vorteile einer lebendigen Community
Eine wichtige Komponente ist die Zusammenarbeit mit der dynamischen Samba-Community, die innovativ, agil und offen ist. Vielfalt ist ein Gewinn!

Umfassender und unabhängiger technischer Support
Technischer Support für Samba wird von einer Vielzahl von Unternehmen auf der ganzen Welt angeboten. Neben SerNet (Deutschland) mit Kunden in Europa, den USA und weltweit gibt es u.a. Catalyst aus Neuseeland mit Kunden in vielen Ländern der Welt sowie viele andere Support-Dienstleister. SerNet bietet seit mehr als 20 Jahren 24/7-Support und Entwicklungsdienstleistungen für Kunden von Startups bis hin zu Blue Chips und vielen Fortune 500-Unternehmen.

SAMBA hält Schritt mit Microsofts neuester SMB-Entwicklung
Microsoft und das Samba-Team arbeiten in einer langfristigen Kooperation zusammen. Microsoft akzeptiert offene Standards, engagiert sich zunehmend für Open-Source-Software und die Prinzipien freier Software. Zusammenschlüsse wie das Samba-Team sind vielleicht langsamer als Unternehmen – aber ihr Fortschritt ist für die Öffentlichkeit kostenlos, zuverlässig und unumkehrbar. Samba hat nicht das Ziel, Erster und Schnellster zu sein, sondern folgt der Idee, in Zusammenarbeit mit Microsoft "Fenster zu einer größeren Welt zu öffnen". Mitglieder des Samba-Teams halten regelmäßig Vorträge auf internationalen Konferenzen und nehmen mehrmals im Jahr an Interop-Veranstaltungen teil, die von Microsoft ausgerichtet werden.

SAMBA hat keine grafische Benutzeroberfläche – absichtlich!
Das Samba-Team stellt keine grafische Benutzeroberfläche zur Verfügung, weil man sie einfach nicht braucht. Nachdem Samba in wenigen Schritten eingerichtet ist, sind Nutzende in der Lage, Microsoft-kompatible SMB AD-Controller und Datei- und Druckserver mit einer Windows-basierten Verwaltungskonsole zu konfigurieren. Außerdem benötigen die Anbieter eine auf ihr Produkt zugeschnittene GUI.

Embeded SAMBA ist eine Option – wenn Sie es wollen
Samba kann für den eingebetteten Einsatz angepasst werden. Wenn Sie sich der Herausforderung annehmen und Samba für Ihren Anwendungsfall anpassen möchten, können Sie sofort mit der Arbeit beginnen – oder mit jemandem wie SerNet zusammenarbeiten, der Ihnen dabei hilft.

SAMBA legt Wert auf die eigene Geschichte
Oft hören wir: "Samba hat eine Menge Legacy-Code." Unsere Antwort: Natürlich hat es das! Samba ist der beste abwärtskompatible SMB-Stack auf dem Markt. Legacy-Unterstützung ist ein entscheidender Vorteil in einer Windows-Welt mit ihren sehr unterschiedlichen Versionen, die von Benutzerinnen und Benutzern sowie Unternehmen eingesetzt werden.

Tauchen Sie ein in die größte Vielfalt unterstützter Plattformen
Das SAMBA+ Angebot von SerNet ist vielfältig und vollständig – werfen Sie einfach einen Blick auf unsere Subskriptions-Plattform OPOSSO, um zu sehen, welche Plattformen unterstützt werden.

Haben Sie noch Fragen? Oder möchten Sie mit uns über den Einsatz von Samba / SAMBA+ sprechen?  Schreiben Sie uns eine E-Mail oder rufen Sie uns an!


SAMBA+ 4.14.8 ist soeben von SerNet veröffentlicht worden. Pakete für verschiedene SUSE und Red Hat Plattformen sowie für Debian GNU/Linux, Ubuntu und AIX sind ab sofort verfügbar.

Die Release Notes sind hier verfügbar: https://www.samba.org/samba/history/samba-4.14.8.html

SAMBA+ Pakete und alle späteren Versionen sind als Software-Abonnement erhältlich. Sie können im SAMBA+ Shop erworben werden, detaillierte Informationen und Preise sind unter https://shop.samba.plus aufgeführt. Die Abonnements werden auf unserer Plattform OPOSSO (https://oposso.samba.plus) verwaltet. Hier können Nutzerinnen und Nutzer ihre Abonnements aktivieren und die Zugangsdaten verwalten. Die neuen SAMBA+-Pakete sind in den bestehenden Abonnements enthalten.


Contact us
Kontakt
Deutsch English Français