![在 Windows Server 2012 R2 上使用相同的驱动器号进行 DFS 复制是否会导致任何已知问题?](https://linux22.com/image/650071/%E5%9C%A8%20Windows%20Server%202012%20R2%20%E4%B8%8A%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E9%A9%B1%E5%8A%A8%E5%99%A8%E5%8F%B7%E8%BF%9B%E8%A1%8C%20DFS%20%E5%A4%8D%E5%88%B6%E6%98%AF%E5%90%A6%E4%BC%9A%E5%AF%BC%E8%87%B4%E4%BB%BB%E4%BD%95%E5%B7%B2%E7%9F%A5%E9%97%AE%E9%A2%98%EF%BC%9F.png)
我们正在与顾问合作开展一个大型 DFS 复制项目,在初始复制期间我们遇到了大量数据丢失。
当我试图确定发生了什么时,顾问回来说这是由于在复制中涉及的两台服务器上使用了相同的驱动器号。我正在尝试确定这是否是一个合理的担忧。
技术细节如下:
Server 1 has a file share residing on the D: named Share 1 to sync to Server 2's D:
Server 2 has a file share residing on its D: named Share 2 to sync to Server 2's D:
将这两个共享相互交叉同步是否会引起问题?初始复制进行得很顺利,完成了约 60%,直到服务器出现混乱,然后服务器 2 认为它拥有来自服务器 1 的所有数据,并指示服务器 1 删除其所有剩余数据,因为不再需要这些数据。
大家如果能对此提供任何帮助,我将不胜感激。谢谢。
答案1
不,这绝对是不是问题的根源。
我从未见过任何支持这一说法的文档,而且,我管理着一个拥有 18 个站点、数十个 DFS 复制组、六个 DFS 命名空间(包含数百个具有 TB 级数据的共享)的企业,并且从未遇到过我们的复制组几乎完全从同一驱动器号复制到同一驱动器号的问题。 (我付出了很多努力来标准化我们的服务器构建,因此我们所有的文件服务器对于相同的卷都具有相同的驱动器号。)
例如:
或者,如果您愿意,这里有一个来自相同驱动器号甚至文件夹路径的文件服务器迁移:
编辑:我发现了另一个非常中肯的例子,说明了为什么 DFS-R 不关心驱动器号。
下面是我为文件服务器迁移创建的复制组。除其他问题外,我还将两个单独的部门共享卷合并为一个卷,因此在目标服务器上,我在驱动器上有两个复制文件夹F:
。(稍后我将把两者的内容放入一个文件夹中):
这样做很好,因为每个复制文件夹(即使是同一卷上的文件夹)都精确地存储自己的元数据和 DFS-R 数据,以便不同的复制文件夹不会混淆彼此的复制,如下所示:
答案2
使用相同的驱动器号不是我遇到的问题。我为 DFS 配置了多台服务器,几乎每次我都会在 上有一个数据卷D:
,后面跟着一个相关的目录结构。
我确实使用了最佳实践分析器(遵循任何配置)以及 Robocopy 来预先植入任何数据。一旦复制开始,由于数据更改的百分比很小,它会很快完成工作。当然,时间会因数据量而异。
这最佳实践分析器是一款只读应用程序,它不会更改您的配置,但会针对任何执行不当的配置提供非常突出和直接的建议。它已经拯救了我好几次。
以下是如何使用 Robocopy 预先植入数据,引自Technet 库:
使用以下方法将复制的文件预先植入到目标服务器上
Robocopy
使用源服务器和目标服务器上本地管理员组成员的帐户登录目标服务器。打开提升的命令提示符。要将文件从源服务器预先植入到目标服务器,请运行以下命令,替换您自己的源、目标和日志文件路径:
robocopy "<source replicated folder path>" "<destination replicated folder path>" /e /b /copyall /r:6 /w:5 /MT:64 /xd DfsrPrivate /tee /log:<log file path> /v
此命令将源文件夹的所有内容复制到目标文件夹,使用以下参数:
Parameter Description
"<source replicated folder path>" Specifies the source folder to preseed on the destination server.
"<destination replicated folder path>" Specifies the path to the folder that will store the preseeded files.
Important The destination folder must not already exist on the destination server. To get matching file hashes, Robocopy must create the root folder when it preseeds the files.
/e Copies subdirectories and their files, as well as empty subdirectories.
/b Copies files in Backup mode.
/copyall Copies all file information, including data, attributes, time stamps, the NTFS access control list (ACL), owner information, and auditing information.
/r:6 Retries the operation 6 times when an error occurs.
/w:5 Waits 5 seconds between retries.
MT:64 Copies 64 files simultaneously.
/xd DfsrPrivate Excludes the DfsrPrivate folder.
/tee Writes status output to the console window, as well as to the log file.
/log <log file path> Specifies the log file to write. Overwrites the file’s existing contents. (To append the entries to the existing log file, use /log+ <log file path>.)
/v Produces verbose output that includes skipped files.
例如,以下命令将文件从源复制文件夹 E:\RF01 复制到目标服务器上的数据驱动器 D::
robocopy.exe "\\srv01\e$\rf01" "d:\rf01" /e /b /copyall /r:6 /w:5 /MT:64 /xd DfsrPrivate /tee /log:c:\temp\preseedsrv02.log