データ転送用の中継ノードを設定した後、移行ツールを使用して File Storage NAS にデータを移行します。このトピックでは、移行ツールを使用して Alibaba Cloud 以外のソースから File Storage NAS にデータを移行する方法について説明します。
前提条件
データ転送の中継ノードとして Elastic Compute Service (ECS) インスタンスを設定済みであること。詳細については、「データ転送の中継ノードの設定」をご参照ください。
SFTP クライアントを使用したデータ移行
少数のファイルを 1 回限りでアップロードする場合は、ローカルで SFTP クライアントを使用することを推奨します。この方法には、次の利点があります:
-
複数のオペレーティングシステムプラットフォームをサポートします。
-
グラフィカルユーザーインターフェイス (GUI) を提供します。
-
ローカルオペレーティングシステムに SFTP クライアントをインストールします。
さまざまな SFTP クライアントが利用可能です。このトピックでは、FileZilla を例として使用します。ご利用のローカルオペレーティングシステムと互換性のあるバージョンを選択し、SFTP クライアントをダウンロードしてインストールしてください。
-
SFTP クライアントを中継 ECS インスタンスに接続します。
-
FileZilla クライアントを開き、次の表に示すようにパラメーターを設定して、[クイック接続] をクリックします。
ECS サーバーに接続すると、左側のペインにローカルファイルシステムが表示され、右側のペインにサーバーのファイルシステムが表示されます。
パラメーター
説明
ホスト
中継 ECS インスタンスのパブリック IP アドレス。例:192.0.2.1。
ユーザー名
中継 ECS インスタンスのユーザー名。このユーザーは、NAS ファイルシステムディレクトリに対する読み取りおよび書き込み権限を持っている必要があります。例:root。
説明-
Linux ECS インスタンスのデフォルトのユーザー名は root または ecs-user です。
-
Windows ECS インスタンスのデフォルトのユーザー名は administrator です。
パスワード
中継 ECS インスタンスのログインパスワード。たとえば、root ユーザーのログインパスワードです。
説明中継 ECS インスタンスのパスワードを忘れた場合は、リセットして新しいパスワードを設定できます。詳細については、「インスタンスのログインパスワードのリセット」をご参照ください。
ポート
SFTP ポート番号。デフォルトは 22 です。
-
-
右側のペインで、[リモートサイト] フィールドに NAS ファイルシステムのマウントパス (/mnt など) を設定します。 Enter キーを押すと、NAS ファイルシステム内のファイルが表示されます。
-
-
データをアップロードします。
左側のペインから右側のペインにファイルまたはディレクトリをドラッグしてアップロードします。
rsync を使用したデータ移行
多数のファイルをアップロードする必要がある場合や、頻繁にアップロードタスクを実行する必要がある場合は、ローカルで rsync コマンドラインツールを使用することを推奨します。このツールには、次の利点があります:
-
所有者や権限情報を含むファイルメタデータを保持します。
-
増分同期をサポートします。
-
ローカルの Linux または macOS システムで crontab を設定して、File Storage NAS にデータを自動的にバックアップできます。
-
rsync をインストールします。
-
Linux オペレーティングシステム
オペレーティングシステム
コマンド
CentOS
yum を使用して rsync をインストールします。
sudo yum install rsyncRedhat
Ubuntu
apt を使用して rsync をインストールします。
sudo apt-get install rsyncDebian
説明他の Linux ディストリビューションを使用している場合は、対応するパッケージマネージャーを使用して rsync をインストールしてください。
-
macOS
homebrew パッケージマネージャーをダウンロードしてインストールし、次のコマンドを実行して rsync をインストールします。
brew install rsync -
Windows オペレーティングシステム
Cygwin 環境をダウンロードしてインストールします。インストールプロセス中に rsync を検索してインストールするか、手動で rsync をダウンロード、コンパイル、インストールできます。
説明VPC セキュリティグループで SSH ポート (TCP 22) を開く必要があります。
-
-
データをアップロードします。
次のコマンドを実行して、ローカルディレクトリを File Storage NAS に増分同期してアップロードします。
rsync -avP DirToSync/ root@192.0.2.0:/mnt/DirToSync/コマンド内のサンプル値を実際の値に置き換えてください。次の表にパラメーターを示します。
パラメーター
説明
DirToSync
アップロードするローカルディレクトリの名前。
root
中継 ECS インスタンスのユーザー名。
192.0.2.0
中継 ECS インスタンスのパブリック IP アドレス。
/mnt
中継 ECS インスタンス上の NAS ファイルシステムのマウントパス。
説明-
rsync コマンドのソースパスはスラッシュ (/) で終わる必要があります。そうしないと、同期後にデータパスが正しくなくなります。
-
rsync を使用してデータを同時にコピーするには、次のコマンドを実行します:
threads=<number_of_threads>; src=<source_path/>; dest=<destination_path/>; rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )たとえば、スレッド数を 10、ソースパスを /abc、宛先パスを
/mnt1に設定するには、次のコマンドを実行します:threads=10; src=/abc/; dest=/mnt1/; rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )
-
-
オプション:定期的なバックアップタスクの設定
ローカルの Linux または macOS システムでは、rsync コマンドと crontab を使用して、定期的なアップロードおよびバックアップタスクを設定できます。
-
Linux オペレーティングシステム
-
ローカルシステムから ECS インスタンスへのパスワードレス SSH 接続を作成します。詳細については、「キーペアを使用した Linux インスタンスへの接続」をご参照ください。
次のコマンドを実行して接続を確認します:
ssh -i ~/.ssh/ecs.pem root@1.2.3.4説明~/.ssh/ecs.pem は、キーファイルがローカルに保存されているパスです。
-
crontab を設定します。
crontab -eコマンドを実行してエディターを開き、定期的なアップロードタスクを設定します。以下は設定例です:0 23 * * * rsync -av -e "ssh -i ~/.ssh/ecs.pem" ~/Documents/ root@192.0.2.0:/mnt/Documents/この crontab 設定は、現在のユーザーの Documents ディレクトリを毎日 23:00 に File Storage NAS に自動的にバックアップします。必要に応じてパラメーターを変更してください。
-
-
macOS
-
/usr/sbin/cron ディレクトリにディスクアクセス権限を付与します。
システム設定に移動し、 を選択し、[ロック解除] をクリックし、次に [+] をクリックします。Macintosh HD ディレクトリを選択し、[Cmd]+[Shift]+[.] を押して非表示のディレクトリを表示させ、次に /usr/sbin/cron を選択します。
-
ローカルシステムから ECS インスタンスへのパスワードレス SSH 接続を作成します。詳細については、「キーペアを使用した Linux インスタンスへの接続」をご参照ください。
次のコマンドを実行して接続を確認します:
ssh -i ~/.ssh/ecs.pem root@1.2.3.4説明~/.ssh/ecs.pem は、キーファイルがローカルに保存されているパスです。
-
crontab を設定します。
crontab -eコマンドを実行してエディターを開き、定期的なアップロードタスクを設定します。以下は設定例です:0 23 * * * rsync -av -e "ssh -i ~/.ssh/ecs.pem" ~/Documents/ root@1.2.3.4:/mnt/Documents/この crontab 設定は、現在のユーザーの Documents ディレクトリを毎日 23:00 に File Storage NAS に自動的にバックアップします。必要に応じてパラメーターを変更してください。
-
説明rsync を使用したデータ移行でパフォーマンスが低下する場合は、fpsync ツールを使用してマルチスレッド移行を行ってください。詳細については、「付録:fpsync コマンドラインツールを使用したデータ移行」をご参照ください。
-
Robocopy を使用したデータ移行
Robocopy は、Windows に組み込まれているディレクトリレプリケーションコマンドラインツールです。不要な重複ファイルをコピーすることなく、2 つのディレクトリの完全なミラーを作成できます。Robocopy は、日付とタイムスタンプを含むすべてのファイルメタデータも保持します。
-
中継 ECS インスタンスにログインします。
-
データを移行します。
次のコマンドを実行して、ソースファイルシステム (ドライブ Z) から宛先ファイルシステム (ドライブ Y) にデータを移行します:
robocopy Z:\ Y:\ /e /w:5 /z /mt:32説明このコマンドは、指定されたディレクトリ内のデータのみを移行し、ディレクトリ自体は移行しません。
次の表に、重要なパラメーターを示します。実際の値に置き換えてください。
パラメーター
説明
/mt
並行スレッドの数。デフォルトは 8 です。
有効な値:1~128。
この例では、マルチスレッドコピーに 32 スレッドを使用します。
/w
再試行間の待機時間を秒単位で指定します。
/z
再開可能な転送を有効にします。
/e
空のサブディレクトリを含むすべてのサブディレクトリをコピーします。
/copyall
すべてのファイル情報をコピーします。これには以下が含まれます:
-
データ
-
属性
-
タイムスタンプ
-
アクセス制御リスト (ACL)
-
所有者情報
-
監査情報
説明合計サイズが 10 TB を超える 1 億個以上のスモールファイルなど、大量のデータの移行を高速化するには、Windows ECS インスタンスに最新の Python プログラムをインストールして移行を実行できます。詳細については、「Apsara File Storage NAS の SMB ファイルシステムへのデータ移行を高速化する方法」をご参照ください。
-
-
移行結果を検証します。
移行が完了したら、次の 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 を使用したデータ移行
少数のファイルを 1 回限りでアップロードする場合は、ローカルシステムに FTP クライアントを設定することを推奨します。この方法には、次の利点があります:
-
複数のオペレーティングシステムプラットフォームをサポートします。
-
グラフィカルユーザーインターフェイスを提供します。
ECS インスタンスで IIS FTP サービスを設定し、ローカルシステムで FTP クライアントを設定するには、「Windows IIS の設定」をご参照ください。
-
VPC セキュリティグループで対応する FTP TCP ポートを開く必要があります。
-
他の FTP サーバーとクライアントを設定して、パブリックネットワーク経由でデータをアップロードおよびダウンロードすることもできます。
-
Elastic IP (EIP) へのインバウンドトラフィックは無料ですが、アウトバウンドトラフィックは課金されます。したがって、パブリックネットワーク経由で File Storage NAS にデータをアップロードするのは無料ですが、データをダウンロードすると料金が発生します。課金の詳細については、「従量課金制 EIP」をご参照ください。
付録:fpsync を使用したデータ移行
-
fpsync をダウンロードしてインストールします。
wget -N https://github.com/martymac/fpart/archive/fpart-1.1.0.tar.gz -P /tmp tar -C /tmp/ -xvf /tmp/fpart-1.1.0.tar.gz cd /tmp/fpart-fpart-1.1.0 sudo yum install -y automake libtool autoreconf -i ./configure make sudo make install sudo yum install parallel -y printf "will cite" | parallel --bibtex sudo yum install -y rsync -
ファイルディレクトリ全体をコピーします。
fpsync -n 10 -f 10000 /data/src/ /data/dst/説明fpsync の詳細については、fpsync ツールドキュメントをご参照ください。
関連ドキュメント
データセンターから NAS 上の大量のデータを頻繁に読み書きする必要がある場合は、専用線を使用してデータセンターから直接 NAS ファイルシステムをマウントしてアクセスします。詳細については、「オンプレミスデータセンターからのファイルシステムへのアクセス」をご参照ください。
ECS インスタンスにアクセスするためのパブリックネットワーク帯域幅が、NAS に大量のデータをアップロードするには不十分な場合は、まずデータを Object Storage Service (OSS) にアップロードしてから File Storage NAS に移行することを検討してください。詳細については、「オブジェクトのアップロード」および「移行の実装」をご参照ください。
次のステップ
データがアップロードされた後、ECS インスタンスまたはコンテナに NAS ファイルシステムをマウントして、データを共有およびアクセスできます。
たとえば、ECS インスタンスでは、Linux で NFS ファイルシステムをマウントするか、Windows で SMB ファイルシステムをマウントして、ローカルデータであるかのように NAS ファイルシステムのデータにアクセスできます。詳細については、「Linux ECS インスタンスへの NFS ファイルシステムのマウント」および「Windows ECS インスタンスへの SMB ファイルシステムのマウント」をご参照ください。
複数のコンピュートノードが File Storage NAS に対して大量のデータを読み書きするクラウドアプリケーションを構築することもできます。たとえば、NGINX プロキシサーバーを使用して File Storage NAS にアクセスしたり、Windows IIS サービスを使用して File Storage NAS にアクセスしたりできます。
データ転送に中継 ECS インスタンスが不要になった場合は、インスタンスをリリースできます。詳細については、「インスタンスのリリース」をご参照ください。