O Samba é a re-implementação de código aberto do protocolo de rede SMB para melhor interoperabilidade de arquivos e servidores de impressão com as plataformas Microsoft Windows está fora com uma nova versão. Nos quase seis meses desde a introdução do Samba 4.16, o Samba 4.17 construiu melhorias e muitas correções de desempenho e outros aprimoramentos para este projeto de código aberto amplamente utilizado.
Em primeiro lugar, o Samba 4.17 melhora o desempenho do servidor para cargas de trabalho pesadas de meta-dados. Devido ao endurecimento da segurança contra as condições da corrida de symlink, houve regressões de desempenho recentemente no Samba.
Com o Samba 4.17, a quantidade de chamadas do sistema para validar nomes de diretórios foi reduzida para duas por componente. Com o Linux 5.6+ o servidor Samba faz uso da chamada do sistema openat2 com a opção RESOLVE_NO_SYMLINKS.
Samba 4.17 lançado com alguns aprimoramentos de performance
Também na frente de performance, o Samba 4.17 aborda operações baseadas em caminhos que causaram problemas estrondosos de rebanho e agora estão resolvidos para evitar picos maciços de latência.
O Samba 4.17 adiciona suporte para a construção do Samba sem o antigo suporte ao protocolo SMB1, suporte à Delegação Restrita Baseada em Recursos (RBCD) quando emparelhado com o MIT Kerberos 1.20+, suporte personalizado da porta de escuta DNS, suporte de saída JSON para smbstatus e grupo de segurança dos Usuários Protegidos.
O Samba 4.17 também tem várias correções de bugs e outras melhorias.
As melhorias de segurança nos lançamentos recentes (4.13, 4.14, 4.15, 4.16), principalmente como proteção contra corridas de symlink, causou regressões de desempenho para cargas de trabalho pesadas de meta dados.
Com 4.17 a situação melhorou muito novamente:
- Os nomes dos caminhos dados por um cliente são devidados em dirname e nome base.
- A quantidade de chamadas para validar dirnames é reduzida a 2 chamadas
(aberto, feche) por componente. Em modernos kernels Linux (>= 5,6) smbd
faz uso da chamada openat2() com RESOLVE_NO_SYMLINKS, a fim de usar apenas 2 chamadas (openat2, close) para todo o dirname. - Operações baseadas em caminhos em disputa usadas para gerar um monte de eventos não solicitados causando problemas, que levam a intensas latências para alguns clientes. Esses eventos são agora evitados para fornecer latências estáveis e rendimento muito maior de operações de abertura/fechamento.
Downloads e mais detalhes sobre Samba 4.17 via Samba.org.