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

Data Online Migration:概要

最終更新日:Jun 11, 2025

ossimport は、オブジェクトストレージサービス (OSS) にデータを移行するためのツールです。ossimport をローカルサーバーまたは Elastic Compute Service (ECS) インスタンスにデプロイして、ローカルストレージまたはサードパーティのクラウドストレージから OSS にデータを移行できます。Alibaba Cloud は、GUI でクラウドにデータを移行したり、OSS バケット間でデータをレプリケートしたりするためのデータオンライン移行クロスリージョンレプリケーション機能も提供しています。

重要
  • ossimport は、移行後にデータの検証を行わないため、データの整合性と完全性は保証されません。移行タスクが完了したら、移行元と移行先のデータの整合性を必ず確認してください。

    移行元と移行先のデータの整合性を確認せずに移行元データを削除した場合、発生する損失と結果については、お客様の責任となります。

  • サードパーティのデータソースからデータを移行するには、データオンライン移行を使用することをお勧めします。

  • OSS バケット間でほぼリアルタイムにオブジェクトをレプリケートするには、OSS のクロスリージョンレプリケーション機能を使用することをお勧めします。

機能

  • ossimport は、オンプレミスのファイルシステム、Qiniu Cloud Object Storage (KODO)、Baidu Object Storage (BOS)、Amazon Simple Storage Service (Amazon S3)、Azure Blob Storage、UPYUN Storage Service (USS)、Tencent Cloud Object Service (COS)、Kingsoft Standard Storage Service (KS3)、HTTP および HTTPS URL リスト、Alibaba Cloud OSS など、幅広いデータソースをサポートしています。

  • ossimport は、スタンドアロンデプロイメントモードと分散デプロイメントモードをサポートしています。スタンドアロンモードは、デプロイと使用が簡単です。分散モードは、大規模なデータ移行に適しています。

    説明

    スタンドアロンモードでは、一度に移行できるバケットは 1 つだけです。

  • ossimport は、レジューム可能なアップロードをサポートしています。

  • ossimport は、トラフィック調整をサポートしています。

  • ossimport は、特定の時点以降に変更されたオブジェクトと、名前に特定のプレフィックスが含まれるオブジェクトの移行をサポートしています。

  • ossimport は、データの同時ダウンロードとアップロードをサポートしています。

課金

ossimport は無料で利用できます。ただし、ossimport を使用してインターネット経由でデータを移行する場合、データソース側でアウトバウンドトラフィック料金とリクエスト料金、OSS 側でリクエスト料金が発生する場合があります。移行中に転送アクセラレーションが使用された場合は、転送アクセラレーション料金が追加で発生します。

使用上の注意

  • 移行速度

    ossimport の移行速度は、データソースの読み取り帯域幅、ローカルネットワーク帯域幅、移行するファイルのサイズなど、いくつかの要因によって異なります。200 KB 未満のファイルの移行は、多数の小さなファイルを処理するために必要な IOPS が多いため、低速です。

  • アーカイブファイルの移行

    アーカイブファイルを移行する場合は、アーカイブファイルを復元してから移行する必要があります。

  • データステージング

    ossimport を使用してデータを移行する場合、データストリームは最初にローカルメモリに転送され、次に宛先にアップロードされます。

  • ソースデータの保持

    データ移行タスク中、ossimport はソースデータに対して読み取り操作のみを実行します。書き込み操作は実行しません。これにより、ソースデータが変更または削除されないことが保証されます。

  • ossutil を使用した移行

    30 TB 未満のデータを移行するには、ossutil を使用することをお勧めします。ossutil は、軽量で使いやすいツールです。-u、--update、および --snapshot-path オプションを使用して、ファイルを段階的に移行できます。詳細については、概要 を参照してください。

実行環境

ossimport は、次の要件を満たす Linux または Windows にデプロイできます。

  • Windows 7 以降

  • CentOS 6 または CentOS 7

  • Java 7 または Java 8

重要

ossimport は、分散モードでは Windows にデプロイできません。

デプロイメントモード

