Blog

ksmbd vs. Samba

"ksmbd" est un nouveau module du noyau Linux qui implémente un serveur SMB. Il vise à être un serveur de fichiers performant, à faible encombrement, couvrant de nombreux cas d'utilisation de base, le fonctionnement sur des appareils plus petits avec des ressources limitées étant le plus apparent : OpenWRT, la distribution Linux pour les appareils embarqués, a adopté ksmbd il y a déjà 18 mois, alors que ksmbd était encore en cours de développement.

ksmbd a frappé le public en novembre 2021 dans le cadre de la prochaine version 5.15 du noyau Linux. Il n'est pas destiné à remplacer le serveur de fichiers Samba existant "smbd", mais plutôt à être une extension et s'intégrera à Samba à l'avenir. Le serveur de fichiers de Samba "smbd" a une portée beaucoup plus large et prend en charge divers cas d'utilisation et fonctionnalités que ksmbd ne prend pas en charge:

  • Exécution en tant que membre du domaine Active Directory
  • Scale-out clustering
  • Optimiser pour des systèmes de fichiers spécifiques comme GlusterFS ou Ceph via des modules VFS dédiés
  • Prise en charge de Shadow Copy

Bien qu'il s'agisse d'un serveur SMB3 majoritairement complet en termes de fonctionnalités, ne manquant que certaines fonctionnalités avancées comme les Handles durables, les baux de répertoire et le multicanal, ksmbd ne peut actuellement faire usage que des utilisateurs et des mots de passe locaux, ce qui exclut toute utilisation dans les environnements d'entreprise où l'on utilise généralement Active Directory ou des sources d'identité similaires.

ksmbd revendique des améliorations de performances sur un large éventail de benchmarks: les graphiques de cette page montrent un doublement des performances sur certains tests. Il y avait aussi l'idée qu'un serveur in-kernel est probablement un endroit plus facile pour prendre en charge SMB Direct, qui utilise RDMA pour transférer des données entre les systèmes.

Certes, ces chiffres sont impressionnants, mais en même temps, les récentes améliorations des performances IO de Samba remettent cela en perspective : en exploitant la nouvelle API Linux "io_uring", Samba est capable de fournir un débit environ 10 fois supérieur à celui de ksmbd.

Le temps nous dira s'il est préférable de résider dans l'espace noyau comme ksmbd ou dans l'espace utilisateur comme Samba afin d'extraire le dernier morceau de performance du matériel disponible.

Quelle est la maturité de ksmbd? Étant donné qu'il a été principalement développé par un ingénieur de Samsung, il est probable qu'il soit utilisé dans les produits Samsung aujourd'hui. Cependant, la version de novembre est une version .0 avec toutes les mises en garde qui l'accompagnent. Certains des détails, y compris divers problèmes de sécurité qui ont été trouvés et corrigés assez tardivement, sont décrits dans un article sur LWN.

Tout compte fait, ksmbd est un travail impressionnant et afin de faciliter et d'encourager la collaboration, le principal développeur de ksmbd, Namjae Jeon, a été invité à rejoindre l'équipe l'équipe internationale Samba. ksmbd ajoute déjà des capacités intéressantes au mélange et l'équipe SerNet de Samba est impatiente de travailler avec et sur ksmbd!


Les versions 4.13.13 de SAMBA+ viennent d'être publiées par SerNet. Les paquets pour les différentes plateformes SUSE et Red Hat ainsi que pour Debian GNU/Linux, Ubuntu et AIX sont disponibles dès maintenant.

Les notes de mise à jour sont disponibles ici:

Les paquets SAMBA+ et toutes les versions ultérieures sont disponibles sous forme d'abonnement logiciel. Ils peuvent être achetés sur la boutique SAMBA+, les informations détaillées et les prix sont indiqués sur https://shop.samba.plus. Les abonnements sont gérés sur notre plateforme OPOSSO (https://oposso.samba.plus). Les utilisateurs peuvent y activer leurs abonnements et gérer les identifiants d'accès. Les nouveaux paquets SAMBA+ sont inclus dans les abonnements existants.


Jalons techniques et développements futurs

Cet article en deux parties présente les forces et les avantages qui rendent Samba unique. Alors que La première partie a jeté un coup d'œil à certaines des questions organisationnelles, techniques et conceptuelles souvent abordées, cette deuxième partie aborde les jalons techniques et les avancées émergentes. Nous soulignons les contributions importantes à Samba sur lesquelles les membres de l'équipe SerNet Samba, Volker Lendecke, Stefan Metzmacher et Ralph Böhme, travaillent encore.

Robuste et évolutive - support multicanal pour une performance optimale
Samba est parfois critiquée pour ses "faibles connexions simultanées / faibles accès simultanés". En raison du modèle multiprocessus, qui est plus robuste qu'un modèle de serveur monoprocessus multithread, Samba a des besoins en RAM plus élevés que d'autres solutions éventuelles. Ceci est plus pertinent pour le marché des routeurs SOHO embarqués que pour les solutions de stockage d'entreprise, et pour aider les premiers, la prochaine version de Samba sera livrée avec un serveur RPC réécrit par Volker Lendecke qui se traduira par des besoins en mémoire beaucoup plus faibles.

