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.