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

:概要

最終更新日:Feb 23, 2024

ossimportは、データをObject Storage Service (OSS) に移行するためのツールです。 ossimportをローカルサーバーまたはクラウド内のECS (Elastic Compute Service) インスタンスにデプロイして、コンピューターまたは他のクラウドストレージシステムからOSSにデータを移行できます。

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

    ソースと宛先間のデータの整合性を確認せずにソースデータを削除した場合、損失や結果が発生した場合に責任を負います。

  • サードパーティのデータソースからデータを移行するには、 データオンライン移行

特徴

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

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

    説明

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

  • ossimportは再開可能なアップロードをサポートします。

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

  • ossimportは、指定された時刻より後に変更されたオブジェクト、または指定されたプレフィックスを名前に含むオブジェクトの移行をサポートします。

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

課金ルール

ossimportは无料で利用できます。 ただし、インターネット経由のデータソースからの移行にossimportを使用すると、データソース側でアウトバウンドトラフィック料金とリクエスト料金が発生する可能性があり、API操作呼び出し料金などのOSS関連の料金も発生する可能性があります。 移行中に転送アクセラレーションが使用される場合、転送アクセラレーション料金が追加で課金されます。

使用上の注意

  • 移行速度

    ossimportの移行速度は、データソースの読み取り帯域幅、ローカルネットワーク帯域幅、ファイルサイズなど、さまざまな要因によって異なります。 200 KB未満のファイルの移行は、高いIOPSのために遅くなります。

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

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

  • データステージング

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

  • ソースデータの保持

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

  • ossutilを使用した移行

    サイズが30テラバイト未満のデータを移行するには、ossutilを使用することを推奨します。 ossutilは軽量で使いやすいツールです。 -u、-- update-- snapshot-pathオプションを使用して、ファイルを段階的に移行できます。 詳細は、「cp」をご参照ください。

ランタイム環境

ossimportは、次の要件を満たすLinuxまたはWindowsに展開できます。

  • Windows 7以降

  • CentOS 6またはCentOS 7

  • Java 7またはJava 8

重要

ossimportは、分散モードでWindowsに展開できません。

展開モード

ossimportは、スタンドアロンおよび分散展開モードをサポートします。

  • スタンドアロン展開は、サイズが30テラバイト未満のデータの移行に適しています。 スタンドアロンモードでossimportを展開するには、スタンドアロン展開用のossimportパッケージをダウンロードします。 移行するデータおよびデータの移行先のOSSバケットにアクセスできるデバイスにossimportをデプロイできます。

  • 分散配置は、サイズが30テラバイトを超えるデータの移行に適しています。 分散モードでossimportを展開するには、分散展開用のossimportパッケージをダウンロードします。 移行するデータおよびデータの移行先のOSSバケットにアクセスできる複数のデバイスにossimportをデプロイできます。

    説明

    大量のデータの移行に必要な時間を短縮するために、OSSバケットと同じリージョンにあるECSインスタンスにossimportをデプロイできます。 次に、専用回線を使用して、ソースサーバーと仮想プライベートクラウド (VPC) 間の接続を作成できます。 内部ネットワーク上のデータ移行は、移行速度が速くなります。

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

スタンドアロンモード

Master、Worker、Tracker、およびConsoleモジュールはossimport2.jarに圧縮され、デバイスで実行されます。 システムにはWorkerが1つしかありません。

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

