【运维案例】smb协议(samba版本4.11.2)挂载文件存储,性能测试工具(vdbench)配置参数"openflags=o_direct",出现open file失败

产品:openEuler

版本:20.03-SP2

分类:内核 / 文件系统

来源:现网

[背景及现象描述]

smb协议(samba版本4.11.2)挂载文件存储,性能测试工具(vdbench)配置参数"openflags=o_direct",出现open file失败
vdbench工具下载地址:Vdbench Downloads
执行方式如图:

wpf-200m-sm2文件内容:

报错信息如下:

[原因分析]

原环境为一台服务器做smb服务器,三台机器挂载smb协议文件系统到本地,作为vdbench的node来进行测试

根据原环境,先使用三台openEuler-22.03-LTS系统机器,一台做smb服务器,两台作为node来进行测试,未复现问题

smb配置参考如何在 RHEL、CentOS 和 Fedora 中安装 Samba 服务器 - 墨天轮

配置后需要关闭firewalld或者增加samba规则,还需要执行setenforce 0 关闭selinux

vdbench配置参考【存储测试】vdbench存储性能测试工具 - Luxf0 - 博客园

配置好执行脚本时也需要关闭firewalld

对比22.03-LTS环境,在20.03-LTS-SP2环境中将samba和jdk版本设置为相同版本,未解决问题,排除samba和jdk原因

后续升级20.03-LTS-SP2环境内核到5.10.0与22.03-LTS环境保持一致,未复现vdbench测试报错问题
再搜索"openflags=o_direct后找到一篇案例 https://support.huawei.com/enterprise/zh/doc/EDOC1000181438/18fb133a,怀疑可能和PAGESIZE有关
对比后发现PAGESIZE不同,4.19.90的aarch64架构为64KB,5.10.0的内核为4KB,设置内核PAGESIZE为4KB,重编内核,同样未复现vdbench测试报错问题
确认为内核PAGESIZE设置为64KB导致,修改为4KB即可

[解决方法]

是由于内核的PAGESIZE为64KB导致,设置PAGESIZE为4KB后重编内核并安装,vdbench测试工具运行正常

1 个赞