ossimport は、スタンドアロンデプロイメントモードと分散デプロイメントモードをサポートしています。

  • スタンドアロンデプロイメントは、30 TB 未満のデータの移行に適しています。ossimport をスタンドアロンモードでデプロイするには、スタンドアロンデプロイメント用の ossimport パッケージをダウンロードします。移行するデータと、データを移行する OSS バケットにアクセスできるデバイスに ossimport をデプロイできます。

  • 分散デプロイメントは、30 TB を超えるデータの移行に適しています。ossimport を分散モードでデプロイするには、分散デプロイメント用の ossimport パッケージをダウンロードします。移行するデータと、データを移行する OSS バケットにアクセスできる複数のデバイスに ossimport をデプロイできます。

    説明

    大量のデータの移行に必要な時間を短縮するには、OSS バケットと同じリージョンにある複数の ECS インスタンスに ossimport をデプロイし、Express Connect を使用してソースサーバーを仮想プライベートクラウド (VPC) に接続します。このようにして、ECS インスタンスを使用して、VPC 経由でより高速な移行速度でデータを移行できます。

    ossimport を使用して、インターネット経由でデータを送信することもできます。この場合、転送速度は、オンプレミスマシンの帯域幅の影響を受けます。

スタンドアロンモード

Master、Worker、Tracker、および Console モジュールは、ossimport2.jar に圧縮され、同じデバイス上で実行されます。システムにはワーカーが 1 つだけあります。

次のコードは、スタンドアロンモードでのファイル構造を示しています。

ossimport
├── bin
│ └── ossimport2.jar  // Master、Worker、Tracker、および Console モジュールを含む JAR パッケージ。
├── conf
│ ├── local_job.cfg   // スタンドアロンデプロイメントでのジョブ構成ファイル。
│ └── sys.properties  // システムパラメータを含む構成ファイル。
├── console.bat         // コマンドをステップバイステップで実行するために使用される Windows コマンドラインツール。
├── console.sh          // コマンドをステップバイステップで実行するために使用される Linux コマンドラインツール。
├── import.bat          // conf/local_job.cfg 構成ファイルに基づいて、数回クリックするだけで Windows 上で移行タスクを実行するスクリプト。このスクリプトは、移行タスクの開始、データの移行、データの検証、移行タスクの再試行など、移行タスクのすべてのステップをカプセル化します。
├── import.sh           // conf/local_job.cfg 構成ファイルに基づいて、数回クリックするだけで Linux 上で移行タスクを実行するスクリプト。このスクリプトは、移行タスクの開始、データの移行、データの検証、移行タスクの再試行など、移行タスクのすべてのステップをカプセル化します。
├── logs                // ログを含むディレクトリ。
└ ── README.md // ossimport の使用方法に関する説明を提供するファイル。ossimport を使用する前に、このファイルを読むことをお勧めします。
  • import.bat と import.sh は、数回クリックするだけで移行タスクを実行するために使用されるスクリプトです。local_job.cfg 構成ファイルを変更した後、これらのスクリプトを実行できます。

  • console.bat と console.sh は、コマンドをステップバイステップで実行するために使用されるコマンドラインツールです。

  • ossimport ディレクトリでスクリプトまたはコマンドを実行します。これは、*.bat ファイルと ファイルを含むディレクトリです。

分散モード

分散モードのossimportアーキテクチャは、マスターと複数のワーカーで構成されています。次のコードは、構造を示しています。

Master --------- Job --------- Console
    |
    |
   TaskTracker
    |_____________________
    |Task     | Task      | Task
    |         |           |
Worker      Worker      Worker

パラメーター

説明

マスター

マスターは、データサイズとファイル数によって移行タスクを複数のサブタスクに分割します。データサイズとファイル数は、sys.propertiesファイルで指定できます。マスターは、以下の手順を実行して移行タスクを複数のサブタスクに分割します。

  1. マスターは、ローカルストレージまたはサードパーティクラウドストレージから移行されるファイルの完全なリストを走査します。

  2. マスターは、データサイズとファイル数によってファイルを複数のサブタスクに分割します。各サブタスクは、ファイルの一部を移行または検証します。

ワーカー

  • ワーカーは、サブタスクのファイルを移行し、データを検証します。ワーカーは、データソースから特定のファイルをプルし、OSSの指定されたディレクトリにファイルをアップロードします。データソースと宛先OSSバケットは、job.cfgまたはlocal_job.cfg構成ファイルで構成できます。

  • ワーカーは、データ移行のスロットリングとカスタムの同時サブタスク数をサポートしています。設定は、sys.properties構成ファイルで構成できます。

