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