将NAS数据迁移至本地

文件存储NAS支持通过rsync命令行工具、Robocopy工具等直接下载数据到本地文件。您也可以将数据同步到OSS后再在OSS侧下载数据到本地文件。

重要

下载文件数据需要占用ECS公网带宽,建议您新购一台ECS实例专门负责文件数据下载,避免占用业务带宽。具体操作,请参见使用新购ECS作为数据传输中转节点

通过SFTP客户端迁移数据

当有少量文件需要一次性下载时,建议您在本地系统上安装使用SFTP客户端来完成。

方案优势

  • 支持众多操作系统平台。

  • 提供图形化操作界面。

操作步骤

  1. 为本地操作系统安装SFTP客户端。

    SFTP的客户端工具有多种版本,以下示例中使用的是FileZilla,请选择适合您本地操作系统的版本下载安装SFTP客户端

  2. 建立SFTP客户端与中转节点ECS之间的连接。

    1. 打开FileZilla客户端,按照如下说明进行配置。单击Quickconnect,建立连接。

      在本地客户端与ECS服务端的连接建立之后,左侧区域会显示本地文件系统,右侧区域会显示服务端ECS的文件系统。U-D NFS0201

      参数

      说明

      Host

      中转节点ECS的公网IP地址。例如,192.0.2.1。

      Username

      中转节点ECS的用户名,且该用户拥有读写NAS文件系统目录的权限。例如,root。

      说明
      • Linux ECS实例的默认用户名为:rootecs-user。

      • Windows ECS实例的默认用户名为:administrator。

      Password

      中转节点ECS的登录密码。例如,root登录密码。

      说明

      如果您忘记了中转节点ECS实例的密码,可通过重置实例登录密码重新为中转节点ECS实例设置登录密码。具体操作,请参见重置实例登录密码

      Port

      SFTP端口号,默认为22。

    2. 在页面右侧区域,设置Remote site中的路径为挂载了NAS文件系统的路径(例如/mnt),单击回车即可查看到NAS中的文件列表。

      UD-NFS0202
  3. 下载数据。

    将右侧区域中的文件或目录拖拽到左侧区域,即完成数据下载。

通过rsync命令行工具迁移数据

当有大量文件下载或需要频繁下载的任务时,建议您在本地系统安装使用rsync命令行工具执行下载任务。

方案优势

  • 下载后的文件元数据不变(包括属主及权限信息)。

  • 支持数据增量同步。

  • 本地LinuxmacOS系统可配置crontab向云上NAS自动备份数据。

操作步骤

  1. 安装rsync工具。

    Linux操作系统

    操作系统

    执行命令

    CentOS

    使用yum包管理器安装rsync。

    sudo yum install rsync

    Redhat

    Ubuntu

    使用apt包管理器安装rsync。

    sudo apt-get install rsync

    Debian

    说明

    如果您使用的其他版本Linux,请使用对应的包管理器安装rsync工具。

    macOS操作系统

    请下载安装homebrew包管理器,然后执行以下命令安装rsync工具。

    brew install rsync

    Windows操作系统

  2. 下载数据。

    执行以下命令,从阿里云NAS下载数据到本地目录。

    rsync -avP root@192.0.2.0:/mnt/DirToSync/ DirToSync/

    参数

    说明

    192.0.2.0

    已挂载文件存储NAS文件系统的Linux/Windows ECS公网IP。

    /mnt/DirToSync

    NAS中待导出的数据目录。

    DirToSync

    本地目录。

    说明

    rsync命令中的路径结尾必须带有正斜线(/),否则数据路径不匹配。

通过Robocopy工具迁移数据

方案优势:

RobocopyWindows系统自带的目录复制命令,该功能可以创建两个文件结构相同的镜像副本且不复制任何不需要的重复文件,同时还允许您保留所有相关的文件信息,包括日期、时间戳等等。

同时您也可以通过在windows ECS上安装最新的Python程序配置migration.py脚本实现海量数据迁移。具体操作,请参见如何加速迁移数据至NAS SMB协议文件系统

操作步骤

  1. 登录用于迁移数据的阿里云ECS实例。

  2. 迁移数据。

    执行以下命令,将源文件系统(Z盘)中的数据迁移到目标文件系统(Y盘)中。

    robocopy Z:\ Y:\ /e /w:5 /z /mt:32
    说明

    仅迁移指定目录下的数据,不包括指定目录。

    重要字段说明如下,请根据实际情况替换。

    参数

    说明

    /mt

    设置并发的线程数。默认值为8。

    取值为1~128。

    本文示例32个线程进行多线程复制。

    /w

    设置每次错误重试的间隔秒数。

    /z

    开启断点续传。

    /e

    拷贝所有子目录(包括空目录)。

    /copyall

    复制所有的文件信息。包含:

    • 数据

    • 属性

    • 时间戳

    • 访问控制列表(ACL)

    • 所有者信息

    • 审计信息

    说明

    如果您想加速迁移海量数据(例如,10 T以上的上亿小文件),可通过在windows ECS上安装最新的Python程序执行迁移。具体操作,请参见如何加速迁移数据至NAS SMB协议文件系统

  3. 检查迁移结果。

    迁移完后,执行以下Robocopy命令,检查目标文件系统是否与源文件系统一致。

    ROBOCOPY Z:\ Y:\ /e /l /ns /njs /njh /ndl /fp /log:reconcile.txt

    重要字段说明如下,请根据实际情况替换。

    参数

    说明

    /e

    仅列出目录(包括空目录)。

    /l

    不修改或复制文件,仅记录差异。

    /fp

    指在日志中包括文件的完整路径(仅在省略/ndl时有必要)。

    /ns

    指不在日志中包括文件大小。

    /ndl

    指不在日志中包括文件夹。

    /njs

    指不包括作业摘要。

    /njh

    不包括作业头。

    /log:reconcile.txt

    将迁移结果写入reconcile.txt日志中。如果已存在,将覆盖现有日志。

通过IIS FTP迁移数据

当有少量文件需要一次性下载时,建议您在本地系统配置FTP客户端来完成,此方案具有以下优点:

方案优势

  • 支持众多操作系统平台。

  • 提供图形化操作界面。

操作步骤

具体操作,请参见设置Windows IIS Web服务

说明
  • 需在VPC安全组打开对应的FTP TCP端口。

  • 您也可以配置其他FTP服务端和客户端进行公网上传下载数据。

  • 弹性公网IP对入方向流量不收费,仅对出方向流量收费。也就是说,从公网上传数据到NAS不会收取流量费用,而从NAS下载数据则会收取流量费用。计费详情请参见弹性公网IP按量付费

将数据迁移至OSS后再下载

您可以通过ossutil工具或在线迁移服务将数据同步到OSS,然后在OSS侧下载数据到本地文件。

  1. 将数据迁移至OSS

  2. OSS侧下载文件到本地。具体操作,请参见简单下载