TaskTracker

TaskTrackerは、サブタスクを配布し、サブタスクの状態を追跡します。TaskTrackerは、トラッカーと略されます。

コンソール

コンソールは、ユーザーと対話し、コマンド入力を受け取り、コマンド出力を表示します。コンソールは、deploy、start、stopなどのシステム管理コマンドと、submit、retry、cleanなどのジョブ管理コマンドをサポートしています。

ジョブ

ユーザーが送信したデータ移行タスク。1つのタスクは、1つのjob.cfg構成ファイルに対応します。

タスク

ファイルの一部を移行するサブタスク。移行タスクは、データサイズとファイル数によって複数のサブタスクに分割できます。移行タスクをサブタスクに分割するための最小単位はファイルです。1つのファイルは、複数のサブタスクに割り当てられません。

分散デプロイでは、複数のデバイスを起動し、各デバイスで1つのワーカーのみを実行してデータを移行できます。サブタスクはワーカーに均等に割り当てられ、ワーカーは複数のサブタスクを実行します。

次のコードは、分散モードでのファイル構造を示しています。

ossimport
├── bin
│ ├── console.jar     # コンソールモジュールのJARパッケージ。
│ ├── master.jar      # マスターモジュールのJARパッケージ。
│ ├── tracker.jar     # トラッカーモジュールのJARパッケージ。
│ └── worker.jar      # ワーカーモジュールのJARパッケージ。
├── conf
│ ├── job.cfg         # ジョブ構成ファイルテンプレート。
│ ├── sys.properties  # システムパラメーターを含む構成ファイル。
│ └── workers         # ワーカーのリスト。
├── console.sh          # コマンドラインツール。Linuxのみがサポートされています。
├── logs                # ログを含むディレクトリ。
└ ── README.md # ossimportの使用方法を説明したファイル。ossimportを使用する前に、このファイルを読むことをお勧めします。

構成ファイル

