我们正在运行 ActiveDirectory 环境,其中 Windows 2008 作为 DC,Samba 3.3 作为文件服务器,使用漫游配置文件。我们的一些办公室通过慢速链路 (1/2 Mbit) 连接到总部。当然,这不是很快,但这是意料之中的。
我不明白的是,如果用户注销(如预期的那样需要很长时间同步)然后第二天再次登录,那么登录也需要很长时间。这就是我不明白的。同步不应该认识到没有什么变化很快吗?另外:关于如何实现同步有没有像样的文档?
编辑:感谢所有帮助。最后结果是 Sophos Antivirus 正在扫描远程配置文件。稍后选中“禁用远程共享的按访问扫描”复选框,一切都很快。(最快 1mbit。所以登录只需要 5 分钟……)
我的回忆是,从 Windows 2000 开始,漫游配置文件客户端会将配置文件的服务器副本中的文件的日期/时间与本地副本进行比较,如果本地副本是最新的,它不会复制服务器-side 文件返回给客户端。事实证明,从 Microsoft 那里找到有关这种行为的文档是不可能的。(再一次,我们遇到了一种情况,访问 Windows 源代码可以解决问题,但相反,我们不得不像洞穴人一样用棍棒和石头戳它......)
我的回忆是基于这个故事,它促使我总是在“桌面”文件夹上使用文件夹重定向。在客户站点,用户正在将数个数 GB 的 CAD 图纸保存到他们的“桌面”,而不是服务器计算机上的相应文件夹中。他们 PC 中的硬盘驱动器坏了,我当时的雇主派了一名技术人员更换硬盘驱动器并重新映像 PC。我接到了一个电话,因为替换图像在“正在加载您的个人设置...”对话框中“冻结”。我观察到,使用服务器计算机上的“网络监视器”,文件正在从服务器复制到客户端。在用户的服务器端配置文件的“桌面”中发现了超过 20GB 的文件 正在复制到客户端的文件夹。技术人员很不耐烦,不断地重新启动 PC,导致该过程重新开始,该文件在之前的尝试中被部分复制。一旦我们让所有内容都复制,用户就可以毫无问题或延迟地登录和注销。
因此,考虑到这个故事,我只是在使用 Windows Server 2003 R2 作为文件服务器计算机和 Windows XP Professional SP3 作为客户端的虚拟机中做了一个小模型。
我使用已经拥有漫游用户配置文件以允许客户端缓存配置文件的用户帐户登录到 VM,然后我注销了。这导致将 12MB 的漫游用户配置文件缓存到客户端。
我再次登录到客户端,这次使用 Wireshark(在服务器计算机上运行)捕获客户端和服务器之间的流量。我在登录过程中看到大约 2,500 个以太网帧经过。在此登录期间,客户端和服务器之间移动的流量低于 1.5MB,尽管您会记得配置文件目录超过 12MB。这是一个很好的迹象,表明每次登录时都没有生成完整的副本(但我想要更多的证据,如您所见)。
我在捕获中观察到的行为是递归遍历配置文件中的文件夹,从根目录开始,使用“Firstfirst”API。遍历完成后,客户端逐个文件夹遍历配置文件,对每个文件夹执行“打开”和“查询文件信息”。
在此登录过程中,我没有看到配置文件中的文件内容实际上通过了网络(正如我所说,整个对话不到 1.5MB,而构成配置文件的数据为 12MB)。
我将一个 56MB 的文件放入配置文件并注销。在客户端上完成注销后,我验证了该文件出现在配置文件的服务器副本上,然后从客户端计算机硬盘驱动器上的缓存副本中删除了该文件(通过“C$”共享)。
我在使用 Wireshark 观看时再次登录到客户端,并在登录期间观察到客户端和服务器之间的 60MB 传输。我可以在捕获中清楚地看到客户端从服务器请求 56MB 文件的内容。
我注销并再次登录,这次只将本地缓存的 56MB 文件留在客户端上。在该登录中,客户端和服务器之间的总传输量再次低于 1.5MB。
这似乎证实了我对这种行为的记忆,至少在 Windows XP Professional SP3 中是这样。
那么,为什么您会看到长时间的登录延迟?除了“慢”(我认为它们只是“慢”)之外,您的 WAN 链接可能相当潜在(与本地以太网相比)。我在上面的登录中观察到的递归目录遍历在 LAN 上完成了大约 3 秒。这将是 WAN 上的一个巨大倍数,即使实际上只有很少的数据通过网络。SMB 在潜在链接上就像吸尘器一样糟糕。
我怀疑如果您“清理”用户在“应用程序数据”文件夹、“Cookies”文件夹等中的无关文件配置文件,您会看到登录和注销时间减少。不幸的是,垃圾往往会堆积在那里,很难控制。
一些想法:
Immidio Flex Profiles创建一个包含所有用户配置文件数据的 ZIP 文件,并将其上传到服务器计算机。与内置的配置文件复制引擎相比,它在潜在链接上的工作效果更好。这个工具包过去是免费的,但我相信它现在是一种付费产品。
如果用户不经常在异地办公室之间移动,您可以在每个异地位置放置一个“服务器”作为在该办公室工作的用户的“漫游配置文件服务器”,并远程备份它。您可以在此角色中使用 Windows 客户端 PC,只要不超过 10 个用户尝试同时连接到它(并且它不会被关闭)。或者,由于您已经熟悉 Samba,您可以在每个办公室放置一台低端 Linux 机器来托管漫游配置文件,并使用 rsync 之类的东西将文件复制回中心位置进行备份。
如果你想给解决方案镀金,你可以在每个办公室安装一台 Windows Server 机器,复制与 DFS-R 共享的漫游配置文件,用户将能够在所有办公室之间自由移动。
为了从漫游用户配置文件中获得最佳体验,阅读所有文档并彻底规划您的实施非常重要。本节介绍使用漫游用户配置文件的最佳做法。
关闭快速登录增强
当用户从本地配置文件更改为漫游配置文件时,Windows XP 中的快速登录增强功能将需要在每台计算机上进行两次登录才能注册配置文件更改。这是因为用户总是使用缓存的凭据登录;因此,网络需要第一次登录才能注意到用户已漫游,第二次登录才能应用这些设置。
为确保获得最佳体验,请启用设置在计算机启动和登录时始终等待网络,位于计算机配置\管理模板\系统\登录。
将“我的文档”文件夹的位置重定向到用户漫游配置文件之外。
要减少到新计算机的初始登录时间,建议您将“我的文档”文件夹的位置重定向到用户漫游配置文件之外。最好的方法是使用文件夹重定向。如果您没有启用 Active Directory,您可以使用登录脚本或指示用户手动执行此操作。
让系统为每个用户创建配置文件文件夹。
为确保漫游用户配置文件以最佳方式工作,请仅在服务器上创建根配置文件共享,并让系统为每个用户创建文件夹。如果您必须为用户创建文件夹,请确保您设置了正确的权限。有关所需权限的详细信息,请参阅配置漫游用户配置文件时的安全注意事项。
不要在漫游配置文件共享上使用脱机文件夹。
确保为存储漫游用户配置文件的共享关闭脱机文件夹。如果您不关闭用户配置文件的脱机文件夹,您可能会遇到同步问题,因为脱机文件夹和漫游配置文件都尝试同步用户配置文件中的文件。
Windows XP 会缓存配置文件。登录时,Windows XP 将检查 ntuser.dat 的最后写入时间,如果本地缓存副本比服务器上漫游配置文件中的版本更新,它将仅运行本地缓存副本。
这是关于它的技术说明。您可能希望从一天到另一天检查用户目录中的 ntuser.dat 文件,以查看文件上的日期/时间是否更改。
今天可能会有所不同,但早在 2001 年,我从一位 MS 专家那里得到了非常具体的建议,即不要使用漫游配置文件,主要原因是文件系统性能(特别是小文件的负载)。建议更可取的是文件夹重定向、应用程序部署、桌面锁定以及配置文件的其余部分不同。
我还认为即使是缓存的副本也必须与主服务器进行检查,这也总是会引入一些额外的延迟。