すべてのプロダクト
Search
ドキュメントセンター

File Storage NAS:Robocopy を使用したデータ移行

最終更新日:Jan 31, 2026

このトピックでは、Robocopy を使用して File Storage NAS のサーバーメッセージブロック (SMB) ファイルシステム間でデータを移行する方法について説明します。


概要

この方法を使用する状況

シナリオ

推奨事項

小規模から中規模のデータセット (10 TB 未満)

Robocopy (このトピック)

数百万の小規模ファイルを含む大規模なデータセット (10 TB 超)

Python 並列移行スクリプト (「よくある質問」をご参照ください)

リージョン間またはアカウント間の移行

Cloud Enterprise Network (CEN) 接続を使用した Robocopy

仕組み

Robocopy は、ディレクトリ構造のミラーコピーを作成し、ファイル属性とタイムスタンプを保持します。このツールは重複ファイルをスキップするため、増分同期に効率的です。

課金

データ移行には、以下の費用が発生します:

サービス

説明

ECS

料金はインスタンスの構成に基づいて適用されます。詳細については、「概要」をご参照ください。

NAS

両方のファイルシステムにストレージ使用量料金が適用されます。詳細については、「課金の概要」をご参照ください。

CEN

CEN を介して VPC を接続する場合、トランジットルーターに料金が適用されます。詳細については、「課金」をご参照ください。


前提条件

開始する前に、以下を確認してください:

  • 移行するデータを含むソース SMB ファイルシステム

  • 移行されたデータを受信する宛先 SMB ファイルシステム

  • 各 SMB ファイルシステム用の Virtual Private Cloud (VPC) タイプのマウントポイント

  • ソースと宛先のファイルシステム間のネットワーク接続 (同じ VPC、または CEN で接続された VPC)


データ移行

Elastic Compute Service (ECS) インスタンスを作成し、両方の SMB ファイルシステムをマウントし、Robocopy を実行してデータをレプリケーションします。

ステップ 1: 環境の準備

ECS インスタンスが両方のファイルシステムにアクセスできることを確認します。

  1. ソースファイルシステムのマウントポイント情報を取得します。

  2. シナリオに基づいて宛先ファイルシステムを構成します:

    シナリオ

    アクション

    同じ VPC

    ステップ 2: ECS インスタンスの作成 に進みます。

    同じリージョン内の異なる VPC

    宛先ファイルシステムのマウントポイントを作成し、CEN を使用して VPC を接続します。

    異なるアカウントまたはリージョン

    CEN を使用して VPC を接続します。

ステップ 2: ECS インスタンスの作成

重要:データ移行専用の ECS インスタンスを作成してください。既存のインスタンスを使用すると、実行中のワークロードに割り当てられている CPU とネットワーク帯域幅を消費する可能性があります。
  1. ECS コンソールにログインし、[インスタンスの作成] をクリックします。

  2. 以下のパラメーターを構成します:

    パラメーター

    構成

    リージョン

    ソースファイルシステムが存在するリージョンを選択します。

    ネットワークとゾーン

    ソースファイルシステムの VPC、ゾーン、および vSwitch を選択します。

    インスタンス

    100 GB 未満の移行の場合は、最小仕様を選択します。1 TB を超える移行の場合は、少なくとも 8 vCPU と 16 GiB のメモリを選択します。

    画像

    最適な互換性のために Windows Server 2019 を選択します。

    ストレージ

    [Elastic Ephemeral Disk | NAS File System | Dedicated Block Storage Cluster(Optional)] をクリックし、次に [ファイルシステムの追加] をクリックします。

    Windows Server 2025 を使用する場合は、NAS ファイルシステムをマウントする前に SMB 署名を無効にしてください。管理者として PowerShell で次のコマンドを実行し、インスタンスを再起動します:

    reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v RequireSecuritySignature /t REG_DWORD /d 0 /f

