この記事では、ファイル共有が異なるストレージ アカウントにある場合でも、Azure File Sync を使用しているときに、ある SMB Azure ファイル共有から別の SMB Azure ファイル共有にファイルを移行する方法について説明します。 このプロセスは、クラウドを使った階層化が有効になっているかどうかによって異なります。
クラウドを使った階層化の状態は、 Azure portal でサーバー エンドポイントのプロパティの下から確認できます。 クラウドを使った階層化がオフの場合は、「クラウドを使った階層化がオフのときにファイルを移行する」を参照してください。 クラウドを使った階層化がオンの場合は、「クラウドを使った階層化がオンのときにファイルを移行する」を参照してください。
クラウドを使った階層化がオフのときにファイルを移行する
クラウドを使った階層化を使用していない場合、すべてのデータは Azure File Sync サーバー上にローカルに存在し、このデータを Azure File Sync を使用して別のファイル共有にアップロードできます。
次の手順では、同期グループに Azure File Sync サーバーが 1 つあることを前提としています。 既存の共有に複数のAzure File Syncサーバーが接続されている場合は、まず他のすべてのサーバーエンドポイントを削除してください。 1 つのエンドポイント上で完全な移行を実行し、それから他のサーバー エンドポイントを新しい同期グループに再接続してください。
サーバー エンドポイントでクラウドを使った階層化がオフになっていることを確認します。 Azure portal で、サーバー エンドポイントのプロパティの下から状態を確認および変更できます。
Invoke-StorageSyncFileRecall コマンドレットを実行し、-PerFileRetryCount パラメーターを使用して、呼び戻しに失敗したファイルが再試行されるようにします。 このコマンドレットを 1 回目に実行する際にアクティブなクラウド階層化セッションが存在している可能性があるため、コマンドレットを 2 回実行して概要出力を確認し、すべてのファイルが完全に呼び戻されてサーバー上のローカルに存在するのを確認することをお勧めします。それから次の作業を進めます。
ターゲットとして新しい SMB Azure ファイル共有を作成します。
新しい同期グループを作成 し、作成した Azure ファイル共有にクラウド エンドポイントを関連付けます。 同期グループは、新しいターゲット Azure ファイル共有と同じリージョンのストレージ同期サービスに存在している必要があります。
次に、2 つのオプションがあります。同じローカル ファイル サーバーを使用して新しい Azure ファイル共有にデータを同期するか (推奨)、新しいAzure File Sync サーバーに移動することができます。
新しい Azure File Sync サーバーに移動する (省略可能)
同じローカル ファイル サーバーを使用する予定の場合は、このセクションをスキップして、「新しい Azure ファイル共有に接続する」に進んでください。
新しいローカル Azure File Sync サーバーに移動する場合は、Storage Migration Service (SMS) を使用して以下を実行できます。
- すべての共有レベルのアクセス許可をコピーする
- 移行中に発生した変更を取り込むためにいくつかのパスを作成する
- 新しいサーバーへの一括移行を調整する
必要な作業は、新しいオンプレミス ファイル サーバーを設定し、新しいサーバーを Azure File Sync と新しいクラウド エンドポイントに接続することです。 その後に、SMS を使用してソース サーバーからターゲット サーバーに移行します。
必要に応じて、ソース共有を既存のファイル サーバー上の別の共有に手動でコピーできます。
新しい Azure ファイル共有に接続する
次の手順に従い、新しい Azure ファイル共有に接続します。
既存のサーバーエンドポイントを削除してください。 この操作はすべてのデータを保持しますが、既存の同期グループやファイル共有との関連付けは削除されます。
新しい同期グループが同じストレージ同期サービスに属していなければ、そのサーバーをそのストレージ同期サービスから 登録解除 し、新しいサービスに登録してください。 サーバーを登録できるストレージ同期サービスは、一度に 1 つに限られることに注意してください。
作成した同期グループに新しいサーバー エンドポイントを作成し、同じローカル データに接続します。
クラウドを使った階層化がオンのときにファイルを移行する
Azure File Syncのクラウドティアリング機能を使用している場合は、Azure内のデータをコピーしてソースを通じた不要なクラウドリコールを防ぎましょう。 同じ地域内で移動するのか、地域をまたぐのかによってプロセスが若干異なります。 移行プロセスでは常に、一括移行中にダウンタイムが必要です。
Azure File Sync 登録済みサーバーは、1 つのストレージ同期サービスにのみ参加でき、ストレージ同期サービスは共有と同じリージョンに存在する必要があります。 したがって、リージョン間を移動する場合は、ターゲット共有に接続された新しいAzure File Syncサーバーに移行する必要があります。 同じリージョン内で移動する場合は、既存のAzure File Syncサーバーを利用できます。
重要
移行シナリオで Azure ファイル共有をマウントする場合は、必ずストレージ アカウント キーを使用して、VM がすべてのファイルにアクセスできることを確認してください。 ドメイン ID は使わないでください。
同じリージョン内の移行
クラウドを使った階層化がオンで、同じリージョン内で移行する場合は、次の手順に従います。 既存の Azure File Sync サーバーを使用する (図を参照)、あるいは、既存の共有への影響を懸念している場合は、必要に応じて新しいサーバーを作成することもできます。
ターゲットの共有として新しい SMB Azure ファイル共有を作成します。
既存のストレージ同期サービスに新しい同期グループを作成し、クラウド エンドポイントをターゲットの共有に関連付けます。 既存の Azure File Sync サーバーを、新しい同期グループにまだ接続しないでください。
ソースとターゲットのファイル共有と同じ Azure リージョンに Windows Server VM (IaaS VM) をデプロイします。 良好なパフォーマンスを得るためには、少なくとも56 GiBのメモリとプレミアムストレージを備えたマルチコアVMタイプを使いましょう。
IaaS VM では、ソースとターゲットに異なるディスクを使用します。 既存の同期グループに接続されているソース データに 小さなディスクを1 つ使用し、さらにデータ セット全体を保持できる大きなディスクを 1 つ使用します。
Azure File Sync エージェントを IaaS VM にインストールし、サーバーを登録します。
Azure portal で、元の同期グループ (ソース共有) に移動し、IaaS VM にサーバー エンドポイントを作成します (小さいディスクを使用)。 このサーバー エンドポイントでクラウドの階層化を有効にします。
Azure portal で、新しい同期グループ (ターゲットの共有) に移動し、IaaS VM にサーバー エンドポイントを作成します (大きい方のディスクを使用します)。
これでIaaSのVMにアクセスし、ソースシェアとターゲットシェア間の 初期データコピー を開始できます。
リージョン間での移行
クラウドを使った階層化がオンで、別の Azure リージョンのファイル共有に移行する場合は、次の手順に従います。 リージョン間で移行するには、ターゲット共有に接続されている新しい Azure File Sync サーバーに移行する必要があります (図を参照)。
ターゲットの共有として新しいリージョンに新しい SMB Azure ファイル共有を作成します。
ターゲット リージョンにストレージ同期サービスを作成し、ターゲット共有にアタッチされた同期グループを作成します。
新しいリージョン内のターゲット共有と同期する新しいオンプレミス Azure File Sync ファイル サーバーを作成します。 新しいサーバーは、ターゲット同期グループにまだ接続しないでください。
ソース データ用の小さなディスクを持つソース Azure File Sync VM をデプロイします。 ソース共有同期グループにサーバー エンドポイントを作成します。 このサーバー エンドポイントでクラウドの階層化を有効にします。
ソース共有と同じリージョンで、ターゲット Azure File Sync VM をデプロイし、このサーバーを新しいリージョンのストレージ同期サービスに登録します。 データ セット全体を保持できる大きなディスクを 1 つ使用します。
Azureポータルで新しいStorage Sync Serviceにアクセスし、ターゲット共有の同期グループに移動し、ターゲットAzure File Sync VM上でサーバーエンドポイントを作成します。
ターゲット Azure File Sync VM で、ソース Azure File Sync VM 上のソース共有にドライブをマウントします。
これで、ターゲットのAzure File Sync VM上でソースとターゲット共有間の初期データコピーを開始できます。
Robocopyによる初期データコピー
Windows に組み込まれているツールである Robocopy を使用して、ソースからターゲットの共有にファイルをコピーします。
Windows コマンド プロンプトでこのコマンドを実行します。 必要に応じて、ログ機能のフラグをベスト プラクティス (/NP、/NFL、/NDL、/UNILOG) として含めることができます。
robocopy <source> <target> /MIR /COPYALL /MT:16 /R:2 /W:1 /B /IT /DCOPY:DATソース共有が s:\ としてマウントされ、ターゲット共有が t:\ としてマウントされている場合、このコマンドは次のようになります。
robocopy s:\ t:\ /MIR /COPYALL /MT:16 /R:2 /W:1 /B /IT /DCOPY:DATRobocopyが進行中である間、オンプレミスのAzure File Syncサーバーをターゲットの同期グループに接続してください。 新しいサーバーエンドポイントの位置は、最初は空き容量を高く設定してください。なぜなら、最新の変更をコピーしているため、十分なスペースを確保する必要があるからです。 例えば、現在のキャッシュの位置が
D:\cacheなら、新しいサーバーエンドポイントにT:\cacheを使いましょう。 既存の Azure File Sync サーバー (同じリージョン内の移行用) を使用している場合は、ローカル キャッシュを既存のエンドポイントとは別のボリュームに配置します。 同じボリュームを使うのは問題ありませんが、そのディレクトリがソースシェアに接続されているサーバーエンドポイントのサブディレクトリでなければ問題ありません。 このエンドポイントでクラウドティアリングを有効にして、データが自動的にオンプレミスのサーバーにダウンロードされないようにしてください。 ターゲット同期グループでサーバーエンドポイントを作成した後、名前空間データの同期に時間を空けてください。最初の Robocopy の実行が正常に完了し、ソースからターゲットへの同期が完了するまで待ちます。 残りの変更がすべて同期されているか確認するために、さらに1時間待ちましょう。 すべての変更が同期されているか確認するには、「現在の同期セッションの進行状況を監視する方法?」をご覧ください。
最終的な変更を同期する
最終的な変更を同期する前に、既存の共有の SMB 共有を無効にするか、少なくとも読み取り専用にします。 SMB 共有をオフにした後、残りのすべての変更が確実に Azure に同期されるように 1 時間待ちます。
ソース ファイル共有とターゲットの間に接続がある場合は、最近の変更を Robocopy でターゲットへ移行できます。
robocopy s:\ t:\ /mir /copyall /mt:16 /DCOPY:DAT /XD S:\$RECYCLE.BIN /XD "S:\System Volume Information"
最新の変更を新しいファイル共有に直接コピーできない場合は、IaaS VM 上で Robocopy ミラー コマンドをもう一度実行します。 このコマンドは、最初の実行以降のすべての変更を同期し、すでにコピーされたものはスキップします。
robocopy s:\ t:\target /mir /copyall /mt:16 /DCOPY:DAT
IaaS VM の同期が完了すると、ローカル ターゲット エージェントも最新の状態になります。
新しいサーバー エンドポイントで共有を有効にする
新しいAzure File Syncサーバーに移行する場合は、古いサーバーをランダムな名前にリネームし、新しいサーバーも古いサーバーと同じ名前にリネームしてください。 こうすることで、エンドユーザーに対してファイル共有URLは同じままになります。
新しい共有 T:\cache を有効にします。 同じファイルのACLはすべてそこにあります。 古い共有にあった共有レベルの権限を再作成してください。
古いサーバー エンドポイントと同期グループを削除する
新しい同期グループですべてが正しく動作していることを確認したら、古い同期グループのプロビジョニングを解除できます。 まず、サーバー エンドポイントを削除します。 サーバー エンドポイントを削除する前に、すべてのデータを古いサーバーに呼び戻す必要はありません。