我有一个带有故障转移群集文件服务的迁移场景,我想添加指向群集服务客户端接入点名称的旧文件服务器名称的别名。
使用 CNAME 或 A-RR 与 DNS 并为集群创建客户端接入点很容易,但我的麻烦是集群管理器只允许单标签 CAP 名称,并且似乎只将主 DNS 后缀附加到名称。
因此,假设有一个名为 的弃用文件服务\\oldserver.olddomain.example.com
和一个名为 的集群 CAP oldserver
,集群 CAP 将响应的名称将是\\oldserver.clusterdomain.example.com
和\\oldserver
。我似乎无法让它响应\\oldserver.olddomain.example.com
,它在我尝试访问时抛出了 0x80004005(未指定的错误)。
数据包跟踪显示 SMB2 IoCtl 响应包含状态_访问_被拒绝在我的客户端建立树形连接并发送FSCTL _ 验证 _ 协商 _ 信息要求。
这“如何为群集 SMB 共享配置别名”博客文章建议使用“Set-ClusterParameter”设置别名。不幸的是,它不接受 FQDN,也出现错误“指定的网络名称格式无效”
我还已经为 CAP 的域计算机帐户注册了 SPN oldserver.olddomain.example.com
,oldserver
因此 Kerberos 应该不是问题。
编辑:添加DisableStrictNameChecking
到注册表不幸的是,集群节点也无济于事。
答案1
哎呀!。
我应该在测试之前重启我的客户端——这会有所帮助。事实证明,这根本与外部域名无关,只是一个临时的 SMB 签名验证问题。
Windows 8 1:服务器升级到 SMB 3.0 后,SMB 重新连接失败并显示“无效签名” 2:
- Windows 8 客户端使用 SMB 2.1 方言(服务器的最高方言)映射服务器上的共享。
使用 Powershell 命令的示例:New-SmbMapping -LocalPath Y: -RemotePath \FileServer\Share
服务器断开TCP连接,软件升级为支持SMB 3.0的版本。
客户端协商 SMB 3.0 方言(最新服务器的最高方言),并尝试重新连接到同一共享。
服务器无法验证客户端在 IOCTL FSCTL_VALIDATE_NEGOTIATE_INFO 中发送的签名。服务器向客户端返回错误 ACCESS_DENIED。
[...]
一种可能的解决方法是让 Windows 8 客户端断开连接并删除该连接/会话,然后才能重新建立新连接。这需要取消映射驱动器(并等待大约 20 秒,以便客户端清理与该连接条目相关的数据),然后重新映射。
客户端重新启动客户端也将获得相同的结果,但这不是必需的。
1:我有这个
2:我做过这个