La prise en charge du multicanal SMB3 dans Samba existe depuis la version 4.15, publiée en septembre 2021, et l'équipe SerNet Samba peut fournir des rétro portages stables pour les versions 4.12, 4.13 et 4.14, car nous les intégrons (et les utilisons) déjà dans SAMBA+ 4.14 et dans les paquets personnalisés.

Amélioration des performances IO
Les performances d'E/S de Samba sont limitées par les fréquentes copies de tampons de données dans le noyau pour répondre aux demandes d'E/S de l'espace utilisateur Samba, ce qui entraîne une utilisation élevée du CPU et une limite de performance liée au CPU. Il s'agit d'une limitation architecturale profondément ancrée dans la conception d'UNIX. Il y a deux ans, une API moderne appelée "io_uring" a été ajoutée à Linux, qui permet aux applications de l'espace utilisateur telles que Samba d'obtenir une IO zéro-copie-zéro-appel-système pour l'ensemble du chemin d'IO du disque au réseau.

Récemment, des recherches ont été financées pour améliorer les performances de Samba et un prototype de Samba a été développé en utilisant "io_uring". Nous avons pu améliorer considérablement les performances d'E/S en passant de 4 Go/s sur un matériel donné à 10 Go/s, soit la vitesse de ligne de l'adaptateur 100 Gbps, avec une charge CPU considérablement réduite de seulement 25 %. D'autres tests avec l'interface de bouclage ont permis d'atteindre un débit maximal de 30 Go/s, le goulot d'étranglement étant les clients utilisés dans le test (smbclient) et non le serveur.

Pour plus de détails, voir la discussion sur la liste Samba ou la présentation de la DDC 2021 "Samba Multi-Channel/io_uring Status Update" par Stefan Metzmacher.

Il suffirait de quelques semaines de travail pour intégrer le prototype dans Samba mainline. Les entreprises intéressées par cette fonctionnalité doivent nous contacter pour éventuellement rejoindre la liste des entreprises soutenant le développement de Samba!

Samba prend en charge les fonctionnalités d'entreprise
En ce qui concerne la mise en grappe, Samba vous offre une grappe SMB "prête pour l'entreprise". Il prend en charge la mise en grappe active/active à grande échelle et est utilisé depuis de nombreuses années avec les systèmes de fichiers d'entreprise en grappe leaders du secteur, tels que GPFS. Samba prévoit de prendre en charge le "SMB Transparent Failover" et Ralph Böhme a donné une conférence à la SNIA SDC 2018 sur Persistent Handles in Samba. Là encore, les entreprises intéressées par cette fonctionnalité doivent nous contacter pour devenir un sponsor du développement de Samba!

ksmbd
À partir du noyau Linux 5.15, Linux fournira un serveur SMB intégré au noyau appelé "ksmbd". ksmbd et Samba prévoient de collaborer étroitement à l'avenir. Le principal développeur de ksmbd a récemment rejoint l'équipe internationale de Samba. Les deux projets travailleront main dans la main pour combiner le moteur SMB du noyau de ksmbd avec les démons et outils de l'espace utilisateur de Samba. Pour une brève introduction, consultez la présentation de sambaXP 2019

Vous avez encore des questions ? Ou bien vous souhaitez nous parler de l'utilisation de Samba / SAMBA+? Alors n'hésitez pas à nous contacter.


Les versions 4.15.1 et 4.14.9 de SAMBA+ viennent d'être publiées par SerNet. Les paquets pour les différentes plateformes SUSE et Red Hat ainsi que pour Debian GNU/Linux, Ubuntu et AIX sont disponibles dès maintenant.

Les notes de mise à jour sont disponibles ici:

Les paquets SAMBA+ et toutes les versions ultérieures sont disponibles sous forme d'abonnement logiciel. Ils peuvent être achetés sur la boutique SAMBA+, les informations détaillées et les prix sont indiqués sur https://shop.samba.plus. Les abonnements sont gérés sur notre plateforme OPOSSO (https://oposso.samba.plus). Les utilisateurs peuvent y activer leurs abonnements et gérer les identifiants d'accès. Les nouveaux paquets SAMBA+ sont inclus dans les abonnements existants.


 Forces et avantages de Samba

Samba est une implémentation SMB open source et la référence pour d'autres projets. Il est développé par une communauté internationale (voir aussi Samba Team) attachée aux plus hauts standards technologiques et aux principes du logiciel libre. Samba est disponible depuis 1992 et est utilisé par de nombreux équipementiers de stockage, souvent depuis des décennies.

Une variété de points forts et d'avantages font de Samba ce qu'il est : une pile PME très fiable et en constante évolution. Nous, à SerNet, l'une des principales sociétés de support et de développement pour Samba, souhaitons vous en présenter quelques-unes. Dans la première partie, nous examinons certaines des questions organisationnelles, techniques et conceptuelles qui sont souvent abordées. Dans la deuxième partie, les jalons techniques et les améliorations à venir sont présentés.

