一、前提条件
·已创建源 CFS 文件系统和目标 CFS 文件系统,操作步骤详见 创建文件系统及挂载点。
·已创建 Windows 云服务器,详见 快速配置 Windows 云服务器,且与源和目标 CFS 文件系统在同一 VPC 下,或通过云联网等方式使源和目标 CFS 所在 VPC 互通。
·已在 Windows 云服务器安全组开放对源、目的文件系统 IP 地址出入流量的相关端口,具体信息如下:
| 网络协议 | 端口方向 | 文件系统协议类型 | 开放端口号 |
| TCP | 出+入 | SMB/CIFS | 445 |
| TCP | 出+入 | NFS 3.0 | 111、892、2049 |
·已在源、目的文件系统的权限组中开放 Windows 云服务器的 IP 地址对源、目的文件系统进行读写,配置详见 权限管理。
注意:说明:
注意:Windows 客户端不支持挂载 Turbo 标准型、Turbo 性能型,同时不支持使用 NFS 4.0协议挂载。
二、注意事项
·拷贝过程中建议暂停源端的写入操作,或者同时写入目的文件系统和源文件系统相同路径,来保证数据一致性。
·大文件量迁移时,建议通过 /MT 参数增加 robocopy 并行线程数以提升效率,建议设置为8 – 32。
·跨可用区拷贝可能影响性能,建议源 CFS 和目标 CFS 与 Windows 云服务器在同一可用区。
·拷贝完成后,请验证数据完整性再进行业务切换,确认业务正常后方可删除源文件系统。
三、步骤1:挂载源和目标 CFS 文件系统
使用同一台 Windows 云服务器挂载源、目的文件系统,挂载方式请参见 在 Windows 客户端上使用 CFS 文件系统。
四、步骤2:使用 robocopy 拷贝数据(推荐)
推荐使用 robocopy 工具进行数据拷贝。robocopy 是 Windows 内置的可靠文件复制工具,可绕过 Windows 空间预检机制直接触发 CFS 底层扩容,同时支持断点续传、增量同步和多线程加速。
注意:Windows 直接拖拽或使用 Ctrl+C 复制文件到 CFS 文件系统时,系统会预检目标空间是否充足。若 CFS 新创建,初始容量 10GiB,需要传输 10GiB 以上的大文件,预检不通过会导致拷贝失败,且无法触发 CFS 底层自动扩容。使用 robocopy 可绕过此预检机制。
以管理员身份运行 cmd,根据你的使用场景选择以下命令快速执行。以下命令中,S:\\ 指代源文件系统,T:\\ 指代目的文件系统,你可根据需要指定子目录路径。
·快速拷贝(最简命令)
适合小数据量快速迁移,仅复制所有文件和子目录。
robocopy S:\\ T:\\ /E
·带重试、多线程和日志的拷贝命令
适合大多数迁移场景,包含断点重试、多线程加速和日志记录。
robocopy S:\\ T:\\ /E /COPY:DAT /DCOPY:T /R:5 /W:10 /MT:8 /V /LOG:copylog.txt /TEE
·镜像同步(增量同步)
使目标端与源端完全一致(会删除目标端中源端不存在的文件),适合增量同步或定期同步。
robocopy S:\\ T:\\ /E /COPY:DAT /DCOPY:T /R:5 /W:10 /MT:8 /MIR /V /LOG:synclog.txt /TEE
参数说明
根据使用场景,可按需调整以下参数:
| 参数 | 说明 | 适用场景 |
| /E | 复制包含空目录在内的所有子目录 | 基础参数,所有场景必用 |
| /MIR | 镜像同步,使目标端与源端完全一致(含删除) | 增量同步/定期同步 |
| /COPY:DAT | 复制文件数据(D)、属性(A)、时间戳(T) | 跨协议拷贝必用 |
| /DCOPY:T | 复制目录时间戳 | 保留目录时间信息 |
| /R:5 | 失败重试次数为5次 | 网络不稳定时建议使用 |
| /W:10 | 重试间隔为10秒 | 配合 /R 使用 |
| /MT:8 | 使用8个线程并行复制,可根据机器性能调整(建议8 – 32) | 大文件量迁移时提升效率 |
| /V | 输出详细日志,包含跳过文件的说明 | 排查问题时使用 |
| /LOG:file | 将日志输出到指定文件 | 建议始终使用 |
| /TEE | 同时在控制台和日志文件中输出进度 | 监控拷贝进度 |
| /XO | 排除较旧文件,仅复制源端新增或更新的文件 | 仅增量不删除 |
| /XX | 排除多余文件,不删除目标端已有文件 | 保护目标端数据 |
| /IS | 包含相同文件,覆盖目标端已存在的文件 | 强制覆盖 |
五、步骤3:验证数据完整性
1. 在 Windows 云服务器中执行以下命令,对比源和目标文件数量。
dir S:\\ /s /a-d | find "File(s)"
dir T:\\ /s /a-d | find "File(s)"
2. 在 Windows 云服务器中执行以下命令,对比源和目标目录大小。
dir S:\\ /s | find "Dir(s)"
dir T:\\ /s | find "Dir(s)"
3. 确认文件数量和目录大小一致后,数据拷贝完成。
注意:说明:
注意:若文件数量或大小不一致,请检查 robocopy 日志文件中是否有错误记录,修复后重新执行增量同步。
六、步骤4:卸载文件系统
数据拷贝完成并验证无误后,卸载源和目标 CFS 文件系统。
SMB 协议NFS 协议执行以下命令,卸载源和目标 CFS 文件系统。net use S: /del
net use T: /del执行以下命令,卸载源和目标 CFS 文件系统。umount S:
umount T: