应用场景
本文适用于同地域同一VPC不同文件系统之间的数据迁移。Robocopy是Windows系统自带的目录复制命令,该功能可以创建两个文件结构完全相同的镜像副本而不用复制任何不需要的重复文件,同时还允许您保留所有相关文件信息,包括日期、时间戳等。
前提条件
已拥有两个CIFS协议文件系统,并且准备一台与源文件系统在同一VPC网络下的Windows弹性云主机。两个文件系统分别作为源文件系统和目标文件系统,源文件系统指含业务数据的旧文件系统,目标文件系统指即将投入使用的新文件系统。
准备工作
- 注册天翼云官网账号,并完成实名认证,具体操作请参考注册天翼云账号。
- 登录天翼云官网页面,找到控制中心,具体操作请参考天翼云-控制中心。
- 分别创建一个文件系统和一台弹性云主机,具体操作请参考创建弹性文件系统、创建弹性云主机。
- 挂载文件系统至弹性云主机,具体操作请参考使用弹性云主机挂载文件系统。
操作步骤
两个CIFS文件系统之间的数据迁移可以分为几个关键步骤: 挂载文件系统>迁移数据>迁移应用 。具体操作步骤如下
1. 将目标文件系统挂载到云主机
将目标文件系统挂载至Windows云主机中,为了方便区分,源文件系统挂载到Y盘上,目标文件系统挂载到Z盘上。
挂载完成后,点击“Windows+R”,输入cmd,执行如下命令确认挂载结果。
net use
若回显界面显示以下信息则表示挂载成功,源文件系统挂载到Y盘,目标文件系统挂载到Z盘。
2. 迁移数据
执行以下命令,将源文件系统(Y盘)中的数据迁移到目标文件系统(Z盘)中。
robocopy Y:\ Z:\ /e /w:5 /z /mt:16
说明仅迁移指定目录下的数据,不包括指定目录。
重要字段说明如下,请参考实际情况替换。
参数 | 说明 |
---|---|
Y:\ | 指定源目录的路径,请根据实际路径进行替换。 |
Z:\ | 指定目标目录的路径,请根据实际路径进行替换。 |
/w | 设置每次出错重试的间隔秒数。 |
/z | 开启断点续传。 |
/e | 拷贝所有子目录,包括空目录。 |
/mt | 设置并发的线程数,默认值为8,取值1~128,本文示例取值16。 |
/copyall | 复制所有的文件信息,包括:数据、属性、时间戳、访问控制列表(ACL)、所有者信息、审计信息。 |
执行结果如下:
3. 检查迁移结果
完成迁移后,使用下面Robocopy命令,检查目标文件系统是否与源文件系统数据一致。
robocopy Y:\ Z:\ /e /l /ns /njs /njh /ndl /fp /log:reconcile.txt
重要字段说明如下,请根据实际情况替换。
参数 | 说明 |
---|---|
Y:\ | 指定源目录的路径,请根据实际路径进行替换。 |
Z:\ | 指定目标目录的路径,请根据实际路径进行替换。 |
/e | 仅列出目录(包括空目录)。 |
/l | 不修改或复制文件,仅记录差异。 |
/fp | 指在日志中包括文件的完整路径(仅在省略/ndl时有必要)。 |
/ns | 指不在日志中包括文件大小。 |
/ndl | 指不在日志中包括文件夹。 |
/njs | 指不包括作业摘要。 |
/njh | 不包括作业头。 |
/log:reconcile.txt | 将迁移结果写入reconcile.txt日志中。如果已存在,将覆盖现有日志。 |
检查执行结果,如果两者数据一致,应该显示写入的文件路径。执行 type 文件名称
可查看文件中的内容。
4. 切换应用至新文件系统
在数据迁移完成后,如果您需要将源文件系统上的业务切换到目标文件系统上,请在所有云主机客户端上卸载源文件系统,然后挂载新文件系统至您业务使用的云主机。
1)在业务使用的云主机中执行 net use
查看源文件系统挂载的本地挂载路径,即获得本地盘符。
2)执行命令 net use 本地盘符 /delete
,卸载源文件系统。本地盘符为上一步查询获得。
3)挂载新文件系统到业务使用的盘符,挂载方式请参考使用弹性云主机挂载文件系统。
4)启动访问文件系统的业务,确认读写正常。
说明本实践中的云主机仅作为数据迁移的“中转站”,而非用于业务实际使用。数据迁移和切换应用到新文件系统完成后,应将新文件系统挂载至实际业务使用的云主机中。