SAMBA est une source ouverte
Le code source ouvert de Samba se trouve sur Internet et ne peut être facilement supprimé. Tout le monde est libre d'utiliser, d'exécuter et de modifier le logiciel, des environnements les plus petits aux plus grands, dans des constellations protégées et publiques.

Samba est la meilleure option pour la sécurité et la conformité car tout le monde peut le tester et le vérifier lui-même, jusqu'au cœur. Et en raison de sa longue histoire, le code Samba a été largement testé et vérifié par une large communauté, les utilisateurs et les entreprises qui utilisent Samba dans leurs produits.

Samba est la meilleure option pour la sécurité et la conformité.

La plupart des entreprises, y compris les startups et les blue chips, peuvent facilement travailler avec une licence GPLv3 sur la base d'un conseil juridique raisonnable. Les nombreuses contributions vidéo et audio des entreprises utilisant Samba et le présentant à la conférence annuelle de SerNet sambaXP depuis 2002 sont disponibles dans notre archive ou notre chaîne YouTube.

Une "SAMBA, Inc." ne peut être vendue – parce qu'elle n'existe pas.
Les fournisseurs veulent naturellement s'assurer que leurs efforts et leurs investissements sont aussi solides et sûrs que possible. Avec Samba, il n'y a pas de vendeur d'une pile SMB propriétaire qui pourrait être racheté par des concurrents pour abandonner le produit - comme ce fut le cas avec l'acquisition de Likewise par EMC.

Profiter de l'expérience
Il est important d'avoir une grande expérience et une réelle expertise des PME. De nombreuses entreprises et fournisseurs souhaitent intégrer une pile SMB open source gratuite, mature et évaluée par les pairs. Il n'est pas nécessaire de continuer à réinventer la roue – avec Samba, vous pouvez vous appuyer sur ce qui a déjà été réalisé.

Expérimentez les avantages d'une communauté dynamique
Un élément clé est la collaboration avec la dynamique communauté Samba, qui est innovante, agile et ouverte. La diversité est un atout!

Un soutien technique complet et indépendant
Le support technique pour Samba est offert par une variété de sociétés à travers le monde. Outre SerNet (Allemagne), qui a des clients en Europe, aux États-Unis et dans le monde entier, il y a Catalyst (Nouvelle-Zélande), qui a des clients dans de nombreux pays du monde, ainsi que de nombreux autres fournisseurs de services d'assistance. Depuis plus de 20 ans, SerNet fournit des services d'assistance et de développement 24 heures sur 24 et 7 jours sur 7 à des clients allant des startups aux blue chips et à de nombreuses entreprises du classement Fortune 500.

SAMBA suit le rythme des derniers développements de Microsoft pour les PME
Microsoft et l'équipe Samba travaillent ensemble dans le cadre d'une collaboration à long terme. Microsoft accepte les normes ouvertes et s'engage de plus en plus en faveur des logiciels à source ouverte et des principes du logiciel libre. Les collaborations comme celle de l'équipe Samba sont peut-être plus lentes que les entreprises, mais leurs progrès sont gratuits pour le public, fiables et irréversibles. Samba ne vise pas à être le premier et le plus rapide, mais suit l'idée d' "ouvrir des fenêtres sur un monde plus vaste" en coopération avec Microsoft. Les membres de l'équipe Samba interviennent régulièrement lors de conférences internationales et participent aux événements Interop organisés par Microsoft plusieurs fois par an.

SAMBA n'a pas d'interface utilisateur graphique – à dessein!
L'équipe Samba ne fournit pas d'interface utilisateur graphique car vous n'en avez tout simplement pas besoin. Après avoir installé Samba en quelques étapes, les utilisateurs sont en mesure de configurer les contrôleurs AD SMB compatibles avec Microsoft et les serveurs de fichiers et d'impression avec une console de gestion basée sur Windows. Les vendeurs auront également besoin d'une interface utilisateur graphique adaptée à leur produit.

Samba intégré est une option – si vous le voulez
Samba peut être personnalisé pour une utilisation embarquée. Si vous voulez relever le défi et personnaliser Samba pour votre cas d'utilisation, vous pouvez commencer tout de suite - ou travailler avec quelqu'un comme SerNet pour vous aider à le faire.

SAMBA valorise sa propre histoire
Nous entendons souvent dire: "Samba a beaucoup de code hérité". Notre réponse: bien sûr que oui! Samba est la meilleure pile SMB rétrocompatible du marché. Le support hérité est un avantage crucial dans un monde Windows avec ses versions très différentes utilisées par les utilisateurs et les entreprises.

Plongez-vous dans la plus grande variété de plateformes prises en charge
L'offre SAMBA+ de SerNet est diverse et complète – il suffit de jeter un œil à notre plateforme d'abonnement OPOSSO pour voir quelles plateformes sont prises en charge.

Vous avez encore des questions? Ou bien vous souhaitez nous parler de l'utilisation de Samba / SAMBA+?  Envoyez-nous un courriel ou appelez-nous!


Contact us
Contact
Deutsch English Français