我们正在运营两个相当繁忙的地点,其中有 40 多个客户端数据在 Windows 2003 服务器上共享,并且需要将其复制(尽可能接近即时)到每个地点。
我们遇到了间歇性复制失败,并尝试了各种修复,但基本上都是盲目的,因为我们在事件日志中得到的错误并不是特别有用。
因此,最好的情况应该是一直有效的情况,而当它不这样做时,其原因是透明的。
欢迎任何建议。
谢谢你。
更新:我们现在实际上正在使用 FRS 进行复制,但问题仍然存在。
Windows DFS 推荐如何适用于远离办公室的笔记本电脑?
[编辑 2014-11-26] 我已经了解站点是如何由子网等定义的。但我想知道的是,根本不适合任何站点的用户会发生什么?例如,家庭用户通过 VPN。由于 VPN 系统的工作方式,VPN 不提供任何站点内的 IP,因此这无助于定义站点。它是否将所有 DFS 命名空间目标视为完全相同,因为此时客户端位于零个站点?有什么方法可以鼓励 DFSN 将一个站点中的 DFSN 目标视为基于邻近性或用户常用站点的首选?(我知道怎么说“当一切都平等时,将 X 服务器视为首选”,但这不是我在这里要求的。)
本文的其余部分只是您感兴趣或娱乐的背景。
我的印象是笔记本电脑会保留它所在的最后一个站点或它连接到的最后一个 DC 的站点。然后该站点将出于推荐排名的目的确定该笔记本电脑当前所在的站点。
我问的原因是因为我们让一些笔记本电脑用户得到了一些他们从未真正去过的办公室的奇怪推荐。这些笔记本电脑与它们应该连接到的其他站点中的服务器连接良好。在这种情况下,奇怪的推荐目标是一个不可靠的服务器。如果它基于某种速度或可靠性指标,那就完全错了。问题只是第一行,本文的其余部分只是背景。
所涉及的硬件/软件是:适用于所有事物的 Windows 2008 R2 服务器;Windows 7 64 位和 Windows XP 32 位笔记本电脑。
这是一个关于 DFS 命名空间的问题,而不是关于 DFS 复制的问题。
DFS 的工作原理:DFS 流程和交互说明如下:
启用最便宜的目标选择后,DFS 将按以下顺序将目标放置在引用中:
与客户端位于同一站点的目标以随机顺序列在推荐的顶部。
客户站点之外的目标按最低成本到最高成本的顺序列出。具有相同成本的推荐被分组在一起,并且在每个组中,目标以随机顺序列出。
如果笔记本电脑位于客户办公室、酒店、家庭等,它是否仍被视为在站点内?如果是这样,我假设该站点将用于上述第一组目标。如果它不在站点内,我认为它会完全跳过第一组并随机分配目标。但我们看到的行为是,它更像是后者而不是前者。
编辑:(太平洋时间 5 月 21 日凌晨 3 点)
似乎将“覆盖推荐顺序”设置为“同等成本目标中的第一个”的文件夹变得愚蠢。愚蠢的部分是具有该启用的目标似乎是最后一个,而不是第一个。我正在取消这些设置,看看会发生什么。稍后汇报。
一些用户正在使用脱机文件夹来引用我们想要停用的服务器...实际上该服务器已经脱机,人们对此共享有待处理的更新。
将这些缓存文件移动到具有新名称的新服务器而不丢失新数据的最佳方法是什么?
在将域从一个林迁移到另一个林时,我们遇到了一些奇怪的问题。我们尝试关闭旧域的域控制器,突然之间,我们曾经可以访问的共享在另一个域上,在它自己的林中消失了。
我在理解 Windows 客户端如何解析共享时遇到问题。即当我输入\XXXXXX\yyy\zzzz 时,Windows 究竟做了什么来确定要连接到哪个服务器?请注意,我们曾经在旧域上也有一个 DFS 共享,因此它起到了一定的作用。
是否有任何工具可以帮助您跟踪 Windows 正在做什么?即如果我给它路径 \XXXXXX\yyy\zzzz 检查本地 NETBIOS 中的名称,则会记录类似这样的内容。在netbios中没有找到名称。检查 DFS 缓存...在 DFS 缓存中找到,使用 \computer.domain.com\share for \XXXXX\yyy\zzzz
这是整个故事。我们正在从一个域 D1.xxxx.com 迁移到另一个林中的 D2.yyyy.com。我们建立了跨域信任,除 DFS 外,所有内容都已移动。由于我们遇到的所有麻烦,我们决定停止在域 2 中使用 DFS。相反,我们将在 D2 中拥有一个名为 D1 的主机,它将为整个 DFS 提供服务。我们已经设置并复制了所有文件。然后我们关闭 D1 的所有域控制器并删除信任。现在,当我键入 \D1\root\things 时,我希望 D2 域上的计算机转到 D1.yyyy.com 上名为 root 的共享。出于某种原因,这似乎没有发生,我不知道为什么。我尝试在客户端机器上使用 dfsutil /pkflush ,但仍然没有解决。
我现在想要做的是在尝试连接到 \D1\root\things 时准确查看我的客户端计算机正在做什么。看看网络上发生了什么也无济于事。我知道(或相当肯定)它仍在尝试访问旧的 DFS 共享。
我对 DFS 文件系统知之甚少,但在我们的部署之一中遇到了问题。
我们的应用程序将文件写入指定位置,关闭它们,然后将记录写入数据库。应用程序的另一部分获取这些 DB 记录并读取之前写入的文件。
在某些情况下,阅读器会收到“未找到文件”并且失败。在不接触任何其他东西的情况下重新启动它,它正确地找到了文件,一切都很好。
我相信我已经排除了我们的应用程序的问题,因为在创建数据库记录之前文件肯定被刷新/关闭。
因此,我相信操作系统或文件系统在内部延迟了文件写入,因此它不是立即可用的。
有问题的文件系统是 Windows 2003 SP2 DFS。这个 DFS 可能会出现这种情况吗?如果是这样,是否可以将其切换为某种直写/无缓存策略以确保及时写入文件?
Linux 提供了一种工具,让内核及其模块依靠用户空间工具来解析 DNS 名称。例如,CIFS 使用它来支持 DFS 中的推荐。
我看到的问题是我无法让内核解析特定的 DNS 名称,我不明白它为什么会失败。
为了了解根本原因,我通过运行以下命令在 CIFS 和内核 dns 解析器中启用了调试输出:
echo "1" > /sys/module/dns_resolver/parameters/debug # dns_resolver
echo "7" > /proc/fs/cifs/cifsFYI # CIFS
Run Code Online (Sandbox Code Playgroud)
这是发生故障时我在 dmesg 中看到的内容:
fs/cifs/cifs_dfs_ref.c: DFS: ref path: \ESOTEST\dfstest\FS_SERV
fs/cifs/cifs_dfs_ref.c: DFS: node path: \FS\FS_SERV
fs/cifs/cifs_dfs_ref.c: DFS: fl: 2, srv_type: 0
fs/cifs/cifs_dfs_ref.c: DFS: ref_flags: 0, path_consumed: 24
fs/cifs/netmisc.c: address conversion returned 0 for FS
fs/cifs/netmisc.c: address conversion returned 0 for FS
[ls ] ==> dns_query((null),FS,2,(null))
fs/cifs/dns_resolve.c: dns_resolve_server_name_to_ip: unable to resolve: FS
fs/cifs/cifs_dfs_ref.c: cifs_compose_mount_options: Failed to …Run Code Online (Sandbox Code Playgroud) 我们有两台在网络花园中运行的 IIS 7 服务器。每个服务器上都有每个站点的副本。文件使用 DFS 同步(仅限源文件)。图像和大文件使用共享位于不同的服务器上。
每周至少有几次,我们"Not enough storage available"在读取任何文件或处理服务器代码时会出错。IIS服务器无法将路径映射到本地磁盘(不仅仅是与DFS同步的磁盘),加载组策略权限似乎也有问题(我们收到各种错误)并且我们无法在任何服务器上打开任何共享在局域网。从其他自定义应用程序读取文件时也会出现 I/O 错误。在此下降期间的磁盘速度和延迟都可以。如果我们尝试复制文件或测试驱动器速度,通常会奏效。有时,我们甚至无法运行“我的电脑”或任何其他软件(例如性能监视器)。它只能在我们“以管理员身份运行”时启动。每个磁盘上都有足够的可用存储空间。
大多数站点停止工作(但不是全部)。服务器重启后,一切正常几天,然后问题再次出现。
服务器使用 VMWARE 进行虚拟化,每台服务器上有 50 个 IIS 池(有些是内存受限的)和大约 200 个运行站点。两台服务器都有 16GB 的 RAM(仅使用了大约 80%)。CPU 始终在 30 - 60% 之间。
我们尝试将 IRPStackSize 注册表属性更改为更高的数字,但没有任何更改。问题依然存在。我们尝试禁用防病毒 (NOD) – 没有成功。
任何提示?也许我们接近 IIS 限制(对许多站点/池)?也许 32 位操作系统和 16GB 内存?也许有一些“秘密”注册表设置...我们认为每天重启不是长期解决方案。
我们刚刚在两台 Windows 2012 R2 服务器之间部署了一个新的 DFS 复制系统。我们使用 MS 的建议克隆了 DFSr 数据库(http://blogs.technet.com/b/filecab/archive/2013/08/21/dfs-replication-initial-sync-in-windows-server-2012-r2-attack -of-the-clones.aspx)和复制/同步完美地工作了 99%(一些文件卡在积压中,但其他方面都很好)。
重新启动非主要成员服务器后,它在事件日志中抱怨不干净的关闭/日志包装(关闭是由书决定的),并表示如果无法可靠地恢复,则必须重建数据库(事件 2212) . 然后它抛出日志 2218,说明它处于复制数据库一致性检查的第二步。
此后几乎立即,两台服务器开始在主服务器和辅助服务器上抛出大量 4412(在多个服务器上更改文件,将“丢失”文件移动到 DFSrPrivate\ConflictsandDeleted)日志。但是,当我针对“获胜”文件和移入 ConflictsandDeleted 的文件运行 PS Get-DFSrFileHash 时,它们完美匹配。
DFSr 设置有 1900 万个文件,替换每个文件即使它们相等也需要数周时间;鉴于在此过程完成之前复制似乎已停止,我想让 DFS“意识到”文件实际上是相同的。有没有人见过这样的东西?
我将接替一位前任管理员,他在我们的 Active Directory 基础设施中创建了多个 DFS 命名空间。之前的管理员没有记录我们的 DFS 的任何结构,所以我什至不知道我的 DFS 命名空间服务器是什么。我能够通过逐个登录文件服务器找到一个,直到找到一台运行 DFS 命名空间服务的服务器 - 当我惊奇的时候,出现的只是 2 个命名空间,其中只有一个是域命名空间。
我的任务是记录我们的 DFS 基础设施,但如果我一开始就找不到我的命名空间服务器,那么这项任务似乎是不可能完成的。
我们在整个环境中相当一致地运行 Windows Server 2008r2。我们总共有 6 个域名称空间。
:编辑:
到目前为止,我已经费力地搜索了 DFS 管理 MMC 管理单元。我也尝试过使用 DFSUtil。我还进行了强制性的互联网搜索,但没有任何有用的结果。我应该注意到,直到 8 个月前开始这项工作之前,我以前从未使用过 DFS,并且在这次作业之前,我只做了一些小的维护 - 添加新的文件夹目标等。所以我可能错过了一些明显的东西。
我有 2 个都是 Windows Server 2016 的 DC。
我们有一台运行 Windows Server 2012 R2 的 DFS 服务器,但所有命名空间都是 2008 兼容模式。
我们的域功能级别是 Windows Server 2012 R2。如果我将其提升到 Windows Server 2016 会对我们的 DFS 产生任何影响吗?
active-directory dfs domain-controller windows-server-2012-r2 windows-server-2016