场景介绍
因SFS容量型文件系统已停售,详见公告,且后续SFS容量型服务不再更新,无法保障SFS容量型文件系统的可用性及SLA,继续访问有业务中断和数据丢失的风险。为了保障您的业务连续性,建议您尽快启动业务迁移,将SFS容量型文件系统中的数据迁移至SFS Turbo文件系统中,本节主要介绍如何迁移SFS容量型文件系统的数据到SFS Turbo文件系统(CIFS协议)。
方案概述
本文将SFS容量型文件系统迁移至SFS Turbo文件系统,迁移目标是高效、安全地完成数据迁移,同时确保数据完整性和一致性,整个流程包含全量迁移(业务无影响)、第一次增量迁移(业务无影响)、解除SFS容量型文件系统挂载(需保持业务中断)、第二次增量迁移(保持业务中断),切换挂载点(保持业务中断)。
约束与限制
仅支持使用Windows系统的云主机进行数据迁移。
Windows系统云主机、SFS容量型文件系统和SFS Turbo文件系统需在同一VPC下、同属一个安全组中。
SFS容量型文件系统使用CIFS协议,SFS Turbo文件系统使用SMB协议。CIFS协议是SMB协议的早期版本,两者兼容。
准备工作
创建SMB协议类型SFS Turbo文件系统,VPC、安全组与SFS容量型文件系统保持一致。如果账号没有安全组权限,创建SFS Turbo文件系统时请勾选“高级配置”中的“安全组”选项,并取消勾选“放通安全组规则”。该方式仅支持挂载同一安全组下的ECS实例。
准备一台可用的Windows的云主机,云主机的VPC及安全组和SFS容量型、SFS Turbo文件系统的VPC、安全组一致,保证云主机与SFS容量型文件系统、SFS Turbo文件系统可以互通。
参考帮助中心的“挂载文件系统到云主机(Windows)”章节在Windows的云主机上挂载SFS容量型文件系统,同时参考“Windows系统挂载SFS Turbo文件系统(SMB协议)”的内容在Windows的云主机上挂载SFS Turbo文件系统。
资源规划
本章节介绍案例中使用的资源信息。具体如下表所示:
| 产品 | 配置示例 |
| 弹性云主机ECS | 规格:8vCPUs | 16GiB 操作系统:Windows 区域:华北 VPC名称:VPC1 |
操作步骤
步骤1:登录弹性云主机管理控制台。
步骤2:以VNC方式登录已创建好的Windows系统云主机。
步骤3:全量迁移:SFS容量型文件系统中的文件全量复制到SFS Turbo文件系统中。使用Robocopy工具执行以下命令,进行数据同步。
robocopy X:\ Y:\ /e /w:5 /z /mt:32说明
X:\:源端挂载盘符,即SFS容量型文件系统在云主机上的挂载盘符。
Y:\:目的端挂载盘符,即SFS Turbo文件系统在云主机上的挂载盘符。
/e:拷贝所有子目录(包括空目录)。
/w:设置每次错误重试间隔秒数。
/z:开启断点续传。
/mt:并行的拷贝线程数量,默认值为8,取值1-128。
步骤4:第一次增量迁移:执行以下命令,将全量同步后的增量数据写入到SFS Turbo文件系统中。
robocopy X:\ Y:\ /e /w:5 /z /mt:32注意
记录本轮开始和结束时间。约等于客户需要中断业务的时间。
步骤5:解除SFS容量型文件系统挂载:为了避免不断有新的数据写入,需要在同步增量数据之前,在所有ECS和容器上停止使用源文件系统的业务应用。
注意
请务必确保所有执行业务的云主机(云容器)节点解除挂载SFS容量型文件系统,否则后续迁移完可能有SFS容量型文件系统和SFS Turbo文件系统数据不一致的问题。
请不要在执行迁移的ECS机器上解除SFS容量型文件系统的挂载。
本步骤执行过程中需保证业务中断。
登录到挂载SFS容量型文件系统的云主机。
执行以下命令解除SFS容量型文件系统的挂载。
net use 挂载盘符: /del
步骤6:第二次增量迁移:执行以下命令,将第一轮增量迁移后到中断业务期间产生的增量数据同步到SFS Turbo文件系统中。本轮同步后,SFS容量型和SFS Turbo文件系统中的数据即可完全一致。
robocopy X:\ Y:\ /e /w:5 /z /mt:32注意
保证SFS容量型文件系统和SFS Turbo文件系统中的数据完全一致。
本步骤执行过程中需保证业务中断。
步骤7:检查迁移结果。
方式一:Robocopy差异检查。执行以下命令比对两端文件差异,生成差异日志。如果日志文件“reconcile.txt”记录为空,表示两端没有需要复制的文件差异;否则,日志文件会记录差异文件列表。
robocopy X:\ Y:\ /e /l /ns /njs /njh /ndl /fp /log:reconcile.txt说明
X:\:源端挂载盘符,即SFS容量型文件系统在云主机上的挂载盘符。
Y:\:目的端挂载盘符,即SFS Turbo文件系统在云主机上的挂载盘符。
/e:包含所有子目录(包括空目录)。
/l:不修改或复制文件,仅记录差异。
/ns:不在日志中包括文件大小。
/njs:不包括作业摘要。
/njh:不包括作业头。
/ndl:不在日志中包括文件夹。
/fp:在日志中包括文件的完整路径。
/log:reconcile.txt:将迁移结果写入reconcile.txt日志中。如果已存在,将覆盖现有日志。
方式二:目录和文件的总数量与数据大小比对。分别统计源端和目的端的目录和文件的总数量及数据总大小,比对是否一致。如果目录和文件的总数量及数据总大小一致,表示两端数据一致。
在源端和目的端分别执行以下命令,统计目录和文件的总数量。
dir /s /b X:\ | find /c /v "" dir /s /b Y:\ | find /c /v ""
说明
/s:递归列出指定目录及所有子目录中的文件。
/b:简要格式,每行只输出文件路径,不显示日期、大小等头部信息。
/c:只显示匹配行数,不显示具体内容。
/v:反向匹配(显示不包含指定字符串的行)。
"":空字符串。
2.在源端和目的端分别查看数据总大小:右键单击源端和目的端的根目录,选择“属性”,比对“大小”字段的值。数据一致性验证建议优先使用方式一(Robocopy差异检查),右键“属性”查看数据大小仅作为辅助参考,不能作为最终一致性结论。
步骤8:切换挂载点:解除挂载SFS容量型文件系统并重新挂载到SFS Turbo文件系统,业务切到SFS Turbo文件系统上运行。
登录到挂载SFS容量型文件系统的云主机,执行以下命令解除SFS容量型文件系统的挂载:
net use 挂载盘符: /del执行以下命令挂载SFS Turbo文件系统:
net use 挂载盘符: {SFS Turbo挂载地址}
注意
请务必确保挂载参数和目录正确,否则可能会影响业务。
切换至SFS Turbo文件系统后,由于SFS Turbo与SFS容量型文件系统的元数据存储机制存在差异,数据大小可能会膨胀8%~10%,属于正常现象。
步骤9:客户可恢复业务,校验业务是否正常。
步骤10:观察一段时间业务运行情况后,释放SFS容量型文件系统资源,避免产生额外费用。