近年、テレワークやPPAP問題の解決策としてクラウドストレージの導入が進んでいます。
このクラウドストレージへの切り替えの際には既存で利用しているファイルサーバのデータをクラウドストレージ上に移行する事が必須の条件となっております。
今回の記事では、Dropbox のデータ移行アドオンである「Movebot」を利用してファイルサーバ上にあるデータをDropbox(クラウドストレージ)に移行する検証を行いました。
データ移行の課題
データ移行は事前に検証を行っていても、実際のパフォーマンスと大きく乖離する可能性がある作業となります。データ移行でエラーが頻発し、スケジュールに間に合わないといった事も多くあるかと思います。データ移行をする際に、主に課題となるものとしては、以下の項目が挙げられます。
- 移行速度
- 移行ツールに対応していないファイル形式
- 特殊文字のため移行ツールが読み取らない
- セキュリティ
- コスト
課題を解決するために、ファイルサーバのデータを移行する場合は有用なデータ移行ツールを選定する事が必須の条件となっています。
今回はデータ移行ツールである「Movebot」について紹介したいと思います。
Movebot とは
移行ツールである「Movebot」はニュージーランド/クライストチャーチに本社があるCouchdrop社によって提供されています。
ローエンド・ハイエンドを問わず、クラウドストレージの移行を全てのマーケットで利用しやすいソリューションを提供しています。
- オンプレ(ファイルサーバ ) to クラウドストレージ
- クラウドストレージ to クラウドストレージ
の移行に対応していて、多くの種類のクラウドストレージで利用ができます。
※クラウドストレージ→オンプレ(ファイルサーバ)への移行は対応していません。
対応可能なストレージ(抜粋)
Movebotの特徴としては、非常にシンプルなインターフェイスで利用しやすくなっています。
移行事例も多くあり、一日あたり2TB~8TBを移行した実績もあります。(移行環境による)
Movebot の機能
Movebotでは移行する際に必要な機能を提供しています。
大きく分けて6つの機能があります。
- Simulation機能
- 移行対象ファイルの制限
- 特定のデータのみ移行
- アクセス権限の付与
- バージョン履歴の保持
- 移行レポートの作成
Simulation機能
移行する前、および計画段階で、移行結果を予測してくれるSimulation機能が存在します。
Simulationを実施することで、どの程度のデータを移行するのか、エラーとなるファイルを一覧として把握でき、実際の移行フェーズでスムーズに移行を行う事ができます。
Movebotは移行データ容量課金ツールですが、このSimulation機能は無料で利用する事ができます。
- Simulation結果から読み取れる情報
- データを所有しているユーザ数
- フォルダ構造
- アクセス権限
- ファイル数
- ファイル形式
- スキャンできないファイル
このSimulation機能はデータ移行を行う前に必須であり、この結果を元に移行スケジュールを作成していきます。
移行対象の制限
Movebotでは様々な条件から移行対象外とするデータの設定ができます。
- 作成日が指定日時以前のファイル
- 最終更新日が指定日時以前のファイル
- 拡張子
- ファイルサイズの大きさ
- 特定のフォルダパス
- 特定のファイル名
一つの移行でこれらの条件を複数選択する事ができ、不要なデータを対象外とすることで、
データの整理も合わせて行う事ができます。
特定のデータのみ移行
先ほどの移行対象外を指定する方法とは逆で、指定した条件に当てはまるデータのみ移行する設定が可能です。
条件としては、
- 作成日が指定日時以前のファイル
- 最終更新日が指定日時以前のファイル
- 拡張子
- ファイルサイズの大きさ
- 特定のフォルダパス
- 特定のファイル名
となっており、移行対象の制限の項目と同じとなっています。
アクセス権限の付与
データの移行と同時にアクセス権限の付与も行う事ができます。
権限の移行設定では、CSVファイルに記載した内容での権限付与や、GUI上で移行元のユーザ/グループと対応するクラウドストレージ上のユーザ/グループを指定して権限付与をすることができます。
アクセス権限付与にはかなり時間がかかるため、この機能を利用することはあまり推奨されておりません。移行元のアクセス権限が複雑であればあるほど、時間がかかり、移行スケジュールと大きく乖離してしまうことがあります。
バージョン履歴の保持
サポートされているプラットフォーム上でファイルのバージョンを保持することができます。
ただし、予期しない結果を招く可能性があり、移行のパフォーマンスに大きな影響を与えるため、この機能は推奨されておりません。
利用する場合には、バージョン履歴を何バージョン移行するかなど、細かな設定が可能です。
移行レポートの作成
Movebotでは移行結果を様々なレポートで提供してくれます。
作成するレポートの種類としては以下となります。
- Failures Report:移行に失敗したファイル/フォルダの一覧を表示します。
- Full Audit Log:移行されたすべてのファイルとフォルダーの詳細なログ、失敗とメタデータの一覧を表示します。
- Permission Report:移行元のアクセス権情報を表示します。
- Worker Logs:詳細なログ情報を記載するログです。他のレポートを使用して解決できない高度な問題のデバックに便利です。
- Folder Report:フォルダの深さやコンテンツサマリに関するレポートを提供する。
様々な情報を項目ごとに取得できるため、移行結果を把握するのにとても便利です。
Movebot検証結果
移行元にWindowsファイルサーバを指定する場合、移行用PCにWindowsエージェントをインストールする必要があります。
移行元の設定画面から「Windows Download」をクリックすれば、インストールする事ができます。
MovebotはWindowsエージェントとAWSを経由して移行を行います。
以下のような構成でデータ移行を行います。 構成図としては以下のようになります。
Movebotを利用して実際にWindowsのファイルサーバにあるデータをDropboxへと移行ができるか検証してみました。
検証項目
- 移行速度
- アクセス権限の移行
- 移行対象外の設定
- バージョン履歴の移行
- デルタ(差分)移行の挙動
移行速度
移行速度の検証では全て同じフォルダを利用して検証を行っています。
本移行検証は、AWSのEC2上にWindowsサーバを用意し移行検証を行いました。
移行元フォルダとして、Word, PowerPoint, ExcelファイルやZip, exeファイルなどを含んだ5GBのフォルダを作成しました。ファイル数は約5千ファイル、平均ファイルサイズは約1MBとし、企業の平均的なファイルサイズと同じになるよう作成しています。
移行PC1台目のスペック
- インスタンスタイプ:m4.xlarge
- CPU:4
- Memory:16GB
- ボリュームタイプ:gp2
- ボリュームサイズ: 50GiB
- OS:Windows Server 2019
移行用サーバ1台の場合
まずは、移行用サーバ1台で1つのジョブを実施してみました。
下記表が結果となります。
移行速度としては4.6MB/sという速度で1TB移行するのに約2.5日必要になります。
移行データ容量 | 並列度 | ファイル数 | 移行時間(m) | 移行速度(fps) | 移行速度(MB/s) |
---|---|---|---|---|---|
5GB | 1 | 5000 | 18 | 4.6 | 4.6 |
Movebotは同時に複数のジョブを実行する事で移行パフォーマンスが向上するとの記載があるため、
移行用サーバ1台で5つのジョブを並列して実行してみました。
移行データ容量 | 並列度 | ファイル数 | 移行時間(m) | 移行速度(fps) | 移行速度(MB/s) |
---|---|---|---|---|---|
5GB | 5 | 5000 | 25 | 3.3 | 3.3 |
5GB | 5 | 5000 | 27 | 3.1 | 3.1 |
5GB | 5 | 5000 | 27 | 3.1 | 3.1 |
5GB | 5 | 5000 | 26 | 3.2 | 3.2 |
5GB | 5 | 5000 | 24 | 3.5 | 3.5 |
結果を見ると、一つ一つのジョブの移行速度は減少していますが、
5つのジョブの移行速度を合計すると、16.1MB/sの移行速度が出ており、1つのジョブで移行した結果よりかなり移行速度が改善されていることが分かります。
以降は移行用Pサーバ1台あたり5ジョブを並列移行する方法で検証していきたいと思います。
移行用サーバ2台の場合
移行用サーバ1台では16.1MB/sという速度がでました。
移行用サーバ2台で同様の検証をした場合、どのように速度が変化するか検証していきます。
移行用PC2台目も1台目同様以下のスペックのPCを利用
- インスタンスタイプ:m4.xlarge
- CPU:4
- Memory:16GB
- ボリュームタイプ:gp2
- ボリュームサイズ: 50GiB
- OS:Windows Server 2019
移行用サーバ1,2でそれぞれ5ジョブずつ作成し、合計で10ジョブを並列で移行してみました。
以下が検証結果となります。
移行用サーバ1台目
移行データ容量 | 並列度 | ファイル数 | 移行時間(m) | 移行速度(fps) | 移行速度(MB/s) |
---|---|---|---|---|---|
5GB | 5 | 5000 | 28 | 3.0 | 3.0 |
5GB | 5 | 5000 | 30 | 2.8 | 2.8 |
5GB | 5 | 5000 | 24 | 3.5 | 3.5 |
5GB | 5 | 5000 | 27 | 3.1 | 3.1 |
5GB | 5 | 5000 | 27 | 3.1 | 3.1 |
移行用サーバ2台目
移行データ容量 | 並列度 | ファイル数 | 移行時間(m) | 移行速度(fps) | 移行速度(MB/s) |
---|---|---|---|---|---|
5GB | 5 | 5000 | 24 | 3.5 | 3.5 |
5GB | 5 | 5000 | 23 | 3.6 | 3.6 |
5GB | 5 | 5000 | 25 | 3.3 | 3.3 |
5GB | 5 | 5000 | 19 | 4.4 | 4.4 |
5GB | 5 | 5000 | 20 | 4.2 | 4.2 |
移行用サーバ1と2の合計速度:33.6MB/s
移行用サーバ1(並列度5)の時と比べ、1ジョブあたりの移行速度にほとんど差がない事が分かります。
移行用サーバ2台で移行を実施した場合は、移行サーバ1台と比べて2倍のスピードが出ています。
この速度で1TBのデータを移行しようとすると、約8.3時間で移行することが可能です。
1週間では、約20TBのデータを移行することができます。
移行速度に関しては申し分ないツールかと思いました。
アクセス権限の移行
Movebotではアクセス権限の設定もできるようなので、権限の設定も行ってみました。
アクセス権限の設定は、ジョブ単位で行うのではなく、プロジェクト単位で行う必要があります。
そのプロジェクト内に複数のジョブを作成することで、プロジェクトで指定したパラメータを各ジョブに反映させることができます。
画像のように、移行元、移行先のユーザ、グループを指定して、アクセス権限の付与をMovebotにて実施しました。
「アクセス権確認用」フォルダに対して権限付与を行ったところ下記画像のように設定される事が確認できました。
データのみの移行の場合、「Movebot検証用」フォルダのようにメンバー数が1であるのに対して、権限移行を行うと、「アクセス権確認用」フォルダのようにメンバー数が3となり、権限が付与されている事が分かります。
権限は正常に付与されていますが、Dropboxのフォルダの状態を確認すると、制限付きフォルダの設定に変更されています。
通常のフォルダであると、上位階層のフォルダのアクセス権限が変更されると、下位フォルダのアクセス権限も連動して上位階層と同じ権限へ変更されます。
制限付きフォルダの場合、上位階層のフォルダからアクセス権限が下位フォルダに引き継がれないため、一部アクセス制限を限定したいとき以外にこの設定になるのは好ましくありません。
移行対象外の設定
移行対象外設定ができるか確認するために移行元(ファイルサーバ)上にExcel、PowerPoint、Wordのファイルを用意しました。
今回の検証では、Excelファイル(拡張子.xlsx)を移行対象外として設定します。
設定後実際に移行を実施してみました。
移行結果としては、設定どおりExcelファイルが移行対象外となっていることが分かります。
拡張子以外にも、フォルダパスで移行対象外に設定したり、更新日時で移行対象外に設定出来たりと移行対象外のファイルを自由に設定することができました。
1つのジョブで移行対象外設定を複数選択できるので、データ移行時にフォルダ構成をスッキリする事ができると思います。
デルタ(差分)移行の挙動
Movebotの移行には通常の移行とデルタ移行の2種類が存在します。
デルタ移行とは一度移行したデータの移行元と移行先を比較し、移行元のデータに更新があったファイルや、新規で作成されたファイルのみ移行対象とする方法となっています。
こちらの画像ですが、一度ファイルサーバ上のデータをDropboxに移行した際のDropbox上のスクリーンショットとなります。
この初回の移行後、移行元のファイルサーバで2.xlsxのファイルを更新しました。
移行元ファイルの更新履歴が新しくなったので、デルタ移行で再度移行を実施してみました。
上記図でも分かる通り、
- デルタ移行前:2021-11-10 13:25
- デルタ移行後:2022-04-19 12:55
と更新されていることが分かります。
再度移行元ファイルサーバ上で2.xlsxのファイルを更新しました。
先ほどはデルタ移行にて差分のファイルをDropbox上に取り込みましたが、今度は通常の移行を実行したいと思います。
2.xlsxのファイル情報が更新されているのが分かります。
- 移行前:2022-04-19 12:55
- 移行後:2022-04-19 13:10
この結果を見ると、デルタ移行でも通常移行でも同様の結果となりました。
分かりにくいですが、移行結果のサマリを確認すると、通常の移行では、全てのファイルが再度Dropoxに送信されていますが、デルタ移行では更新のなかった4ファイルの移行はスキップされています。
通常の移行
デルタ移行
Movebotは移行したデータ容量で課金するツールですので、差分を吸収する時はデルタ移行を利用しましょう。
続いて、移行元ファイルサーバ上の5.xlsxファイルを削除して、デルタ移行を実施しました。
移行元と移行先を全く同じ構成にする機能があれば、Dropbox(移行先)上の5.xlsxファイルが削除されることが予想されます。
デルタ移行を実施した移行結果としは、Dropbox上のファイルは削除されることなく、5.xlsxファイルはDropbox上に残ったままでした。
Movebotには移行元と移行先のファイル情報を同じにするミラー機能は存在しないようです。
では、移行元ファイルサーバ上で6.xlsxのファイルを新規で作成して、デルタ移行を実施しました。
新規で6.xlsxのファイルがDropbox上に作成されていることが分かります。
この結果からMovebotでは、移行元でファイルの更新、新規作成があった場合はデルタ移行で差分を移行しますが、移行元でファイルが削除された場合は移行先でそのファイルを削除しないことが分かりました。
まとめ
Movebotについて検証をしてみましたが、移行速度も申し分ないので、十分移行ツールとして利用可能なツールといえると思います。
しかし、懸念点としては、差分移行時にミラー機能が存在しないため、移行元と移行先のフォルダ情報が全く同じにならない事が挙げられます。また、アクセス権限の付与に関しても、制限付きフォルダになってしまうという懸念点があります。
これらの懸念点のカバーとして、SCSKで開発したAPIツールを利用するができます。
SCSKで開発したAPIツールはミラー機能とアクセス権限付与機能があり、Movebotの移行で生じる懸念点を解消することができます。
このツールに興味がある方はこちらの記事を参照して頂けたらと思います。
データ移行でお困りの方は、ご連絡頂けたらと思います。