SFS容量型文件系统迁移至SFS Turbo文件系统(CIFS协议)
方案概述
本文将SFS容量型文件系统迁移至SFS Turbo文件系统,迁移目标是高效、安全地完成数据迁移,同时确保数据完整性和一致性,整个流程包含全量迁移(业务无影响)、第一次增量迁移(业务无影响)、解除SFS容量型文件系统挂载(需保持业务中断)、第二次增量迁移(保持业务中断),切换挂载服务(保持业务中断)。
约束与限制
- 仅支持使用Windows系统的云服务器进行数据迁移。
- Windows系统云服务器、SFS容量型文件系统和SFS Turbo文件系统需在同一VPC下、同属一个安全组中。
- SFS容量型文件系统使用CIFS协议,SFS Turbo文件系统使用SMB协议。
准备工作
- 创建SMB协议类型SFS Turbo文件系统,VPC、安全组与SFS容量型文件系统保持一致。
- 创建SFS Turbo文件系统的具体操作请详见创建SFS Turbo文件系统。
- 如果没有VPC,则在同区域创建虚拟私有云VPC,然后再去创建SFS Turbo文件系统。
- 如果账号没有安全组权限,创建SFS Turbo文件系统时请勾选“高级配置”中的“安全组”选项,并取消“放通安全组规则”勾选(该方式只能挂载同安全组的ECS实例)。
- 准备一台可用的Windows的云服务器,云服务器的VPC及安全组和SFS容量型、SFS Turbo文件系统的VPC、安全组一致,保证云服务器与SFS容量型文件系统、SFS Turbo文件系统可以互通。
如果无可用的云服务器,可参考快速购买和使用Windows ECS章节购买。
- 登录云服务器并开启Workstation服务和TCP/IP NetBIOS Helper服务,具体操作请参考windows系统挂载SMB协议文件系统。
- 在Windows的云服务器挂载SFS容量型文件系统和SFS Turbo文件系统。
- 获取挂载信息。
登录弹性文件服务管理控制台。单击已创建的文件系统的名称,SFS容量型文件系统的挂载命令可在“挂载点信息 > windows下挂载”获取。SFS Turbo文件系统的挂载命令在“基本信息 > ipv4挂载命令 > Windows挂载命令获取”。
- 登录弹性云服务器管理控制台,进入弹性云服务器界面,登录已创建好的Windows云服务器。
- 打开CMD命令行窗口,执行命令将SFS容量型文件系统和SFS Turbo文件系统分别挂载到空闲盘符(分别以X,Y为空闲盘符为例执行如下命令)。
net use Y: {SFS Turbo文件系统挂载地址}
图2 SFS容量型文件系统挂载信息图3 SFS Turbo文件系统挂载信息 - 执行命令net use,如果回显包含如图4所示类似信息,说明挂载成功。
- 如挂载中出现“你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁。”请参考使用Windows系统挂载文件系统时提示不能访问此共享文件夹进行处理。
- 打开CMD命令行窗口,执行命令将SFS容量型文件系统和SFS Turbo文件系统分别挂载到空闲盘符(分别以X,Y为空闲盘符为例执行如下命令)。
- 获取挂载信息。
资源规划
本章节介绍案例中使用的资源信息。具体如表1所示。
产品 |
配置示例 |
---|---|
弹性云服务器 ECS |
规格:通用计算型 | x1.2u.2g | 8vCPUs | 16GiB 操作系统:Windows 区域:华北-北京四 VPC名称:VPC1 |
操作步骤
- 登录弹性云服务器管理控制台。
- 以VNC方式登录已创建好的Windows系统云服务器。
- 全量迁移:SFS容量型文件系统中的文件全量复制到SFS Turbo文件系统中。
使用Robocopy工具执行以下命令,进行数据同步。
robocopy X:\ Y:\ /e /w:5 /z /mt:32
- /mt:并行的拷贝线程数量,默认值为8,取值1-128。
- /w:设置每次错误重试间隔秒数。
- /z:开启断点续传。
- /e:拷贝所有子目录(包括空目录)。
- /copyall 复制所有文件信息(数据、属性、时间戳、访问控制列表、所有者信息、审计信息)。
- n 和 f 参数可以根据文件和目录的结构进行相应调整。
- 第一次增量迁移:执行下方命令,将全量同步后的增量数据写入到SFS Turbo文件系统中。
robocopyX:\Y:\/e/w:5/z/mt:32
记录本轮开始和结束时间。约等于客户需要中断业务的时间。
- 解除SFS容量型文件系统挂载:为了避免不断有新的数据写入,需要在同步增量数据之前,在所有ECS和容器上停止使用源文件系统的业务应用。
- 请务必确保所有执行业务的云服务器(云容器)节点解除挂载SFS容量型文件系统,否则后续迁移完可能有SFS容量型文件系统和SFS Turbo文件系统数据不一致的问题。
- 请不要在执行迁移的ECS机器上解除SFS容量型挂载文件系统。
- 本步骤执行过程中需保证业务中断。
- 登录到挂载SFS容量型文件系统的云服务器。
- 执行以下命令解除SFS容量型文件系统的挂载。
net use 挂载盘符: /del
- 第二次增量迁移:执行以下命令,将第一轮增量迁移后到中断业务期间产生的增量数据同步到SFS Turbo文件系统中。本轮同步后,SFS容量型和SFS Turbo文件系统中的数据即可完全一致。
robocopy X:\ Y:\ /e /w:5 /z /mt:32
- 保证SFS容量型文件系统和SFS Turbo文件系统中的数据完全一致。
- 本步骤执行过程中需保证业务中断。
- 执行以下命令检查迁移结果。
robocopy X:\ Y:\ /e /l /ns /njs /njh /ndl /fp /log:reconcile.txt
如果两个文件系统中文件一致,则日志文件“reconcile.txt”记录为空。否则,日志文件会记录文件列表。
参数说明如下,n和f数目可以根据系统规格自行配置。
- /e 仅列出目录(包括空目录)。
- /l 不修改或复制文件,仅记录差异。
- /fp 在日志中包括文件的完整路径。
- /ns 不在日志中包括文件大小。
- /ndl 不在日志中包括文件夹。
- /njs 不包括作业摘要。
- /njh 不包括作业头。
- /log:reconcile.txt 将迁移结果写入reconcile.txt日志中。如果已存在,将覆盖现有日志。
- 切换挂载服务:解除挂载SFS容量型文件系统并重新挂载到SFS Turbo文件系统,业务切到SFS Turbo文件系统上运行。
- 登录到挂载SFS容量型文件系统的云服务器,执行以下命令解除SFS容量型文件系统的挂载:
net use 挂载盘符: /del
- 执行以下命令挂载SFS Turbo文件系统:
net use 挂载盘符: {SFS Turbo挂载地址}
- 请务必确保挂载参数和目录正确,否则可能会影响业务。
- 切换到SFS Turbo文件系统后部分数据与SFS容量型文件系统存在差异,影响数据读取直至完成增量同步。写数据业务不受影响
- 登录到挂载SFS容量型文件系统的云服务器,执行以下命令解除SFS容量型文件系统的挂载:
- 客户可恢复业务,校验业务是否正常。
- 观察一段时间业务运行情况后,释放释放SFS容量型文件系统资源的资源,防止额外收费。