ossimport
â ─ ─ ビン
Master、Worker、Tracker、およびConsoleモジュールを含むJARパッケージ。
â ─ ─ conf
スタンドアロン配置のジョブ設定ファイル。The job configuration file in standalone deployment.
システムパラメーターを含む設定ファイル。The configuration file that contains system parameters.
タスクを分散して実行するために使用されるWindowsのコマンドラインツール。
タスクを分散して実行するために使用されるLinuxコマンドラインツール。
├─ ─ import.bat# Windows上のconf/local_job.cfg設定ファイルに基づいてファイルを自動的にインポートするスクリプト。 設定ファイルには、開始、移行、検証、再試行などのデータ移行操作を指定するパラメーターが含まれています。
├─ ─ import.sh# Linux上のconf/local_job.cfg設定ファイルに基づいてファイルを自動的にインポートするスクリプト。 設定ファイルには、開始、移行、検証、再試行などのデータ移行操作を指定するパラメーターが含まれています。
├─ ─ logs# ログを含むディレクトリ。
└ ─ ─ README.md# ossimportの説明を提供するファイル。 ossimportを使用する前に、このファイルを読むことを推奨します。
  • import.batとimport.shは、ファイルのインポートに使用されるスクリプトです。 これらのスクリプトは、local_job.cfg設定ファイルを変更した後に実行できます。

  • console.batとconsole.shは、特定の操作を段階的に実行するために使用されるスクリプトです。

  • ossimportディレクトリでスクリプトまたはコマンドを実行します。 これらのスクリプトと *.bat/*.shファイルは同じディレクトリレベルにあります。

分散モード

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

マスター -------- ジョブ --------- コンソール
    |
    |
   TaskTracker
    |_____________________
    |Task     | Task      | Task
    | |
労働者労働者労働者 

パラメーター

説明

マスター

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

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

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

ワーカー

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

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

TaskTracker

タスクを配布し、タスクのステータスを追跡します。 TaskTrackerはtrackerと略されます。

コンソール

ユーザーと対話し、コマンド入力を受け取り、コマンド出力を表示します。 コンソールは、デプロイ、開始、停止などのシステム管理コマンドと、送信、再試行、消去などのジョブ管理コマンドをサポートしています。

ジョブ

ユーザーが送信したデータ移行ジョブ。 1つのジョブは、1つのjob.cfg設定ファイルに対応します。

タスク

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

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

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

ossimport
â ─ ─ ビン
コンソールモジュールのjarパッケージです。The JAR package for the console module.
│ ├─ ─ master.jar# MasterモジュールのJARパッケージです。
tracker.jar# TrackerモジュールのJARパッケージです。
workerモジュールのjarパッケージ。The JAR package for the Worker module.
â ─ ─ conf
ジョブ設定ファイルテンプレート。The job configuration file template.
システムパラメーターを含む設定ファイル。The configuration file that contains system parameters.
労働者# 労働者のリスト。
├─ ─ 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.cfg設定ファイルとjob.cfg設定ファイルは名前が異なりますが、パラメーターは同じです。

    パラメーター

    説明

    補足

    jobName

    ジョブの名前 値は String 型です。

    • ジョブ名は、ジョブを一意に識別する。 ジョブ名は、次の命名規則に準拠している必要があります。名前には、英数字、アンダースコア (_) 、およびハイフン (-) を使用できます。 名前は4 ~ 128文字である必要があります。 名前が異なる複数のジョブを送信できます。

    • 既存のジョブと同じ名前のジョブを送信すると、そのジョブが既に存在することを求めるプロンプトが表示されます。 既存のジョブをクリーンアップする前に、同じ名前でジョブを送信することはできません。

    jobType

    ジョブの種類。 値は String 型です。

    有効な値: importおよびaudit。 デフォルト値: import

    • import: データ移行ジョブを実行し、移行されたデータの整合性を検証します。

    • audit: データの整合性のみを検証します。

    isIncremental

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

    • デフォルト値:false

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

    incrementalModeInterval

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

    このパラメーターは、isIncrementalがtrueに設定されている場合に有効です。 最小間隔は900秒です。 リクエストのサージや追加のオーバーヘッドを防ぐため、パラメーターを3,600秒以上の値に設定することを推奨します。

    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にデータを移行します。

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

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

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

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

    • azure: Azure Blobから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に設定されている場合、http://kss.ksyun.comhttp://ks3-cn-beijing.ksyun.comhttp://ks3-us-west-1.ksyun.comなどのKingsoft ks3ドメイン名を入力します。

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

    • srcTypeがyoupaiに設定されている場合、http://v0.api.upyun.com (自動的に識別された最適回線) 、http://v1.api.upyun.com (電気通信回線) 、http://v2.api.upyun.com (China UnicomまたはChina Netcom回線) 、またはhttp://v3.api.upyun.com (China MobileまたはChina Railcom回線) などのUSSドメイン名を入力します。

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

    • srcTypeがcosに設定されている場合、Azure Blob接続文字列にエンドポイントサフィックスを入力します。 例: 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型です。 デフォルトの値は 10,000 です。

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

    taskObjectSizeLimit

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

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

    isSkipExistFile

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

    このパラメーターがtrueに設定されている場合、オブジェクトはサイズと最終変更時刻に基づいてスキップされます。 このパラメーターをfalseに設定すると、すでに存在するオブジェクトが上書きされます。 デフォルト値はfalseです。 jobTypeがauditに設定されている場合、このパラメーターは無効です。

    scanThreadCount

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

    • デフォルト値は 1 です。

    • 有効な値: 1 ~ 32。

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

    maxMultiThreadScanDepth

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

    • デフォルト値は 1 です。

    • 有効な値: 1 ~ 16。

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

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

    appId

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

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

    httpListFilePath

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

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

    • ファイル内のHTTP URLは、スペースで区切られた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: 分散モードでのみ使用できます。 複数の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

V4に基づいてsrcDomainを指定します。 例: srcDomain=sh srcPrefixは空のままにできます。 空のままでない場合は、プレフィックスの先頭と末尾にスラッシュ (/) を付けます。 例: srcPrefix=/docs/

Azure BlobからOSSへのデータの移行

job.cfg

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

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

job.cfg

このメソッドは、異なるリージョンのバケット間、または異なるストレージクラスのバケット間で、名前に異なるプレフィックスを持つオブジェクトを移行するのに適しています。 サービスをECSにデプロイし、内部エンドポイントを使用してトラフィックコストを最小限に抑えることを推奨します。

拡張設定

  • トラフィックのスロットル

    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は各タスクの最大ファイル数を指定します。 デフォルトの値は 10,000 です。 このパラメーター設定は、タスクの数に影響します。 タスクの数が少ないと、同時タスクの実装効率が低下します。

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

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

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

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

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

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

  • 増分データ移行モードの指定

    増分データ移行モードでは、移行タスクの開始後に既存のフルデータを移行し、増分データを定期的に移行します。 タスクを送信すると、完全なデータ移行が開始されます。 次に、増分データが間隔を置いて移行されます。 増分データ移行モードは、データのバックアップと同期に適しています。

    次の設定項目は、増分データ移行に関連しています。

    • job.cfg設定ファイルで、isIncrementalは増分データ移行モードを有効にするかどうかを指定します。 trueは、増分データ移行モードが有効になっていることを示します。 falseは、増分データ移行モードが無効であることを示します。 デフォルト値はfalseです。

    • job.cfg設定ファイルで、incrementalModeIntervalは、増分データ移行が実装される間隔を秒単位で指定します。 この設定項目は、isIncrementalがtrueに設定されている場合にのみ有効です。 最小値は900です。 このパラメーターを3600未満の値に設定しないことを推奨します。 そうでなければ、多数の要求が無駄になる。 これは、追加のオーバーヘッドをもたらす。

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

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

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

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

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

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

      • オブジェクトのLastModified Timeの値がimportSinceの値より小さい場合、オブジェクトは移行されません。

      • オブジェクトのLastModified Timeの値がimportSinceの値より大きい場合、オブジェクトは移行されます。