在 Windows Server 2012 R2 上使用相同的驱动器号进行 DFS 复制是否会导致任何已知问题?

Win*_*nja 5 dfs-r windows-server-2012

我们正在与一个大型 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:
Run Code Online (Sandbox Code Playgroud)

交叉同步这两个共享会导致问题吗?最初的复制进行得很顺利,完成了大约 60%,直到服务器感到困惑,然后服务器 2 认为它拥有来自服务器 1 的所有数据并指示服务器 1 删除其所有其余数据,因为不再需要这些数据。

非常感谢你们能对此提出的任何看法。谢谢你。

Hop*_*00b 8

不,这绝对不是您问题的根源。

我从未见过任何支持这种说法的文档,此外,我管理着一家拥有 18 个站点、数十个 DFS 复制组、六个包含数百个 TB 数据共享的 DFS 命名空间的企业,并且从未遇到过我们的问题复制组几乎完全从同一个驱动器号复制到同一个驱动器号。(我花了很多精力来标准化我们的服务器构建,所以我们所有的文件服务器对于相同的卷都有相同的驱动器号。)

例如:

在此处输入图片说明

或者,如果您愿意,这里有一个来自相同驱动器号甚至文件夹路径的文件服务器迁移:

在此处输入图片说明

编辑:我发现了另一个非常相关的例子,它说明了为什么 DFS-R 不关心驱动器号。

下面是我为文件服务器迁移创建的复制组。除其他问题外,我将两个独立的部门共享卷合并为一个卷,因此在目标服务器上,我在F:驱动器上有两个复制的文件夹。(稍后我会将两者的内容放到一个文件夹中):

在此处输入图片说明

这很好用,因为每个复制的文件夹(即使是同一卷上的文件夹)都精确地存储自己的元数据和 DFS-R 数据,这样不同的复制文件夹就不会混淆彼此的复制,如下所示:

在此处输入图片说明


Cit*_*zen 5

使用相同的驱动器号不是我遇到的问题。我为 DFS 配置了多台服务器,几乎每次,我都有一个数据卷D:,然后是相关的目录结构。

我确实使用最佳实践分析器,遵循任何配置,以及 Robocopy 来预置任何数据。一旦复制开始,由于数据更改的百分比很小,它会很快完成工作。当然,时间因数据量而异。

最佳实践分析器是一个只读的应用程序,它不会改变你的配置,但会给非常显着和直接咨询任何欠佳配置的整治。它救了我好几次。

以下是如何使用 Robocopy 预置数据,引用自Technet 库

使用以下命令将复制的文件预置到目标服务器上

机器人复制

使用同时是源服务器和目标服务器上本地管理员组成员的帐户登录目标服务器。打开提升的命令提示符。要将文件从源服务器预置到目标服务器,请运行以下命令,替换您自己的源、目标和日志文件路径:

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 
Run Code Online (Sandbox Code Playgroud)

此命令使用以下参数将源文件夹的所有内容复制到目标文件夹:

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.
Run Code Online (Sandbox Code Playgroud)

例如,以下命令将文件从源复制文件夹 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
Run Code Online (Sandbox Code Playgroud)