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

Object Storage Service:ossimportを使用したデータの移行

最終更新日:Dec 20, 2023

ossimportを使用すると、ローカルストレージ、サードパーティストレージ、または任意のリージョンのOSSバケットから任意のリージョンのOSSバケットにデータを移行できます。 このトピックでは、ossimportを使用してサードパーティストレージからOSSにデータを移行する方法について説明します。

背景情報

ユーザーは、Tencent Cloud Object Storage (COS) の広州リージョンに500テラバイトのデータを保存しています。 ossimportを使用して、1週間以内に中国 (杭州) リージョンのOSSバケットにデータを移行したいと考えています。 移行プロセス中にビジネスが適切に実行される必要があります。

ossimportは、スタンドアロンモードまたは分散モードで展開できます。

  • スタンドアロンモードは、サイズが30テラバイト未満のデータの移行に適しています。

  • 分散モードは、サイズが30テラバイトを超えるデータの移行に適しています。

500テラバイトのデータを移行するには、ossimportを分散モードでデプロイします。

説明

データオンライン移行を使用して、データを簡単に移行することもできます。 詳細については、「バックグラウンド情報」をご参照ください。

始める前に

  • OSSを有効にし、中国 (杭州) リージョンでバケットを作成します。

    • OSSを有効化する方法の詳細については、「OSSの有効化」をご参照ください。

    • バケットの作成方法の詳細については、「バケットの作成」をご参照ください。

  • RAMユーザーを作成し、RAMユーザーにOSSへのアクセス権限を付与します。

    RAMコンソールでRAMユーザーを作成し、RAMユーザーにOSSへのアクセス権限を付与し、AccessKey IDとAccessKey Secretを保存します。 詳細については、「開始前」をご参照ください。

  • ECSインスタンスを購入します。 このステップは省略可能です。

    OSSバケットと同じリージョンでElastic Compute Service (ECS) インスタンスを購入します。 ECSインスタンスタイプの詳細については、「汎用インスタンスファミリー」をご参照ください。 データ移行後にECSインスタンスをリリースする場合は、ビジネス要件に基づいてECSインスタンスを購入することを推奨します。

    説明

    ossimportを少数のマシンにデプロイする場合は、ローカルにデプロイできます。 ossimportを多数のマシンにデプロイする場合は、ECSインスタンスにデプロイすることを推奨します。 この例では、ECSインスタンスを使用して、データ移行タスクを実行する方法を示します。

    必要なECSインスタンスの数は、次の式に基づいて計算されます。必要なECSインスタンスの数=X/Y/(Z/100) 。 数式では、Xは移行するデータの量を示します。 Yは、移行に必要な時間を日数で示します。 Zはデータ移行速度をMbit/sで示します (1日あたり約Z/100テラバイト) 。 ECSインスタンスの移行速度が200 Mbit/s (1日あたり約2テラバイトのデータ移行) に達した場合、上記の例では36のECSインスタンス (500/7/2) を購入する必要があります。

  • ossimportの設定

    この例の大規模な移行要件を満たすには、ECSインスタンスに分散モードでossimportをデプロイする必要があります。 conf/job.cfgconf/sys.properties、同時実行制御など、分散モードでossimportを展開するために必要なパラメーターを構成する方法の詳細については、「概要」をご参照ください。 ossimportのダウンロードや構成時の一般的なエラーのトラブルシューティングなど、分散デプロイメントでの操作の詳細については、「分散デプロイメント」をご参照ください。

移行ソリューション

次の図は、分散モードでサードパーティストレージからOSSにデータを移行するプロセスを示しています。

説明

ECSインスタンスに分散モードでossimportをデプロイした後、ossimportはCOSの広州リージョンから中国 (杭州) リージョンにあるECSインスタンスにデータをダウンロードします。 インターネット経由でデータをダウンロードするには、ossimportを使用することを推奨します。 ossimportを使用してECSインスタンスから中国 (杭州) リージョンのOSSバケットにデータをアップロードするには、内部ネットワークを使用することを推奨します。

image

移行プロセスでは、移行元と移行先バケットへのアクセス料金、移行元のアウトバウンドトラフィック料金、ECSインスタンス料金、データストレージ料金が発生します。 1テラバイトを超えるデータを移行する場合、ストレージコストは移行に必要な時間に比例します。 アウトバウンドトラフィック料金とストレージ料金と比較して、ECSインスタンスを使用すると発生する料金が少なくなります。 データ移行のためにより多くのECSインスタンスを使用すると、移行に必要な時間が短縮されます。

データの移行

  1. T1より前に最後に変更されたすべてのデータを移行する

    詳細については、「実行中」をご参照ください。

    重要

    T1は、UNIXの時刻形式に続くタイムスタンプです。 1970年1月1日木曜日00:00:00から経過した秒数です。 date + % sを実行してT1を取得する

  2. ミラーリングベースのback-to-originルールを設定します。

    オリジンは、移行中に新しいデータを生成し続けます。 ビジネスの継続性とシームレスな切り替えを確保するには、ミラーリングベースのback-To-originルールを設定する必要があります。 ルールを設定した後、ユーザーによって要求されたオブジェクトがOSSに存在しない場合、OSSはこれらのオブジェクトをオリジンから取得し、ユーザーに返します。 詳細については、「概要」をご参照ください。

  3. job.cfg設定ファイルを開き、importSince=T1を指定して移行タスクを再起動し、T1からT2に生成された増分データを移行します。

  4. ビジネスシステムの読み取りおよび書き込み操作をOSSに切り替えます。 このとき、業務システムは時刻T2を記録する。

    説明
    • ステップ4が完了すると、ビジネスシステム上のすべての読み取りおよび書き込み操作がOSSに切り替えられます。 サードパーティのストレージに保存されているデータは、履歴データのコピーのみであり、ビジネス要件に基づいて保持または削除できます。

    • ossimportはデータのみを移行および検証し、データを削除しません。

参考資料

ossimportの詳細については、以下のトピックを参照してください。

分散デプロイメント

概要

FAQ