目前,我们正在维护一个具有单个 Windows Server 2008 R2 文件服务器的环境。我们想用 Server 2012 R2 计算机替换该服务器并切换到 DFS(DFS 服务器上的文件共享,无需复制)。
现在我遇到的问题是旧服务器可能被以下服务器引用:
- \\IP\共享名
- \\主机名\共享名
- \\FQND\共享名称
而且我不知道用户在他们的文档中有什么链接。当我现在使用 dfs 切换到新服务器时,旧主机名无论如何都会变得无效,我只能通过以下方式引用新共享:
- \\hostname\sharename (如果没有 DFS,则会出现错误,而且新主机当然会有新名称)或:
- \\域\命名空间\共享
长话短说:是否有可能切换到 DFS 但保持旧路径仍然有效(某种别名或类似的东西)?
答案1
好的,因为似乎这里没有人有答案,所以我要发布我的发现(如果有人有更好的方法,请随时发布;))
首先,我上面的陈述似乎是正确的:新的 DFS 命名空间无法与已通过其 UNC 路径访问的旧文件共享兼容。在某些情况下,有一种功能可能会有所帮助,称为“DFS 合并根”。但请注意,此解决方案仅适用于独立命名空间,不适用于 AD 集成(据我所知)。
对我来说,我选择了以下解决方案:
- 将所有文件复制到新服务器
- 使用相同的相对 UNC 路径在新服务器上创建共享(我的意思是:\hostname\“主机名后的所有内容保持不变”)
- Robocopy 第二次(仅差异)
- 从 AD-Domain 中删除旧服务器(对于后续步骤非常重要;))
- 关闭旧服务器
- 向 DNS 添加 CNAME 记录,从旧主机名指向新主机名
- 配置 DFS
- 从现在起,配置我控制下的所有应用程序以使用 DFS-Path
但请注意,您需要配置新服务器,以接受对此备用名称发起的请求(从这里获取:http://md3v.com/enable-windows-server-smb-2-0-alias-cname):
- 注册表编辑器: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters
- REG_DWORD 32 位:DisableStrictNameChecking,值:1
- 重新启动服务器。
- setspn -a host/"oldname" "新服务器的主机名"
- setspn -a host/"oldFQND" "新服务器的主机名"
我还没有在生产中推出它,但在实验室中它运行良好。在我看来,这是推出 DFS 的好方法,不会破坏您甚至不知道的所有文档模板或用户构建的脚本。
但是:下次我为新客户设置文件服务器时,我肯定会从一开始就使用 DFS;)
问候,克里斯蒂安