收起左侧

有用上SMB Direct的大神吗

0
回复
25
查看
[ 复制链接 ]

12

主题

80

回帖

0

牛值

初出茅庐

悬赏1飞牛币未解决

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相关依赖全部安装到位:

bash
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官方源码包,避免版本差异带来的兼容性问题:

bash
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域控等冗余功能,加快编译速度:

bash
./configure --disable-python --without-ad-dc --enable-rdma

配置完成后,检查输出日志,确认最后打印的特性列表中明确显示 WITH_RDMA: YES,说明RDMA特性已经被纳入编译范围。

第四步:编译并替换原有Samba

执行编译和安装操作,之后替换系统原有Samba二进制文件,保留原有配置文件不被覆盖:

bash
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吗?

飞牛官方什么时候能加入此功能啊?

收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则