建议使用 Windows Server 2012 R2 或 Windows Server 2012 随附的 Robocopy.exe 版本。
即然官方建议我们用2012或2012R2所带的Robocopy,所以选它来做这次迁移的工具!
我现在需要的将一台2008R2服务器上,近2T的数据迁移到一台全新的2012R2机器上,依之前的测试,在1G 的网络环境中,平均迁移速度可以达到每分钟3G 左右,最高可以到达4G,所以,估计完成这次迁移大约需要8-12小时,刚才可以利用周末晚上完迁移!
确定好时间,通知用户后,开始进行!
首先,为确保迁移过程中,不会有文件更新、写入,需将2008R2旧文件服务器上需要迁移的共享目录中的共享权限设置为只读!
切换到2012R2新文件服务器,进到命令提示下,可以用Robocopy /? 查看详细参数,有兴趣的可以每个参数去仔细研究!如下图:
常用参数:
源 :: 源目录(驱动器:路径或\服务器共享路径)。
目标 :: 目标目录(驱动器:路径或\服务器共享路径)。
/S :: 复制子目录,但不复制空的子目录。
/E :: 复制子目录,包括空的子目录。
/COPY:复制标记:: 要复制的文件内容(默认为 /COPY:DAT)。
(复制标记: D=数据,A=属性,T=时间戳)。
(S=安全=NTFS ACL,O=所有者信息,U=审核信息)。
/SEC :: 复制具有安全性的文件(等同于 /COPY:DATS)
/COPYALL :: 复制所有文件信息(等同于 /COPY:DATSOU)
/MT[:n] :: 使用 n 个线程进行多线程复制(默认值为 8)
n 必须至少为 1,但不得大于 128。
该选项与 /IPG 和 /EFSRAW 选项不兼容。
使用 /LOG 选项重定向输出以便获得最佳性能。
/R:n :: 失败副本的重试次数: 默认为 1 百万。
在本次迁移中,因为完全需要文件服务器,包换所有文件、目录、权限等,所以使用如下参考:
robocopy \2008R2e$Share e:Share /e /copyall /mt:20 /R:3 /log:E:logShare.log
\2008R2e$Share 源目录,即旧2008R2服务器上的目录,也可以直接使用共享,
e:Share目标目录,即新的2012R2服务器上的目录。
/E 复制子目录,包括空的子目录。
/COPYALL 复制所有文件信息(包括数据、属性、时间戳、安全、所有者、审核信息等)
/MT:20 使用 20 个线程进行多线程复制
/R:3 失败副本的重试3次数,由于 默认为 1 百万,如果碰到无法复制的文件,复试1百万次的话,估计得几天时间,所以建议修改
/log:E:logShare.log将复制结果记录到日志文件,以便查看错误或是失败的信息
以上命令后,就是慢长的等待了!
结束后,打开LOG文件,可以看到所有复制的文件目录、大小等信息:
最后会有汇总,总共文件、目录数量、大小、时间等信息!
从汇总信息来看,此目录总共942G,开始时间1:17:52,结束时间:4:20:29共用时:2:43:49,平均速度约3G/分钟!
用以上方法,完成另个几个共享目录的复制,然后再停用旧服务器上的共享、启用新服务器上的共享,总共2TB,总共用时约8小时!