ステップ 3: ファイルシステムのマウント

  1. ソースと宛先の両方のファイルシステムを ECS インスタンスにマウントします。

  2. マウントを検証します:

    net use

    期待される出力:

    Status     Local      Remote                                                Network
    -------------------------------------------------------------------------------
    OK         Y:         \\29e9c24****-eab13.cn-hangzhou.nas.aliyuncs.com\myshare
                                                                               Microsoft Windows Network
    OK         Z:         \\29fe7f4****-txr31.cn-hangzhou.nas.aliyuncs.com\myshare
                                                                               Microsoft Windows Network

ステップ 4: Robocopy の実行

次のコマンドを実行して、ソースファイルシステム (Z:) から宛先ファイルシステム (Y:) にデータを移行します:

robocopy Z:\ Y:\ /E /COPY:DAT /MT:8 /R:3 /W:5

パラメーター

説明

/E

空のディレクトリを含むサブディレクトリをコピーします。

/COPY:DAT

データ、属性、タイムスタンプをコピーします。

/MT:8

マルチスレッドコピーに 8 スレッドを使用します。

/R:3

リトライ回数を 3 回に制限します。

/W:5

リトライ間の待機時間を 5 秒に設定します。

警告:NAS から NAS への移行には /COPYALL を使用しないでください。NAS SMB は完全な NTFS セキュリティ属性をサポートしていません。/COPYALL を使用すると、「A required privilege is not held by the client」というエラーが発生します。

ステップ 5: 移行の検証

次のコマンドを実行して、データ整合性を検証します:

robocopy Z:\ Y:\ /E /L /NS /NJS /NJH /NDL /FP /LOG:reconcile.txt

パラメーター

説明

/L

ファイルをコピーせずに差分をリストします。

/NS

ログからファイルサイズを除外します。

/NJS

ジョブの概要を除外します。

/NJH

ジョブヘッダーを除外します。

/NDL

ログからフォルダ名を除外します。

/FP

ログに完全なファイルパスを含めます。

/LOG:reconcile.txt

結果を reconcile.txt に書き込みます。


新しいファイルシステムへのワークロードの切り替え

移行後、すべての ECS インスタンスとコンテナーで元のファイルシステムをアンマウントし、新しいファイルシステムをマウントします。

ECS インスタンス

  1. net use を実行してマウント情報を取得します。

  2. 元のファイルシステムをアンマウントします:

    net use Z: /delete
  3. 新しいファイルシステムを元のドライブ文字にマウントします。

  4. ファイルシステムにアクセスするプロセスを再起動します。

  5. auto_mount.bat ファイルを新しいマウントポイントで更新します。

Windows コンテナ

  1. YAML 設定ファイルを新しいマウントポイントで変更します。

  2. 変更された構成で新しい Pod を生成します。

  3. 元のファイルシステムを使用するすべての Pod をリサイクルします。

重要:ワークロードを切り替えた後、少なくとも 1 週間は元のファイルシステムのデータを保持してください。すぐに削除すると、誤った削除や同期によってデータが失われる可能性があります。

よくある質問

大規模なデータ移行を高速化する方法

数億の小規模ファイル (10 TB 超) を含む移行の場合は、Python ベースの並列移行スクリプトを使用します:

  1. Windows ECS インスタンスに最新の Python をインストールします。

  2. PATH 環境変数を設定します:

    set PATH=%PATH%;C:\python27
  3. migration.py スクリプトを ECS インスタンスにコピーします。

  4. 移行を実行します:

    python ./migration.py -s Z:\ -d Y:\

パラメーター

説明

-s <source path>

ソースディレクトリ、例:-s Z:\

-d <destination path>

宛先ディレクトリ、例:-d Y:\

-r BeginIndex:EndIndex

移行するサブディレクトリの範囲

-f

第 1 レベルのファイルのみを移行します

-i ignoredFile

移行から除外するファイル

複数クライアントによる並列移行の場合、各クライアントに異なるサブディレクトリ範囲を割り当てます:

  • クライアント 1: -r 0:9999

  • クライアント 2: -r 10000:19999


参考