スタンドアロンモードでは、sys.properties および local_job.cfg 構成ファイルを使用できます。分散モードでは、sys.propertiesjob.cfg、および workers 構成ファイルを使用できます。local_job.cfg および job.cfg 構成ファイルには、同じパラメーターがあります。workers 構成ファイルは、分散モード専用です。

  • sys.properties: システムパラメータ。

    パラメータ

    説明

    備考

    workingDir

    作業ディレクトリ。

    パッケージの解凍先ディレクトリ。スタンドアロンモードでは、このパラメータを変更しないでください。分散モードでは、各デバイスで作業ディレクトリが同じである必要があります。

    workerUser

    ワーカーが存在するデバイスにログオンするために使用するSSHユーザー名。

    • privateKeyFileパラメータが指定されている場合は、privateKeyFileパラメータの値が使用されます。

    • privateKeyFileパラメータが指定されていない場合は、workerUserパラメータとworkerPasswordパラメータの値が使用されます。

    • スタンドアロンモードでは、このパラメータを変更しないでください。

    workerPassword

    ワーカーが存在するデバイスにログオンするために使用するSSHパスワード。

    スタンドアロンモードでは、このパラメータを変更しないでください。

    privateKeyFile

    秘密鍵ファイルのパス。

    • SSH接続がすでに確立されている場合は、このパラメータを指定できます。それ以外の場合は、このパラメータを空のままにしてください。

    • privateKeyFileパラメータが指定されている場合は、privateKeyFileの値が使用されます。

    • privateKeyFileパラメータが指定されていない場合は、workerUserパラメータとworkerPasswordパラメータの値が使用されます。

    • スタンドアロンモードでは、このパラメータを変更しないでください。

    sshPort

    SSHポート。

    デフォルト値は 22 です。ほとんどの場合、デフォルト値を保持することをお勧めします。スタンドアロンモードでは、このパラメータを変更しないでください。

    workerTaskThreadNum

    ワーカーがサブタスクを実行するための最大スレッド数。

    • このパラメータは、デバイスのメモリとネットワークの状態に関連しています。このパラメータを60に設定することをお勧めします。

    • 物理マシンの場合は、値を増やすことができます。たとえば、このパラメータを150に設定できます。ネットワーク帯域幅がすでにフルになっている場合は、値をさらに増やさないでください。

    • ネットワークの状態が悪い場合は、値を減らしてください。たとえば、このパラメータを30に設定できます。これにより、ネットワークリソースの競合によるタイムアウトエラーを防ぐことができます。

    workerMaxThroughput(KB/s)

    ワーカーのデータ移行の最大スループット。

    このパラメータは、スロットリングに使用できます。デフォルト値は0で、スロットリングが課されないことを指定します。

    dispatcherThreadNum

    トラッカーによるサブタスクの配布と状態チェックのスレッド数。

    特別な要件がない場合は、デフォルト値を保持してください。

    workerAbortWhenUncatchedException

    不明なエラーが発生した場合に、エラーをスキップするか、サブタスクを終了するかを指定します。

    デフォルトでは、不明なエラーが発生した場合、エラーはスキップされます。

    workerRecordMd5

    x-oss-meta-md5メタデータ項目を使用して、移行するファイルのMD5ハッシュを記録するかどうかを指定します。デフォルトでは、MD5ハッシュは記録されません。

    このパラメータの値は、データの整合性を検証するために使用されます。

  • job.cfg: データ移行タスクの構成。local_job.cfgjob.cfg構成ファイルは名前が異なりますが、同じパラメータが含まれています。

    パラメータ

    説明

    備考

    jobName

    移行タスクの名前。値はSTRING型です。

    • タスク名は、タスクを一意に識別します。タスク名には、文字、数字、アンダースコア(_)、ハイフン(-)を含めることができ、長さは4~128文字である必要があります。異なる名前の複数のタスクを送信できます。

    • 既存のタスクと同じ名前のタスクを送信すると、タスクがすでに存在するというメッセージが表示されます。既存のタスクをクリーンアップする前に、同じ名前のタスクを送信することはできません。

    jobType

    移行タスクのタイプ。値はSTRING型です。

    • デフォルト値:import

    isIncremental

    増分移行モードを有効にするかどうかを指定します。値はBOOLEAN型です。

    • デフォルト値:false。

    • このパラメータをtrueに設定すると、ossimportはincrementalModeIntervalで指定された秒間隔でデータスキャンを実行して増分データを検出し、検出された増分データをOSSに移行します。

    incrementalModeInterval

    増分移行モードでの移行間隔(秒単位)。値はINTEGER型です。

    このパラメータは、isIncrementalパラメータがtrueに設定されている場合に有効です。最小間隔は900秒です。リクエストの急増と追加のオーバーヘッドを防ぐために、パラメータを3600以上に設定することをお勧めします。

    importSince

    データ移行タスクの時間条件。最終更新時刻がこのパラメータの値より後のデータが移行されます。値はINTEGER型です。単位:秒。

    • タイムスタンプはUNIX形式である必要があります。UNIXタイムスタンプは、1970年1月1日木曜日00:00:00以降に経過した秒数です。 date +%sコマンドを実行して、UNIXタイムスタンプをクエリできます。

    • デフォルト値は0で、すべてのデータが移行されることを指定します。

    srcType

    移行元のタイプ。値はSTRING型で大文字と小文字が区別されます。

    有効な値:

    • local:ローカルストレージからOSSにデータを移行します。この値を指定する場合は、srcPrefixパラメータを指定し、srcAccessKey、srcSecretKey、srcDomain、srcBucketパラメータを空のままにします。

    • oss:OSSバケットから別のOSSバケットにデータを移行します。

    • qiniu:KODOからOSSにデータを移行します。

    • bos:BOSからOSSにデータを移行します。

    • ks3:KS3からOSSにデータを移行します。

    • s3Amazon S3からOSSにデータを移行します。

    • youpai:USSからOSSにデータを移行します。

    • http:HTTPまたはHTTPS URLリストからOSSにデータを移行します。

    • cos:COSからOSSにデータを移行します。

    • azure:Azure Blob StorageからOSSにデータを移行します。

    srcAccessKey

    ソースにアクセスするために使用するAccessKey ID。値はSTRING型です。

    • srcTypeパラメータがossqiniubaiduks3、またはs3に設定されている場合は、ソースにアクセスするために使用するAccessKey IDを指定します。

    • srcTypeパラメータがlocalまたはhttpに設定されている場合は、このパラメータを無視します。

    • srcTypeパラメータがyoupaiまたはazureに設定されている場合は、ソースにアクセスするために使用するアカウント名を指定します。

    srcSecretKey

    ソースにアクセスするために使用するAccessKeyシークレット。値はSTRING型です。

    • srcTypeパラメータがossqiniubaiduks3、またはs3に設定されている場合は、ソースにアクセスするために使用するAccessKeyシークレットを指定します。

    • srcTypeパラメータがlocalまたはhttpに設定されている場合は、このパラメータを無視します。

    • srcTypeパラメータがyoupaiに設定されている場合は、ソースにアクセスするために使用するオペレーターパスワードを指定します。

    • srcTypeパラメータがazureに設定されている場合は、ソースにアクセスするために使用するアカウントキーを指定します。

    srcDomain

    ソースエンドポイント。

    • srcTypeパラメータがlocalまたはhttpに設定されている場合は、このパラメータを無視します。

    • srcTypeパラメータがossに設定されている場合は、バケット名を含まないエンドポイントを指定します。エンドポイントはOSSコンソールから取得できます。

    • srcTypeパラメータがqiniuに設定されている場合は、バケットのドメイン名を指定します。ドメイン名はKODOコンソールから取得できます。

    • srcTypeパラメータがbosに設定されている場合は、BOSドメイン名(http://bj.bcebos.comまたはhttp://gz.bcebos.comなど)を指定します。

    • srcTypeパラメータがks3に設定されている場合は、KS3ドメイン名(http://kss.ksyun.comhttp://ks3-cn-beijing.ksyun.com、またはhttp://ks3-us-west-1.ksyun.comsなど)を指定します。

    • srcTypeパラメータがS3に設定されている場合は、対応するAmazon S3リージョンのエンドポイントを指定します。

    • srcTypeパラメータがyoupaiに設定されている場合は、USSドメイン名(http://v0.api.upyun.com(最適な回線を自動的に識別)、http://v1.api.upyun.com(China Telecom回線)、http://v2.api.upyun.com(China Unicom回線)、またはhttp://v3.api.upyun.com(China Mobile回線)など)を指定します。

    • srcTypeパラメータがcosに設定されている場合は、COSバケットが存在するリージョンを指定します。例:ap-guangzhou。

    • srcTypeパラメータがcosに設定されている場合は、Azure Blob Storage接続文字列のエンドポイントサフィックスを指定します。例:core.chinacloudapi.cn。

    srcBucket

    ソースバケットまたはコンテナの名前。

    • srcTypeパラメータがlocalまたはhttpに設定されている場合は、このパラメータを無視します。

    • srcTypeパラメータがazureに設定されている場合は、ソースコンテナの名前を指定します。

    • srcTypeパラメータがlocalとazure以外に設定されている場合は、バケットの名前を指定します。

    srcPrefix

    ソースプレフィックス。値はSTRING型です。このパラメータはデフォルトで空です。

    • srcTypeパラメータがlocalに設定されている場合は、スラッシュ(/)で終わるフルパスを指定します。パスに2つ以上のディレクトリレベルが含まれている場合は、スラッシュ(/)で区切ります。例:c:/example/および/data/example/

      重要

      c:/example//、/data//example/、/data/example//などのパスは無効です。

    • srcTypeパラメータがossqiniubosks3youpai、またはs3に設定されている場合は、移行するオブジェクトのプレフィックスをバケット名を除いて指定します(data/to/oss/など)。

    • すべてのオブジェクトを移行するには、srcPrefixパラメータを空のままにします。

    destAccessKey

    宛先OSSバケットにアクセスするために使用するAccessKey ID。値はSTRING型です。

    宛先OSSバケットにアクセスするために使用するAccessKey IDは、OSSコンソールから取得できます。

    destSecretKey

    宛先OSSバケットにアクセスするために使用するAccessKeyシークレット。値はSTRING型です。

    宛先OSSバケットにアクセスするために使用するAccessKeyシークレットは、OSSコンソールから取得できます。

    destDomain

    宛先エンドポイント。値はSTRING型です。

    バケット名を含まない宛先エンドポイントは、OSSコンソールから取得できます。詳細については、「リージョンとエンドポイント」を参照してください。

    destBucket

    宛先バケット。値はSTRING型です。

    宛先OSSバケットの名前。名前はスラッシュ(/)で終わることはできません。

    destPrefix

    宛先OSSバケットに移行されたオブジェクトの名前のプレフィックス。

    • このパラメータはデフォルトで空です。デフォルト値を保持すると、移行されたオブジェクトは宛先バケットのルートディレクトリに保存されます。

    • OSSの特定のディレクトリにデータを移行するには、プレフィックスをスラッシュ(/)で終了します。例:data/in/oss/

    • OSSオブジェクト名はスラッシュ(/)で始めることはできません。 destPrefixパラメータをスラッシュ(/)で始まる値に設定しないでください。

    • パスがsrcPrefix+relativePath形式のローカルファイルは、destDomain/destBucket/destPrefix+relativePath形式のOSSパスに移行されます。

    • クラウド内のsrcDomain/srcBucket/srcPrefix+relativePath形式のパスを持つオブジェクトは、destDomain/destBucket/destPrefix+relativePath形式のOSSパスに移行されます。

    taskObjectCountLimit

    各サブタスクのファイルの最大数。値はINTEGER型です。デフォルト値は10000です。

    このパラメータは、実行するサブタスクの並列処理レベルに影響します。ほとんどの場合、このパラメータは、次の式に基づいて計算された値に設定します。ファイルの総数/ワーカーの総数/移行スレッドの数(workerTaskThreadNum)。最大値は50000です。ファイルの総数が不明な場合は、デフォルト値を保持します。

    taskObjectSizeLimit

    各サブタスクの最大データサイズ(バイト単位)。値はINTEGER型です。デフォルトの最大データサイズは1 GBです。

    このパラメータは、実行するサブタスクの並列処理レベルに影響します。ほとんどの場合、このパラメータは、次の式に基づいて計算された値に設定します。データの総サイズ/ワーカーの総数/移行スレッドの数(workerTaskThreadNum)。データの総サイズが不明な場合は、デフォルト値を保持します。

    isSkipExistFile

    データ移行中にすでに存在するオブジェクトをスキップするかどうかを指定します。値はBOOLEAN型です。

    trueの値は、オブジェクトのサイズと最終更新時刻に基づいてオブジェクトがスキップされることを指定します。 falseの値は、すでに存在するオブジェクトが上書きされることを指定します。デフォルト値はfalseです。

    scanThreadCount

    ファイルを並列にスキャンするスレッドの数。値はINTEGER型です。

    • デフォルト値:1。

    • 有効な値:1~32。

    このパラメータは、ファイルスキャンの効率に影響します。特別な要件がない場合は、デフォルト値を保持します。

    maxMultiThreadScanDepth

    並列スキャンのディレクトリの最大深度。値はINTEGER型です。

    • デフォルト値:1。

    • 有効な値:1~16。

    • 値1は、トップレベルディレクトリでの並列スキャンを指定します。

    • 特別な要件がない場合は、デフォルト値を保持します。値が大きいと、タスクが失敗する可能性があります。

    appId

    COSのアプリケーションID。値はINTEGER型です。

    このパラメータは、srcTypeパラメータがcosに設定されている場合に有効です。

    httpListFilePath

    HTTP URLリストファイルの絶対パス。値はSTRING型です。

    • このパラメータは、srcTypeパラメータがhttpに設定されている場合に有効です。ソースがHTTP URLリストの場合は、このパラメータを指定する必要があります。例:c:/example/http.list。

    • ファイル内のHTTP URLは、1つ以上のスペースで区切られた2つの部分に分割する必要があります。最初の部分はプレフィックス、2番目の部分は、URLでホストされているオブジェクトが移行された後のOSS内のオブジェクトの相対パスです。たとえば、c:/example/http.listパスのHTTP URLリストファイルには、次のURLが含まれています。

      http://xxx.xxx.com/aa/  bb.jpg
      http://xxx.xxx.com/cc/  dd.jpg

      destPrefixパラメータをee/に設定すると、OSSに移行されたオブジェクトの名前は次のようになります。

      ee/bb.jpg
      ee/dd.jpg
  • workers: 分散モードでのみ使用可能です。1行に1つのIPアドレスを指定します。例:

    192.168.1.6
    192.168.1.7
    192.168.1.8
    • 上記の例では、最初の行の192.168.1.6がマスターです。つまり、192.168.1.6は、マスター、ワーカー、およびトラッカーが起動されるデバイスのIPアドレスです。コンソールもこのデバイスで実行されます。

    • すべてのワーカーで同じユーザー名、ログオン方法、および作業ディレクトリが使用されていることを確認してください。

構成ファイルの例

次の表に、分散モードでのデータ移行タスクの構成ファイルの例へのリンクを示します。スタンドアロンモードの構成ファイルの名前はlocal_job.cfgで、分散モードの構成ファイルと同じ構成項目が含まれています。

移行シナリオ

構成ファイル

説明

ローカルストレージからOSSに移行する

job.cfg

srcPrefix パラメーターを、スラッシュ (/) で終わる絶対パスに設定します。例: D:/work/oss/data/ および /home/user/work/oss/data/

KODOからOSSに移行する

job.cfg

srcPrefix パラメーターと destPrefix パラメーターは空のままにすることができます。パラメーターを指定する場合は、値をスラッシュ (/) で終了します。例: destPrefix=docs/

BOSからOSSに移行する

job.cfg

srcPrefix パラメーターと destPrefix パラメーターは空のままにすることができます。パラメーターを指定する場合は、値をスラッシュ (/) で終了します。例: destPrefix=docs/

Amazon S3からOSSに移行する

job.cfg

詳細については、AWS サービスエンドポイントを参照してください。

USSからOSSに移行する

job.cfg

srcAccessKey パラメーターをオペレーターアカウントに、srcSecretKey パラメーターを対応するパスワードに設定します。

COSからOSSに移行する

job.cfg

COS V4 の要件に基づいて srcDomain パラメーターを指定します。例: srcDomain=sh。 srcPrefix パラメーターは空のままにすることができます。パラメーターを指定する場合は、値をスラッシュ (/) で開始および終了します。例: srcPrefix=/docs/

Azure Blob Storage から OSS に移行する

job.cfg

srcAccessKey パラメーターをストレージアカウントに、srcSecretKey パラメーターをアクセスキーに設定します。srcDomain パラメーターを Azure Blob Storage 接続文字列のエンドポイントサフィックスに設定します。例: core.chinacloudapi.cn

OSSバケット間でデータを移行する

job.cfg

この方法は、異なるリージョンにあるバケット間、または異なるストレージクラスのバケット間で、名前に異なるプレフィックスが付いたオブジェクトを移行する場合に適しています。トラフィックコストを最小限に抑えるために、ECSインスタンスにossimportをデプロイし、内部エンドポイントを使用することをお勧めします。

詳細設定

  • トラフィックのスロットリング

    sys.properties 設定ファイルでは、workerMaxThroughput(KB/s) パラメーターは、ワーカーのデータ移行の最大スループットを指定します。ソース側スロットリングやネットワークスロットリングなどのスロットリングシナリオでは、ビジネスニーズに基づいて、このパラメーターをデバイスの最大利用可能帯域幅よりも小さい値に設定します。変更が完了したら、サービスを再起動して変更を有効にします。

    分散モードでは、各ワーカーの $OSS_IMPORT_WORK_DIR/conf ディレクトリにある sys.properties 設定ファイルを修正し、サービスを再起動します。

    トラフィックをスロットリングするには、crontab を使用してスケジュールに従って sys.properties 設定ファイルを修正し、サービスを再起動して変更を有効にします。

  • 同時サブタスク数の変更

    • sys.properties 設定ファイルでは、workerTaskThreadNum パラメーターは、ワーカーが実行できる同時サブタスクの数を指定します。ネットワークの状態が悪く、ワーカーが多数のサブタスクを処理する必要がある場合、タイムアウトエラーが発生します。この問題を解決するには、同時サブタスクの数を減らして設定を変更し、サービスを再起動します。

    • sys.properties 設定ファイルでは、workerMaxThroughput(KB/s) パラメーターは、ワーカーのデータ移行の最大スループットを指定します。ソース側スロットリングやネットワークスロットリングなどのスロットリングシナリオでは、ビジネスニーズに基づいて、このパラメーターをデバイスの最大利用可能帯域幅よりも小さい値に設定します。

    • job.cfg 設定ファイルでは、taskObjectCountLimit パラメーターは、各サブタスクのファイルの最大数を指定します。デフォルト値は 10000 です。このパラメーター設定は、サブタスクの数に影響します。サブタスクの数が少ない場合、同時サブタスクの実装効率が低下します。

    • job.cfg 設定ファイルでは、taskObjectSizeLimit パラメーターは、各サブタスクの最大データサイズを指定します。各サブタスクのデフォルトの最大データサイズは 1 GB です。このパラメーター設定は、サブタスクの数に影響します。サブタスクの数が少ない場合、同時サブタスクの実装効率が低下します。

      重要
      • データ移行を開始する前に、設定ファイルのパラメーターを設定します。

      • sys.properties 設定ファイルのパラメーターを変更した後、変更を有効にするには、ossimport がデプロイされているローカルサーバーまたは ECS インスタンスを再起動します。

      • job.cfg ファイルで設定された移行タスクが送信された後、job.cfg ファイルのパラメーターは変更できません。

  • データを移行せずに検証する

    ossimport では、移行操作を実行せずにデータのみを検証できます。データ移行をスキップしてデータのみを検証するには、job.cfg または local_job.cfg ファイルの jobType パラメーターを import ではなく audit に設定し、データ移行の場合と同じ方法で他のパラメーターを設定します。

  • 増分データ移行モードを指定する

    増分データ移行モードでは、ossimport は移行タスクの開始後に既存の全データを移行し、増分データを一定間隔で移行します。全データ移行は、タスクを送信した後に開始されます。その後、増分データは一定間隔で移行されます。増分データ移行モードは、データのバックアップと同期に適しています。

    増分データ移行モードでは、次の設定項目を使用できます。

    • job.cfg 設定ファイルでは、isIncremental パラメーターは、増分データ移行モードを有効にするかどうかを指定します。有効な値: true および false。デフォルト値: false。

    • job.cfg 設定ファイルでは、incrementalModeInterval パラメーターは、増分データ移行が実装される間隔を秒単位で指定します。この設定項目は、isIncremental パラメーターが true に設定されている場合にのみ有効になります。最小値は 900 です。このパラメーターを 3600 より小さい値に設定しないことをお勧めします。そうしないと、多数のリクエストが無駄になります。これにより、追加のオーバーヘッドが発生します。

  • 移行するデータをフィルタリングする

    特定の条件を満たすオブジェクトを移行するために、フィルタリング条件を設定できます。ossimport では、プレフィックスと最終更新時刻を使用して、移行するオブジェクトを指定できます。

    • job.cfg 設定ファイルでは、srcPrefix パラメーターは、移行するソースデータのプレフィックスを指定します。このパラメーターはデフォルトでは空です。

      • srcType パラメーターを local に設定する場合は、このパラメーターをローカルディレクトリのパスに設定します。スラッシュ (/) で終わるフルパスを指定する必要があります。パスに 2 つ以上のディレクトリレベルが含まれている場合は、スラッシュ (/) で区切ります。例: c:/example/ または /data/example/

      • srcType パラメーターを ossqiniubosks3youpai、または s3 に設定する場合は、このパラメーターをバケット名のないソースオブジェクトの名前プレフィックスに設定します。例: data/to/oss/。ソース内のすべてのデータを移行するには、srcPrefix パラメーターを空のままにします。

    • job.cfg 設定ファイルでは、importSince パラメーターは、ソースデータの最終更新時刻を秒単位で指定します。importSince パラメーターは、UNIX 形式のタイムスタンプを指定します。これは、1970 年 1 月 1 日木曜日 00:00:00 から経過した秒数です。date +%s コマンドを実行して、UNIX タイムスタンプを照会できます。デフォルト値は 0 で、すべてのデータが移行されることを指定します。増分データ移行モードでは、このパラメーターは全データ移行に対してのみ有効です。増分データ移行以外の移行モードでは、このパラメーターは移行タスク全体で有効です。

      • オブジェクトの最終更新時刻が importSince パラメーターの値よりも前の場合、オブジェクトは移行されません。

      • オブジェクトの最終更新時刻が importSince パラメーターの値よりも後の場合、オブジェクトは移行されます。