このトピックでは、LocalFs を使用して Alibaba Cloud File Storage NAS (NAS) ファイルシステム間でデータを移行する方法について説明します。
概要
Alibaba Cloud データオンライン移行は、Alibaba Cloud NAS ファイルシステム間のデータ移行をサポートします。データオンライン移行は、Elastic Compute Service (ECS) インスタンスにマウントされた NAS ファイルシステムをローカルファイルシステムとして扱い、移行には LocalFs ソースを使用します。詳細については、「LocalFS ソース間でデータを移行するためのチュートリアル」をご参照ください。このトピックでは、さまざまな NAS 移行シナリオのベストプラクティスについて説明します。
Data Online Migration は、データ移行中にソースデータと移行済みデータ間の一致性を保証するものではありません。移行タスクが完了したら、必ず移行先データアドレスで移行済みデータを確認してください。移行先データアドレスで移行済みデータを確認する前にソースデータアドレスのデータを削除した場合、データ損失によって発生した損失と結果について責任を負うことになります。
移行フローチャート

始める前に
エージェントをデプロイする ECS インスタンスを作成する
各 ECS インスタンスには、少なくとも 4 CPU コア、8 GB のメモリ、20 GB の空きディスク領域が必要です。詳細については、「プロキシの選択」をご参照ください。
単一の ECS インスタンスの移行速度が不十分な場合は、複数の ECS インスタンスを使用できます。必要な ECS インスタンスの数は、次のように計算できます: 期待される移行速度 ÷ 単一インスタンスの移行速度。
ECS インスタンスを作成する際は、ソース NAS ファイルシステムをソース ECS インスタンスにマウントでき、移行先 NAS ファイルシステムを移行先 ECS インスタンスにマウントできることを確認してください。
NAS ファイルシステムを手動でマウントする
NAS ファイルシステム間の移行では、ソースと移行先のデータアドレス用に個別のチャネルを作成する必要があります。
チャネルに複数のプロキシインスタンスがある場合、NAS ファイルシステムがマウントされるローカルディレクトリは、対応する各 ECS インスタンスで同じでなければなりません。たとえば、ソースチャネルに 2 つの ECS インスタンスにデプロイされた 2 つのプロキシインスタンスがあるとします。ソース NAS ファイルシステムが最初の ECS インスタンスの `/mnt/src/` ローカルディレクトリにマウントされている場合、2 番目の ECS インスタンスでも `/mnt/src/` にマウントする必要があります。
NFS ファイルシステムなどの NAS ファイルシステムをマウントするには、NFS v3 プロトコルを使用します。詳細については、「NFS ファイルシステムのマウント」をご参照ください:
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt次の表に、マウントコマンドのパラメーターを示します。
パラメーター
説明
汎用型 NAS ファイルシステム: file-system-id.region.nas.aliyuncs.com:/ /mnt
超高速型 NAS ファイルシステム: file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt
`mount_address`:`NAS_file_system_directory` `local_path_to_mount` を示します。必要に応じて変数を置き換えてください。
mount_address: マウントアドレスは、File Storage NAS コンソールの [ファイルシステムリスト] ページで取得できます。対象のファイルシステムの横にある [管理] をクリックして、[マウントポイント] ページに移動します。詳細については、「マウントポイントの管理」をご参照ください。
NAS_file_system_directory: NAS ファイルシステムのルートディレクトリ (/) または任意のサブディレクトリ (例: /share)。サブディレクトリを指定する場合は、そのサブディレクトリが NAS ファイルシステムに存在することを確認してください。
説明超高速型 NAS ファイルシステムの共有ディレクトリは、/share、/share または /share/subdir のように `/share` で始まる必要があります。
local_path_to_mount: Linux ECS インスタンス上のルートディレクトリ (/) または任意のサブディレクトリ (例: /mnt)。サブディレクトリを指定する場合は、そのサブディレクトリが存在することを確認してください。
vers
ファイルシステムのバージョン。
vers=3: NFS v3 プロトコルを使用してファイルシステムをマウントします。
vers=4: NFS v4 プロトコルを使用してファイルシステムをマウントします。
この場合、
minorversionはプロトコルのマイナーバージョン番号です。NAS は NFS v4.0 をサポートしています。したがって、NFS v4 プロトコルを使用してファイルシステムをマウントする場合、マイナーバージョン番号は 0 です。
説明汎用型 NAS ファイルシステム: NFS v3 と NFS v4.0 をサポートします。
超高速型 NAS ファイルシステム: NFS v3 のみをサポートします。NFS v4 はサポートされていません。
マウントオプション
複数のマウントオプションを選択できます。オプションはカンマ (,) で区切ります。オプションは次のとおりです:
rsize: クライアントとファイルシステム間でデータを読み取るためのデータブロックのサイズを定義します。推奨値: 1048576。
wsize: クライアントとファイルシステム間でデータを書き込むためのデータブロックのサイズを定義します。推奨値: 1048576。
説明I/O サイズパラメーター (rsize および wsize) を変更するには、パフォーマンスの低下を避けるために最大値 (1048576) を使用してください。
hard: File Storage NAS が一時的に利用できなくなった場合、ファイルシステム上のファイルを使用するローカルアプリケーションは停止し、ファイルシステムがオンラインに戻るまで待機します。このパラメーターを有効にすることをお勧めします。
timeo: NFS クライアントがファイルシステムへのリクエストを再試行する前にレスポンスを待つ時間を 10 分の 1 秒単位で指定します。推奨値: 600 (60 秒)。
説明タイムアウトパラメーター (timeo) を変更する必要がある場合は、150 以上の値を使用することをお勧めします。timeo パラメーターの単位は 10 分の 1 秒なので、150 は 15 秒を表します。
retrans: NFS クライアントがリクエストを再試行する回数。推奨値: 2。
noresvport: ネットワークが再接続する際に新しい TCP ポートを使用し、ネットワーク障害からの回復中に接続が中断されないようにします。このパラメーターを有効にすることをお勧めします。
重要データ整合性の脅威があるため、soft オプションの使用は推奨しません。soft オプションを使用する場合、関連する脅威についてはお客様が責任を負うものとします。
デフォルト値と異なる他のマウントオプションを設定しないでください。読み取りまたは書き込みバッファサイズを変更したり、属性キャッシュを無効にしたりすると、パフォーマンスが低下する可能性があります。
コマンドとパラメーターを使用して NAS ファイルシステムを ECS インスタンス上の指定されたディレクトリにマウントし、マウントされた NAS ファイルシステムがデータ移行中に利用可能であることを確認してください。そうしないと、データが NAS ファイルシステムではなくローカルディスクに書き込まれる可能性があります。NAS ファイルシステムのマウントに関してご質問がある場合は、NAS のテクニカルサポートにお問い合わせください。
移行チュートリアル
ローカルファイルシステム間でデータを移行するのと同じ方法で、NAS ファイルシステム間でデータを移行できます。チュートリアルの詳細については、ローカルファイルシステム間でのデータの移行を参照してください。
移行速度は、ネットワークの状態、ファイルシステムのパフォーマンス、ディレクトリ構造など、複数の要因の影響を受けます。たとえば、移行速度は、ネットワークリンクの長さとレイテンシ、NAS の読み書き速度、ファイルが単一のディレクトリに保存されているかどうか、ソース NAS ファイルシステム内のディレクトリの数とレベル、平均ファイルサイズの影響を受けます。トンネル用に計算する ECS インスタンスの数は参考値です。実際の移行速度は期待に満たない場合があります。
例
例 1: 同じリージョンと VPC に存在する NAS ファイルシステム間でデータを移行する
ソース NAS インスタンスが中国 (北京) リージョンにあると仮定します。マウントポイントの VPC は vpc-nas で、vSwitch は vsw-nas です。ソース NAS には 200 TB の移行対象データが含まれています。移行先 NAS インスタンスも中国 (北京) リージョンにあります。そのマウントポイントの VPC も vpc-nas で、vSwitch も vsw-nas です。移行先ファイルシステムは空です。期待される移行速度は 2 Gbps です。
次の手順を実行します。
プロキシ ECS インスタンスのハードウェア構成を決定します。この例では、単一の ecs.c7.xlarge インスタンスが使用され、4 CPU コア、8 GB のメモリ、および 3 Gbps のベースライン帯域幅を提供します。
各チャネルに必要な ECS インスタンスの数を計算します: 2 Gbps (期待される移行速度) ÷ 3 Gbps (単一インスタンスの移行速度) = 0.6 ≈ 1。したがって、ソース NAS には 1 つの ECS インスタンス、移行先 NAS には 1 つの ECS インスタンスが必要です。
ECS コンソールで、ソース NAS ファイルシステム用に ecs.c7.xlarge タイプの ECS インスタンスを 1 つ作成し、移行先 NAS ファイルシステム用に同じタイプの ECS インスタンスをもう 1 つ作成します。ECS インスタンスを作成するときは、中国 (北京) リージョン、vpc-nas VPC、および vsw-nas vSwitch を選択します。ECS インスタンスに ECS-1 と ECS-2 という名前を付けます。
管理者として ECS-1 にログオンし、/mnt/src/ ディレクトリを作成し、ソース NAS ファイルシステムをそのディレクトリにマウントします。管理者として ECS-2 にログオンし、/mnt/dest/ ディレクトリを作成し、移行先 NAS ファイルシステムをそのディレクトリにマウントします。
重要NAS ファイルシステムが指定されたディレクトリにマウントされており、データ移行中に NAS ファイルシステムが使用可能であることを確認してください。
中国 (北京) リージョンの Data Online Migration コンソールでデータを移行します。詳細については、ローカルファイルシステム間でのデータの移行を参照してください。
ソーストンネルを作成します。ソースエージェントを作成します。「ネットワークタイプ」パラメータを専用線/VPN (VPC)に設定し、エージェントをソーストンネルに関連付けます。ECS-1 にエージェントをデプロイします。
移行先トンネルを作成します。移行先エージェントを作成します。「ネットワークタイプ」パラメータを専用線/VPN (VPC)に設定し、エージェントを移行先トンネルに関連付けます。ECS-2 にエージェントをデプロイします。
ソース NAS ファイルシステムのデータアドレスを作成します。データアドレスをソーストンネルに関連付け、ソースエージェントを選択します。移行するディレクトリパラメータを /mnt/src/ に設定します。
移行先 NAS ファイルシステムのデータアドレスを作成します。データアドレスを移行先トンネルに関連付け、移行先エージェントを選択します。移行するディレクトリパラメータを /mnt/dest/ に設定します。
ソースと移行先のデータアドレスを使用して移行タスクを作成します。
例 2: 同じリージョンに存在するが異なる VPC に存在する NAS ファイルシステム間でデータを移行する
ソース NAS インスタンスが中国 (北京) リージョンにあると仮定します。マウントポイントの VPC は vpc-nas-1 で、vSwitch は vsw-nas-1 です。ソース NAS には 200 TB の移行対象データが含まれています。移行先 NAS インスタンスも中国 (北京) リージョンにあります。そのマウントポイントの VPC は vpc-nas-2 で、vSwitch は vsw-nas-2 です。移行先ファイルシステムは空です。期待される移行速度は 2 Gbps です。
次の手順を実行します。
プロキシ ECS インスタンスのハードウェア構成を決定します。この例では、単一の ecs.c7.xlarge インスタンスが使用され、4 CPU コア、8 GB のメモリ、および 3 Gbps のベースライン帯域幅を提供します。
各チャネルに必要な ECS インスタンスの数を計算します: 2 Gbps (期待される移行速度) ÷ 3 Gbps (単一インスタンスの移行速度) = 0.6 ≈ 1。したがって、ソース NAS には 1 つの ECS インスタンス、移行先 NAS には 1 つの ECS インスタンスが必要です。
ECS コンソールで、ソース NAS ファイルシステム用に ecs.c7.xlarge タイプの ECS インスタンスを 1 つ作成します。ECS インスタンスを作成するときは、中国 (北京) リージョン、vpc-nas-1 VPC、および vsw-nas-1 vSwitch を選択します。ECS インスタンスに ECS-1 という名前を付けます。同様に、移行先 NAS ファイルシステム用に ecs.c7.xlarge タイプの ECS インスタンスを 1 つ作成します。ECS インスタンスを作成するときは、中国 (北京) リージョン、vpc-nas-2 VPC、および vsw-nas-2 vSwitch を選択します。ECS インスタンスに ECS-2 という名前を付けます。
管理者として ECS-1 にログオンし、/mnt/src/ ディレクトリを作成し、ソース NAS ファイルシステムをそのディレクトリにマウントします。管理者として ECS-2 にログオンし、/mnt/dest/ ディレクトリを作成し、移行先 NAS ファイルシステムをそのディレクトリにマウントします。
重要NAS ファイルシステムが指定されたディレクトリにマウントされており、データ移行中に NAS ファイルシステムが使用可能であることを確認してください。
中国 (北京) リージョンの Data Online Migration コンソールでデータを移行します。詳細については、ローカルファイルシステム間でのデータの移行を参照してください。
ソーストンネルを作成します。ソースエージェントを作成します。「ネットワークタイプ」パラメータを専用線/VPN (VPC)に設定し、エージェントをソーストンネルに関連付けます。ECS-1 にエージェントをデプロイします。
移行先トンネルを作成します。移行先エージェントを作成します。「ネットワークタイプ」パラメータを専用線/VPN (VPC)に設定し、エージェントを移行先トンネルに関連付けます。ECS-2 にエージェントをデプロイします。
ソース NAS ファイルシステムのデータアドレスを作成します。データアドレスをソーストンネルに関連付け、ソースエージェントを選択します。移行するディレクトリパラメータを /mnt/src/ に設定します。
移行先 NAS ファイルシステムのデータアドレスを作成します。データアドレスを移行先トンネルに関連付け、移行先エージェントを選択します。移行するディレクトリパラメータを /mnt/dest/ に設定します。
ソースと移行先のデータアドレスを使用して移行タスクを作成します。
例 3: 異なるリージョンと異なる VPC に存在する NAS ファイルシステム間でデータを移行する
ソース NAS インスタンスが中国 (北京) リージョンにあると仮定します。マウントポイントの VPC は vpc-nas-1 で、vSwitch は vsw-nas-1 です。ソース NAS には 200 TB の移行対象データが含まれています。移行先 NAS インスタンスは中国 (杭州) リージョンにあります。そのマウントポイントの VPC は vpc-nas-2 で、vSwitch は vsw-nas-2 です。移行先ファイルシステムは空です。期待される移行速度は 5 Gbps です。
次の手順を実行します。
NAS ファイルシステムは異なるリージョンにあるため、中国 (杭州) リージョンの NAS ファイルシステムを中国 (北京) リージョンの ECS インスタンスに直接マウントすることはできません。まず、Alibaba Cloud Enterprise Network (CEN) を使用して、リージョン間のマウントアクセスを有効にする必要があります。詳細については、「CEN を使用してアカウントとリージョンをまたいで NAS ファイルシステムをマウントする」をご参照ください。
プロキシ ECS インスタンスのハードウェア構成を決定します。この例では、単一の ecs.c7.xlarge インスタンスが使用され、4 CPU コア、8 GB のメモリ、および 3 Gbps のベースライン帯域幅を提供します。
各チャネルに必要な ECS インスタンスの数を計算します: 5 Gbps (期待される移行速度) ÷ 3 Gbps (単一インスタンスの移行速度) = 1.6 ≈ 2。したがって、ソース NAS には 2 つの ECS インスタンス、移行先 NAS には 2 つの ECS インスタンスが必要です。
ECS コンソールで、ソース NAS 用に ECS-Src1 および ECS-Src2 という名前の 2 つの ecs.c7.xlarge インスタンスを作成します。インスタンスを作成する際に、中国 (北京) リージョン、vpc-nas-1 VPC、および vsw-nas-1 vSwitch を選択します。次に、移行先 NAS 用に ECS-Dst1 および ECS-Dst2 という名前の 2 つの ecs.c7.xlarge インスタンスを作成します。これらのインスタンスも中国 (北京) リージョンに作成する必要があります。
管理者として ECS-Src1 および ECS-Src2 にログインし、`/mnt/src/` ディレクトリを作成して、ソース NAS をこのディレクトリにマウントします。次に、管理者として ECS-Dst1 および ECS-Dst2 にログインし、`/mnt/dest/` ディレクトリを作成して、移行先 NAS をこのディレクトリにマウントします。
重要NAS ファイルシステムが指定されたディレクトリにマウントされており、データ移行中に NAS ファイルシステムが使用可能であることを確認してください。
中国 (北京) リージョンのデータオンライン移行コンソールで、データを移行します。詳細については、「LocalFS ソース間でデータを移行するためのチュートリアル」をご参照ください。
ソース チャネルを作成します。2 つのソース プロキシを作成し、ネットワークタイプパラメーターを Leased Line/VPN (VPC) に設定し、それらをソース チャネルに関連付けます。2 つのプロキシを ECS-Src1 と ECS-Src2 にデプロイします。
移行先チャネルを作成します。2 つの移行先プロキシを作成し、ネットワークタイプパラメーターを Leased Line/VPN (VPC) に設定し、それらを移行先チャネルに関連付けます。2 つのプロキシを ECS-Dst1 と ECS-Dst2 にデプロイします。
ソース NAS ファイルシステムのデータアドレスを作成します。データアドレスをソーストンネルに関連付け、ソースエージェントを選択します。移行するディレクトリパラメータを /mnt/src/ に設定します。
移行先 NAS ファイルシステムのデータアドレスを作成します。データアドレスを移行先トンネルに関連付け、移行先エージェントを選択します。移行するディレクトリパラメータを /mnt/dest/ に設定します。
ソースと移行先のデータアドレスを使用して移行タスクを作成します。
移行に関するよくある質問
エージェントは管理者として起動する必要があります。
ソースデータアドレスに関連付けられたエージェントには、ソース NAS ファイルシステムのディレクトリ内のすべてのファイルとサブディレクトリを読み取る権限が必要です。そうでない場合、エージェントは NAS ファイルシステムからデータを読み取ることができず、データ移行は失敗します。
移行先データアドレスに関連付けられたエージェントには、移行先 NAS ファイルシステムのディレクトリ内のすべてのファイルとサブディレクトリに対する読み取りおよび書き込み権限が必要です。そうでない場合、エージェントは NAS ファイルシステムからデータを読み取ったり、NAS ファイルシステムにデータを書き込んだりすることができず、データ移行は失敗します。
NAS ファイルシステムに多数のディレクトリがあり、各ディレクトリに含まれるファイル数が少ない場合、ファイルのスキャン速度が遅くなることがあります。たとえば、ソース NAS ファイルシステムに 100 万個のファイルが 50 万個のディレクトリに分散して保存されている場合、ファイルのスキャン速度は 1 万個のディレクトリに分散している場合よりも遅くなります。
同じディレクトリに 200,000 個を超えるファイルが保存されている場合、エージェントがデプロイされている ECS インスタンスのオペレーティングシステムカーネルの同時実行制限と NAS ファイルシステムの同時実行制限により、移行速度が遅くなる可能性があります。
ディレクトリに過剰に多数のファイルが保存されている場合、またはディレクトリが変更されている場合、ディレクトリで list 操作を実行すると、NAS ファイルシステムの応答が遅くなるか、応答しなくなる可能性があります。この場合、移行タスクが中断される可能性があります。詳細については、NAS ファイルシステムのパフォーマンスに関する FAQ トピックの「ls コマンドを実行すると、ファイルシステムの応答が遅くなるか、応答しなくなるのはなぜですか?」セクションを参照してください。