Win11专业版和飞牛NAS都用的Intel E810-CQDA2 100G网卡,采用直连,win11端命令查看SMB Direct已经启用,但是实际文件读写并没有走SMB Direct,飞牛端命令查看SMB Direct无法启用,ai给的回答是:
、
Debian官方源里默认打包的Samba 4.17.12版本,在编译时主动关闭了 WITH_RDMA编译选项,这是Debian发行版为了兼顾通用硬件兼容性、减少不必要依赖的常规操作,并非版本本身不支持RDMA特性。你可以通过以下步骤重新编译开启RDMA支持,全程适配Debian 12环境:
第一步:安装编译依赖
先把编译Samba所需的基础组件和RDMA相关依赖全部安装到位:
sudo apt update
sudo apt install build-essential python3-dev perl libtasn1-dev libunistring-dev zlib1g-dev libldap2-dev m4 flex bison libgmp-dev nettle-dev gnutls-dev libibverbs-dev rdma-core
第二步:下载对应版本的Samba源码
直接拉取和你当前版本完全一致的Samba 4.17.12官方源码包,避免版本差异带来的兼容性问题:
wget https://download.samba.org/pub/samba/stable/samba-4.17.12.tar.gz
tar zxf samba-4.17.12.tar.gz
cd samba-4.17.12
第三步:带RDMA参数执行编译配置
执行configure脚本,显式开启RDMA支持,同时关闭你不需要的AD域控等冗余功能,加快编译速度:
./configure --disable-python --without-ad-dc --enable-rdma
配置完成后,检查输出日志,确认最后打印的特性列表中明确显示 WITH_RDMA: YES,说明RDMA特性已经被纳入编译范围。
第四步:编译并替换原有Samba
执行编译和安装操作,之后替换系统原有Samba二进制文件,保留原有配置文件不被覆盖:
make -j$(nproc)
sudo make install
# 把新编译的smbd路径同步到系统默认路径
sudo ln -sf /usr/local/samba/sbin/smbd /usr/sbin/smbd
第五步:验证并启用RDMA
执行 smbd -b再次查看编译特性,此时就能看到 WITH_RDMA字段正常出现,之后在 smb.conf全局段写入 smbd rdma listen = yes,重启smbd服务,Samba就可以正常监听RDMA连接了。
没敢操作,即使操作成功了,我怕以后升级也会被恢复,所以想问一下,有谁成功用上了SMB Direct吗?
飞牛官方什么时候能加入此功能啊?