27.09.2021

Для ядра Linux предложена реализация SMB-сервера

Для включение в состав следующего выпуска ядра Linux предложена новая реализация файлового сервера, использующего протокол SMB3. Сервер оформлен в виде модуля ядра ksmbd и дополняет ранее доступный код клиента SMB. Отмечается, что в отличие от SMB-сервера, работающего в пространстве пользователя, реализация на уровне ядра более эффективна с точки зрения производительности, потребления памяти и интеграции с расширенными возможностями ядра. Основным разработчиком ksmbd является Стив Френч (Steve French) из компании Microsoft (ранее много лет работал в IBM), мэйнтейнер подсистем CIFS/SMB2/SMB3 в ядре Linux и давний участник команды разработчиков Samba, внёсший значительный вклад в реализацию поддержки протоколов SMB/CIFS в Samba и Linux.

Из возможностей ksmbd выделяется улучшенная поддержка технологии распределённого кэширования файлов (SMB leases) на локальных системах, которая позволяет существенно сократить трафик. В дальнейшем планируется добавление новых возможностей, таких как поддержка RDMA («smbdirect»), а также расширений протокола, связанных с усилением надёжности шифрования и верификацией по цифровым подписям. Отмечается, что подобные расширения гораздо проще реализовать в компактном и хорошо оптимизированном сервере, работающем на уровне ядра, чем в пакете Samba.

При этом ksmbd не претендует на роль полной замены пакета Samba, который не ограничивается возможностями файлового сервера и предоставляет инструментарий, охватывающей сервисы для обеспечения безопасности, LDAP и контроллер домена. Реализация файлового сервера в Samba является кросс-платформенной и рассчитанной на более широкие области применения, что затрудняет оптимизацию для некоторых Linux-окружений, таких как прошивки для устройств с ограниченными ресурсами.

Ksmbd рассматривается не как отдельный продукт, а скорее как высокопроизводительное и готовое для применения на встраиваемых устройствах расширение к Samba, при необходимости интегрируемое с инструментами и библиотеками Samba. Например, с разработчиками Samba уже согласован вопрос использования в ksmbd совместимых с smbd файлов конфигурации и расширенных атрибутов (xattrs), что упростит переход с smbd на ksmbd и наоборот.

Источник.