バケット間のデータの移動
ある時点でデータを別の IBM Cloud® Object Storage 地域に移動したりバックアップしたりしなければならなくなります。 オブジェクト・ストレージ・リージョン間でデータを移動または複製する 1 つの方法は、 オープン・ソースの rclone
コマンド・ライン・ユーティリティーなどの「同期」または「複製」ツールを使用することです。
このユーティリティーは、クラウド・オブジェクト・ストレージを含む 2 つのロケーション間でファイル・ツリーを同期します。 rclone
は COS にデータを書き込むときに、COS/S3 API を使用してラージ・オブジェクトをセグメント化し、構成パラメーターとして設定されたサイズとしきい値に従って各部分を並行してアップロードします。
このガイドでは、1 つの IBM Cloud 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 Infrastructure Bare Metal または Virtual Server を選択します。 通常は、宛先バケットと同じ地域にあるデータ・センターを選択することをお勧めします (例えば、
mel01
からau-syd
にデータを移動する場合は、au-syd
で VM またはベア・メタルを使用します)。 推奨されるサーバー構成は、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
) 内のオブジェクトのコピーをテストします。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)。 |
{: caption = " 表 1. rclone オプション "caption-side = "top"} |
rclone copy
を使用したデータのマイグレーションでは、ソース・データをコピーしますが削除はしません。
マイグレーション/コピー/バックアップを必要とするその他すべてのソース・バケットについてコピー・プロセスを繰り返す必要があります。