目标:
想要在两台机器上复制一个文件夹
情况:我们在一个域中拥有 2 台 Windows 2003 服务器(用于此目的),每台服务器都有 2 个网卡;每台服务器都有 2 个 IP,一个在 LAN 上,一个在 Internet 上,例如:
20.20.0.100, 192.168.0.100
20.20.0.101, 192.168.0.101
问题:当我使用 DFS 管理工具在 2 个服务器之间创建复制时,它会选择公共 IP 而不是 LAN IP;而且我们的 LAN 要快得多。我怎样才能告诉 DFS 复制使用 LAN IP?
答案1
我不知道 DFS-R 有任何配置参数可以控制它绑定到的接口,或者影响它如何选择合作伙伴接口来路由流量。快速搜索后,我找到了这个肮脏的黑客来自 Microsoft Storage Team 博客(尽管是 2006 年的),表明您应该在每个复制集成员上使用 HOSTS 文件来影响他们的名称解析,以便有效地“强制”他们使用私有 IP 地址。
这是一个丑陋的黑客行为,我通常强烈反对使用 HOSTS 文件。但在这种情况下,它可能是完成您要做的事情的唯一方法。
而不是对 HOSTS 文件进行破解(如果你这样做,你应该文档以便下一个从事该工作的人知道为什么这样做)我还有另一个想法你可以尝试。
尝试在每台 DFS-R 复制集计算机上为另一台主机设置主机路由。如果可行,则使路由持久化。我认为这种方法行不通的可能性大约为 80%,但值得一试:
会员1:route add 20.20.0.101 mask 255.255.255.255 192.168.0.100
成員2:route add 20.20.0.100 mask 255.255.255.255 192.168.0.101
这可能只是让流量在专用网络上流动。(如果我今天早上没有按照妻子(tm)的命令去做一些家务,我会亲自尝试一下并告诉你它是否有效......如果她今天早上发现我在服务器故障上写作,那就糟了......>微笑<)
答案2
这是一个假设,需要您进行一些调查,但这是我的想法:
DFS Root 和 Link 目标由主机名标识(尽管可以根据 IP 地址而不是主机名创建链接目标),这些主机名使用 DNS 解析,如果您将具有公共 IP 地址的 NIC 配置为不向 DNS 注册(无论如何,这实际上应该如何配置)那么只有 LAN 上 NIC 的内部 IP 地址才会解析为每个服务器的主机名,这应该强制复制使用 LAN NIC。
这似乎与 Evan 引用的解决方案非常接近,但不需要在每个主机上使用主机文件或静态路由。
答案3
我找到了实现这一目标的方法!
我正在使用 DFSR 同步两台服务器 S1(Windows Server 2008)和 S2(Windows Server 2008 R2)。
我这样做的方法是将 Active Directory 用户和计算机中每个服务器的 dNSHostName 属性更改为第二张网卡上的属性,例如 s1.system.int 和 s2.system.int。
看来 DFSR 在同步之前首先查看这个属性,瞧!
但是,我刚刚重新启动,必须再次设置,并且还不知道如何使其保留在 AD 中。
我还不知道还有什么使用这个 dNSHostName 属性,所以请注意!