![存储空间直通:SMB 错误](https://linux22.com/image/743805/%E5%AD%98%E5%82%A8%E7%A9%BA%E9%97%B4%E7%9B%B4%E9%80%9A%EF%BC%9ASMB%20%E9%94%99%E8%AF%AF.png)
所以我们得到了这个4 节点存储空间直通 (S2D) 群集,已运行超过 1.5 年,没有出现任何重大问题。操作系统是Windows 服务器 2016。
- 所有配置文件的防火墙均已关闭
- 未安装防病毒软件,Windows Defender 已关闭
- Active Directory 委派未受影响
- 尚未报告网络基础设施发生变化
- RDMA 在 1 年前就被禁用了,因为我们发现 NIC 不完全支持它
两天前,我们注意到集群事件日志中有很多错误消息,并且集群上托管的所有 Hyper-V VM 的备份作业都失败了(通过 VEEAM 进行)。
调查很快发现SMB 连接存在许多问题。
4 位主持人中的任意一位:
- 可以 ping 其他资源在网络中
- 无法连接任何共享文件夹
- NTP 同步失败(
net time \\server
失败,也是如此w32tm /monitor
)
显然,文件共享见证也失败了,并且需要报告域服务的一些问题......
我们尝试分别重启节点,并且重启后,SMB 连接正常……几分钟/几小时后,问题再次出现。
对集群的影响,以及文件共享见证离线,是我们无法轻松执行实时迁移节点之间的虚拟机数量(随机成功)。不过,快速迁移非常顺利。由于无法进行 SMB 连接,我们无法将虚拟机移动到另一个集群或独立主机。
我们担心如果某个节点发生不可控的故障,集群将陷入混乱。即使虚拟机稳定,我们仍然无法执行备份(我们可以执行导出)。
你们中有人听说过 S2D 或 Microsoft 故障转移群集角色的问题吗?它也可能与群集本身无关...
如何才能找到该问题的根本原因?
以下是集群角色和事件日志中的日志示例中小企业客户:
从 Cluster 控制台:
群集网络名称资源“群集名称”在此节点上启用网络名称时遇到错误。失败的原因是:“无法获取登录令牌”。
错误代码为“1311”。
您可以使网络名称资源脱机并重新联机以重试。
ID 为 30803 的事件:
无法建立网络连接。
错误:{设备超时} %hs 上的指定 I/O 操作未在超时期限到期之前完成。
服务器名称:server.domain.com
服务器地址:xxxx:445 连接类型:Wsk
指导:这表明底层网络或传输(例如 TCP/IP)存在问题,而不是 SMB 存在问题。使用 iWARP RDMA 适配器时,防火墙阻止 TCP 端口 445 或 TCP 端口 5445 也会导致此问题。
另一个,ID 30804:
网络连接已断开。
服务器名称:\server.domain.com 服务器地址:xxxx:445 连接类型:Wsk
指导意见:这表示客户端与服务器的连接断开了。
使用 RDMA over Converged Ethernet (RoCE) 适配器时频繁意外断开连接可能表示网络配置错误。RoCE 要求为 RoCE 网络上的每个主机、交换机和路由器配置优先级流量控制 (PFC)。如果未正确配置 PFC,将导致数据包丢失、频繁断开连接和性能不佳。
答案1
我找到了解决方案,但那是一件愚蠢的事情。主机有多个 NIC 用于访问不同 VLAN 的网络。一些 NIC 映射到虚拟交换机,一些与操作系统共享('允许管理操作系统共享此网络适配器')。
我注意到 SMB 数据包经常使用错误的接口(DMZ),当然请求被拒绝。
我用来识别 SMB 流量使用的错误路由的 Powershell 命令:
Find-NetRoute -RemoteIPAddress x.x.x.x
(其中 xxxx 是您网络上的远程资源)
这显示了 DMZ 接口,而不是 LAN 接口。删除“允许管理操作系统共享此网络适配器' DMZ vSwitch 上的这个问题为我解决了。
我仍然不明白这个集群在这种配置下如何能运行 1.5 年之久。不过现在问题解决了,FSW 和所有其他操作都运行良好。
希望这能有所帮助 ;)