バケット間のデータの移動
ある時点でデータを別の IBM Cloud® Object Storage 地域に移動したりバックアップしたりしなければならなくなります。 オブジェクト・ストレージ・リージョン間でデータを移動または複製する1つのアプローチは、 オープンソースの rclone
コマンドライン・ユーティリティのような「同期」または「クローン」ツールを使用することである。
このユーティリティーは、クラウド・オブジェクト・ストレージを含む 2 つのロケーション間でファイル・ツリーを同期します。 rclone
は COS にデータを書き込むときに、COS/S3 API を使用してラージ・オブジェクトをセグメント化し、構成パラメーターとして設定されたサイズとしきい値に従って各部分を並行してアップロードします。
このガイドでは、ある IBM Cloud Object Storage バケツから、同じリージョン内の別の Object Storage バケツへ、あるいは別の Object Storage リージョン内の 2 番目の Object Storage バケツへ、データをコピーする手順を説明します。 各バケットからコピーするすべてのデータについて、これらのステップを繰り返す必要があります。 データをマイグレーションした後は、rclone check
を使用して転送の整合性を検証できます。これにより、ファイル・サイズやチェックサムと一致しないすべてのオブジェクトのリストが生成されます。
さらに、使用可能なソースから選択した宛先への rclone sync
を定期的に実行することによって、バケットの同期状態を維持することもできます。
宛先 IBM Cloud Object Storage バケットの作成
IBM Cloud Object Storage の既存のインスタンスを使用するか、新規インスタンスを作成するかを選択できます。 既存のインスタンスを再使用する場合は、ステップ 2 にスキップします。
- カタログから IBM Cloud Object Storage のインスタンスを作成する。
- 転送したデータの保管に必要となるバケットを作成します。 入門ガイドに目を通して、エンドポイントやストレージ・クラスなどの主要な概念についての理解を深めてください。
rclone
ユーティリティは、バケットの設定やオブジェクトのメタデータをコピーしません。 したがって、有効期限切れ、アーカイブ、キープロテクトなど、 Object Storage の機能を使用している場合は、データを移行する前に適切な設定を行ってください。 COS 宛先でサポートされているフィーチャーを表示するには、フィーチャー・マトリックスを参照してください。
フィーチャー構成とアクセス・ポリシーの資料は、以下にリストされている IBM Cloud ポータル・ページで確認できます。
マイグレーション・ツールを実行するためのコンピュート・リソースのセットアップ
- Linux™/macOS™ /BSD™ マシン、または IBM Cloud インフラストラクチャのベアメタルまたは仮想サーバーから、データに最も近いものをお選びください。 デスティネーション・バケットと同じリージョンにあるデータセンターを選択するのが一般的に最適です(例えば、
mel01
からau-syd
にデータを移動する場合、au-syd
にある VM または Bare Metal を使用します)。 推奨されるサーバー構成は、32 GB RAM、2 から 4 コア・プロセッサー、および 1000 Mbps のプライベート・ネットワーク速度です。 - IBM Cloud インフラストラクチャーのベアメタル・サーバーまたは仮想サーバーでマイグレーションを実行する場合は、プライベートの COS エンドポイントを使用してネットワーク egress 料金を回避します。
- それ以外の場合は、パブリックまたは直接の COS エンドポイントを使用します。
- パッケージマネージャまたはコンパイル済みバイナリから
rclone
をインストールする。
curl https://rclone.org/install.sh | sudo bash
COS ソース・データ用の rclone
の構成
rclone
でマイグレーションのソースおよび宛先の「プロファイル」を作成します。
必要に応じた COS 資格情報の取得
- IBM Cloud コンソールで COS インスタンスを選択します。
- ナビゲーション・ペインで**「サービス資格情報」**をクリックします。
- **「新規資格情報」**をクリックして、資格情報を生成します。
- **「詳細」**オプションを選択します。
- HMAC 資格情報を**「オン」**にします。
- 追加 をクリックします。
- 作成した資格情報を表示し、JSON コンテンツをコピーします。
COS エンドポイントの取得
- ナビゲーション・ペインで**「バケット」**をクリックします。
- マイグレーション宛先のバケットをクリックします。
- ナビゲーション・ペインで**「構成」**をクリックします。
- **「エンドポイント」**セクションまでスクロールダウンし、マイグレーション・ツールの実行場所に基づくエンドポイントを選択します。
- 以下をコピーし、
rclone.conf
に貼り付けて、COS 宛先を作成します。
[COS_SOURCE]
type = s3
provider = IBMCOS
env_auth = false
access_key_id =
secret_access_key =
endpoint =
宛先を構成するために作成する必要があるプロファイルの名前として [COS_DESTINATION]
を使用します。 上のステップを繰り返します。
資格情報と必要なエンドポイントを使用して、以下のフィールドに入力します。
access_key_id = <access_key_id>
secret_access_key = <secret_access_key>
endpoint = <bucket endpoint>
COS 宛先データ用の rclone
の構成
宛先バケットについて、前述のステップを繰り返します。
ソースと宛先が正しく構成されていることの確認
- ソースに関連付けられたバケットをリストして、
rclone
が正しく構成されていることを確認します。
rclone lsd COS_SOURCE:
- 宛先に関連付けられたバケットをリストして、
rclone
が正しく構成されていることを確認します。
rclone lsd COS_DESTINATION:
ソースとデスティネーションに同じCOSインスタンスを使用している場合、バケットリストは一致します。
実行 rclone
rclone
のドライラン(データをコピーしない)で設定をテストし、ソースバケット(たとえば、source-test
)内のオブジェクトをターゲットバケット(たとえば、destination-test
)にコピーすることをテストします。source-test
とdestination-test
は、それぞれのソースバケット名とデスティネーションバケット名です。
rclone --dry-run copy COS_SOURCE:source-test COS_DESTINATION:destination-test
- マイグレーションするファイルが、コマンド出力に表示されていることを確認します。 すべて問題なければ、
--dry-run
フラグを削除し、オプションで-v
フラグまたは-P
フラグ、あるいは両方のフラグを追加してデータをコピーし、進行状況を追跡します。 オプションの--checksum
フラグを使用すると、両方のロケーションで MD5 ハッシュとオブジェクト・サイズが同じファイルは更新されなくなります。
rclone -v -P copy --checksum COS_SOURCE:source-test COS_DESTINATION:destination-test
転送時間を最短にするため、rclone
を実行しているマシン上の CPU、メモリー、およびネットワークを最大限に活用するようにします。
rclone
の調整時には、他に考慮すべきパラメーターがあります。 これらの値を異なる組み合わせで使用すると、バケット内のオブジェクトの CPU 、メモリー、および転送時間に影響を与えます。
フラグ | タイプ | 説明 |
---|---|---|
--checkers |
int |
並行して実行されるチェッカーの数 (デフォルトは 8)。 これは実行されるチェックサム比較スレッドの数です。 この値は、64 以上にすることをお勧めします。 |
--transfers |
int |
これは並行して転送されるオブジェクトの数です (デフォルトは 4)。 小さなファイルをたくさん転送する場合は、64または128以上にすることをお勧めします。 |
--multi-thread-streams |
int |
大きいファイル (> 250M) を複数の部分に分けて並行してダウンロードします。 これによって、大きいファイルのダウンロード時間が短縮されます (デフォルトは 4)。 |
--s3-upload-concurrency |
int |
並行してアップロードする大きいファイル (> 200M) の部分の数。 これによって、大きいファイルのアップロード時間が短縮されます (デフォルトは 4)。 |
rclone copy
を使用したデータのマイグレーションでは、ソース・データをコピーしますが削除はしません。
マイグレーション/コピー/バックアップを必要とするその他すべてのソース・バケットについてコピー・プロセスを繰り返す必要があります。