移行ツールを使用したOCIクラウド・ストレージ・サービスへのデータの移動

はじめに

これは、Oracle Cloud Infrastructure (OCI)クラウド・ストレージ・サービスにデータを移行する様々な方法を示す4つのチュートリアル・シリーズのチュートリアル1です。このシリーズは、この最初のチュートリアルを確認して、さまざまなツールを幅広く理解し、移行のニーズに関連する関連するチュートリアルまたはドキュメントに進むことができるように設定されています。

OCIは、ハイパフォーマンス・コンピューティングと低コストのクラウド・ストレージ・オプションをお客様に提供します。Oracleは、オンデマンドのローカル、オブジェクト、ファイル、ブロックおよびアーカイブ・ストレージを通じて、主要なストレージ・ワークロード要件とユースケースに対応します。

OCIクラウド・ストレージ・サービスは、すべてのエンタープライズ・ニーズに対して、高速で安全で耐久性のあるクラウド・ストレージ・オプションを提供します。OCI File Storage with LustreやOCI Block Volumesサービスなどの高パフォーマンス・オプションから開始し、高パフォーマンスのマウント・ターゲットを備えたOCI File Storageサービスのフルマネージド・エクサバイト・スケール・ファイルシステム、耐久性が高くスケーラブルなOCI Object Storageまでを実現します。オラクルのソリューションは、AI/MLワークロードなどのパフォーマンス集中型アプリケーションからエクサバイト規模のデータレイクまで、お客様のニーズを満たすことができます。

多くのお客様は、オンプレミス、別のプロバイダー、またはOCIクラウド・ストレージ・サービス間で、OCIクラウド・ストレージ・サービスにデータを転送する必要があります。移行元、宛先、およびデータ転送の方向に基づいて、移行を実現するための最適な方法は異なる場合があります。OCIでデータ・ソースと宛先の基本を特定したら、移行パスと使用するツールを決定する必要があります。ハンズオン・エクスペリエンスで、適切な移行ツールとその使用方法をご紹介します。このチュートリアル1では、様々なツールを紹介し、移行プロセスに最適な場所について説明します。

移行する必要があるデータの量と、新しいOCIストレージ・プラットフォームへの切替えに使用できる停止時間を判断します。バッチ移行は、移行を管理可能な増分に分割するための適切な選択です。バッチ移行により、異なるウィンドウ間で特定のアプリケーションの停止時間をスケジュールできます。一部の顧客は、スケジュールされたメンテナンス・ウィンドウを2-4日間にわたって1回かぎりの移行を柔軟に行うことができます。OCI FastConnectを使用して、1Gから400Gまでのポート速度でOCIと環境間の専用のプライベート接続を作成し、データ転送プロセスを高速化できます。OCI FastConnectは、MegaportやConsoleConnectなどのパートナー・ソリューションと統合して、データ・センターへのプライベート接続やクラウド間相互接続を作成し、データを別のクラウド・ベンダーからOCIクラウド・ストレージ・サービスに直接移動できます。詳細は、FastConnectとMegaport Cloud Routerの統合を参照してください。

対象読者

DevOpsエンジニア、開発者、OCIクラウド・ストレージ管理者およびユーザー、ITマネージャ、OCIパワー・ユーザーおよびアプリケーション管理者。

目的

様々なツールを使用して、データをOCIクラウド・ストレージ・サービスにコピーおよび同期する方法を学習します。

前提条件

移行ツールです

オラクルのカスタマー・エクスペリエンスとテストは、シナリオに最適な移行ツールをガイドするのに役立ちます。サンプル・データ・セットに対して概念実証およびテストを実行して、データ・セットに最適な移行方法を確認することをお薦めします。オンプレミスおよび他のクラウド・プロバイダーからOCIまたはOCIクラウド・ストレージ・サービス内でデータを移行するために使用できる一般的な移行ツールについてご紹介します。テスト結果はサンプルデータセットから共有されるため、データセットでツールがどのように実行されるかを推定できます。

ジョブに適したツール

移行を行うときに選択するツールが多数あり、それらを一度に調査するのは圧倒的です。移行元、移行先、移行方向、ユーザー・エクスペリエンスおよびユーザー環境に基づいて、最適な移行ツールが異なります。

次の表に、オンプレミス・データの移行、別のクラウド・ベンダーからOCIへのデータの移行、リージョン間でのOCIクラウド・ストレージ・データのコピー、リージョン内でのOCIクラウド・ストレージ・データのコピー、OCI File StorageデータのOCI Object Storageへのコピーなど、一般的な移行シナリオに関する推奨事項を示します。

データの移行元 データの移行先 推奨ツール ノート ドキュメント/チュートリアル・リンク
オンプレミス・ファイルシステム OCIオブジェクト・ストレージ 1. s5cmd (小さい/混在したファイル)
2. OCI Object Storage Sync (大きなファイルはほとんどありません)
3. Rclone (混合)
4。どこでもアクティブ
データ構造に最適なツールを使用し、快適に使用できます。FastConnectを確認して、転送時間を改善する必要があります。 S5cmd and Object Storage Sync Tutorial
Rclone Tutorial
Resilio Active Anywhere
別のクラウド・ベンダーのオブジェクトまたはBlobストレージ OCIオブジェクト・ストレージ 1.IOの柔軟化
2. Rclone
S3互換ベンダーおよびサポートされているGUIインタフェースが必要な場合は、Flexify IOを使用します。
Rcloneは、様々な設定を試したり切り替えたりしやすく、70を超える異なるクラウド・ベンダー(S3互換およびS3互換でないオブジェクト・ストレージ)を最も互換性のあるサポートに使用する場合に使用します。
クラウド間のIO移行の柔軟化クローン・チュートリアル
OCIオブジェクト・ストレージ 別のリージョンのOCIオブジェクト・ストレージ 1. オブジェクトレプリケーション
2。OCI Object Storage Bulk Copy Python API
3。IOの柔軟化
4. Rclone
ネイティブ・オブジェクト・レプリケーションの使用は、現在空の新規バケットの正確なレプリカに適しています。OCI Object Storage Bulk Copy Python API、Flexify IOまたはRcloneを使用して、すでにオブジェクトがあるソース・バケットのコピーを初期化するか、宛先でオブジェクトを保持します。 オブジェクト・ストレージ・レプリケーションのドキュメント
一括操作のためのOracle Cloud Infrastructure Object Storage Pythonユーティリティの使用
IOの柔軟化
クローン・チュートリアル
OCIオブジェクト・ストレージ 別のテナンシ内のOCIオブジェクト・ストレージ(同じリージョンまたは異なるリージョン) 1.OCI Object Storage一括コピーPython API
2。IOの柔軟化
3. Rclone
OCI Object Storage Bulk Copy Python APIの前提条件: クロス・テナンシIAMポリシーを使用して、クロステナンシ・コピーを有効にします。詳細は、テナンシ間のオブジェクト・ストレージ・リソースへのアクセスを参照してください。 一括操作のためのOracle Cloud Infrastructure Object Storage Pythonユーティリティの使用
IOの柔軟化
クローン・チュートリアル
OCI File Storage OCIオブジェクト・ストレージ 1. s5cmd (小さい/混在したファイル)
2. Object Storage Sync (大きいファイルがほとんどない)
3. Rclone (混合)
4. どこでもアクティブ
データ構造に最適なツールを使用し、快適に使用できます。 S5cmd and Object Storage Sync Tutorial
Rclone Tutorial
Resilio Active Anywhere
オンプレミス・ファイルシステム OCI File Storage 1. fpsync (Linux)およびCIFS + fpsync (Windows)
2. どこでもアクティブ
ソース・インスタンスと宛先インスタンス間でネットワーク接続が確立されていることを確認します。 Fpsyncのドキュメント
fpsyncのチュートリアル
Resilio Active Anywhere
別のクラウド・ベンダーのローカル・ディスクまたはファイル・ストレージ OCI File Storage 1. fpsync (Linux)およびCIFS + fpsync (Windows)
2. どこでもアクティブ
ソース・インスタンスと宛先インスタンス間でネットワーク接続が確立されていることを確認します。FastConnectを確認して、転送時間を改善する必要があります。 Fpsyncのドキュメント
fpsyncのチュートリアル
Resilio Active Anywhere
OCI File Storage 別のリージョンのOCIファイル・ストレージ 1.ファイル・システム・レプリケーション
2. fpsyncとインスタンス間ストリーミング
3. どこでもアクティブ
レプリケーションを使用する場合は、レプリケーションの制限事項と考慮事項を参照するか、インスタンス間ストリーミングを使用する場合は、ソース・インスタンスと宛先インスタンス間でネットワーク接続が確立されていることを確認します。 Fpsyncのドキュメント
fpsyncのチュートリアル
ファイルシステムレプリケーションのドキュメント
Resilio Active Anywhere
OCI File Storage 同じ可用性ドメイン内のOCI File Storage 1.ファイル・システム・レプリケーション
2. ファイル・ストレージのパラレル・ツールの使用: parcp
3. どこでもアクティブ
レプリケーションを使用する場合は、レプリケーションの制限事項と考慮事項を参照するか、parcpを使用する場合は、ソースと宛先の両方のファイル・システムがインスタンスにマウントされていることを確認します。 「ファイル・システム・レプリケーション」
「ファイル・ストレージのパラレル・ツールの使用: parcp」
「Resilio Active Anywhere」
オンプレミス、別のクラウド・ベンダー OCIオブジェクト・ストレージまたはOCIファイル・ストレージ Resilio Active Anywhereプラットフォーム Resilio Active Anywhereプラットフォームは、データのマルチウェイ同期、サポート付きのホワイトグローブサービス、およびGUIインターフェイスが必要な場合に使用します。Resilioは、OCIクラウド・ストレージ・サービス製品チームによって検証され、Oracle Cloud Marketplaceで利用可能です。 プラットフォームの使用方法の詳細は、Resilioチームまでお問い合わせください。

ノート:移行ツール・シリーズでは、OCI Object StorageまたはOCI File System Replication、OCI Object Storage Bulk Copy Python API、FlexifyおよびResilioは対象外です。詳細は、関連リンクを参照してください。

次のステップ

移行のニーズに関連するチュートリアルに進みます。データをOCIクラウド・ストレージ・サービスに移動するには:

(オプション)テスト環境

推奨は、テストおよび顧客とのやり取りに基づいて行われます。

テスト環境 1:

1つのVMインスタンスVM.Standard.E4.Flex、1つのOCPU、1Gbpsネットワーク帯域幅、16GBのメモリー。オンプレミスからOCIへの移行をシミュレートするには、データをPHX NFSからIADにコピーしました。

データ・セット

合計データセットサイズ: 3Tバイト、3ファイル、各ファイル1Tバイト。

Method キャスト元 Time コマンド フラグ
OS同期 NFS/ファイルPHXからオブジェクトIADへ 123m17.102s NA --parallel-operations-count 100
s5cmd NFS/ファイルPHXからオブジェクトIADへ 239m20.625s コピー run commands.txt。デフォルトでは--numworkers 256を実行します
rclone NFS/ファイルPHXからオブジェクトIADへ 178m27.101s コピー --transfers=100 --oos-no-check-bucket --fast-list --checkers 64 --retries 2 --no-check-dest

ノート:テストでは、os syncがこのデータ・セットに対して最も高速に実行されていることが示されました。

合計データ・セット・サイズ: 9.787GB (20,000ファイルあり、各ファイルは20MB)

Method キャスト元 Time コマンド フラグ
s5cmd NFS/ファイルPHXからオブジェクトIADへ 1m12.746s コピー デフォルト実行--numworkers 256
OS同期 NFS/ファイルPHXからオブジェクトIADへ 2m48.742s NA --parallel-operations-count 1000
rclone NFS/ファイルPHXからオブジェクトIADへ 1m52.886s コピー --transfers=500 --oos-no-check-bucket --no-check-dest

ノート:テストでは、s5cmdがこのデータ・セットに対して最適に実行されていることが示されました。

テスト環境 2:

VMインスタンス:テストごとに2つのVMインスタンスが使用され、24 OCPUのVM.Standard.E4.Flex、24Gbpsネットワーク帯域幅、384GBのメモリーを使用しました。Oracle Linux 8は、Linuxテストに使用されました。Flexify IOはVMインスタンスを使用しません。

テストで使用されるデータ・セット: 14個のメイン・ディレクトリと次のファイル数およびサイズ、合計2.25TiB。

データセットディレクトリ Size ファイル数 各ファイルのサイズ
ディレクトリ 1 107.658 GiB 110,242 1 MiB
ディレクトリ 2 1.687 GiB 110,569 15 MiB
ディレクトリ 3 222 GiB 111 2 GiB
ディレクトリ 4 1.265 TiB 1,295 1 GiB
ディレクトリ 5 26.359 GiB 1,687 16 MiB
ディレクトリ 6 105.281 MiB 26,952 4 KiB
ディレクトリ 7 29.697 MiB 30,410 1 KiB
ディレクトリ 8 83.124 GiB 340,488 256 KiB
ディレクトリ 9 21.662 GiB 354,909 64 KiB
ディレクトリ 10 142.629 GiB 36,514 4 MiB
ディレクトリ 11 452.328 MiB 57,898 8 MiB
ディレクトリ 12 144 GiB 72 2GiB
ディレクトリ 13 208.500 GiB 834 256 MiB
ディレクトリ 14 54.688 GiB 875 64 MiB

ノート:

Method キャスト元 Time コマンド フラグ/ノート
s5cmd NFS/ファイルPHXからオブジェクトIADへ 54m41.814s コピー --numworkers 74
OS同期 NFS/ファイルPHXからオブジェクトIADへ 65m43.200s NA --parallel-operations-count 50
rclone NFS/ファイルPHXからオブジェクトIADへ 111m59.704s コピー --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 50
rclone オブジェクトPHXからオブジェクトIAD 28m55.663s コピー --oos-no-check-bucket --no-check-dest --ignore-checksum --oos-disable-checksum --transfers 400。800転送の同時実行性のために、同じコマンドが2つのVMで実行される
pythonバルク・コピー・スクリプト オブジェクトPHXからオブジェクトIAD 25m43.715s デフォルト 1つのVM、50人のワーカー、100,000個のファイルを一度にキューに入れる
IOの柔軟化 オブジェクトPHXからオブジェクトIAD 20m27s コピー デフォルトは10個のエンジン/スロットです。
IOの柔軟化 オブジェクトPHXからオブジェクトIAD 16m12s コピー 20のエンジン/スロット、これは「詳細設定」によって上げることができます

s5cmdおよびos syncコマンドは、ファイルシステム/NFSをオブジェクト・ストレージに対して適切に処理します。Flexify IOおよびバルク・コピー・スクリプトは、オブジェクト・ストレージ(バケット間)転送にのみ焦点を当て、NFS移行のテストは行われませんでした。

Flexify IO、rcloneおよびpythonバルク・コピー・スクリプトのみがリージョン間でバケット間転送を実行できるため、他のツールではテストされませんでした。Flexify IOは、リージョンをまたがるオブジェクト・ストレージの移行に最適です。pythonバルク・コピー・スクリプトの性能はrcloneよりも優れています。Flexify IOはS3互換オブジェクト・ストレージに対して動作し、pythonバルク・コピー・スクリプトはOCIオブジェクト・ストレージでのみ動作し、rcloneは多くのバックエンドおよびクラウド・プロバイダをサポートすることに注意してください。

rcloneを使用して小規模なテスト実行を行い、Microsoft Azure Blob Storage、Amazon Simple Storage Service (Amazon S3)およびGoogle Cloud Platform Cloud StorageからOCI Object Storageにデータを転送して、これらのタイプの転送に対してツールが機能することを検証しました。詳細は、「Rcloneを使用したクラウド内のオブジェクト・記憶域へのデータの移動」を参照してください。

FlexifyIOを使用して、このデータ・セットをAWS us-east-2からOCIアッシュバーン・リージョンに移行し、デフォルトの10個のエンジン/スロットを使用して2.25TiBに23m51sのみを使用しました。パフォーマンスを高速化するために、追加のエンジン/スロットを追加できます。

テスト環境 3:

VMインスタンス:各テストに1から2個のVMインスタンスが使用され、24個のOCPU、24Gbpsネットワーク帯域幅、384GBのメモリーを持つVM.Standard.E4.Flexが使用されました。Oracle Linux 8は、Linuxテストに使用されました。すべてのテストはバケット間でした。Flexify IOはVMインスタンスを使用しません。

合計サイズ ファイル数 ファイル・サイズ範囲
7.74 TiB 1,000,000 30 MiB
Method 換算先 Time コマンド フラグ ノート  
rclone オブジェクト間IAD -> IAD 18h39m11.4s コピー --oos-no-check-bucket --fast-list --no-traverse --transfers 500 --oos-chunk-size 10Mi 1 VM、ファイル数が多いことと、ソースへのコールのリストにより非常に遅い  
rclone オブジェクト間IAD -> IAD 55m8.431s コピー --oos-no-check-bucket --no-traverse --transfers 500 --oos-chunk-size 10Mi --files-from <file> 2 VM、VMごとに500転送、オブジェクト/ファイル・リストに一度に1,000個のファイルが供給され、ソースと宛先でのリストが防止され、パフォーマンスが向上します  
pythonバルク・コピー・スクリプト オブジェクト間IAD -> IAD 28m21.013s NA デフォルト 1つのVM、50人のワーカー、100,000個のファイルを一度にキューに入れる  
pythonバルク・コピー・スクリプト オブジェクト間IAD -> IAD NA NA デフォルト 2つのVM、VMごとに50人のワーカー、一度に100,000個のファイルがキューに入れられました。429個のエラーを受け取り、スクリプトがハングし、完了できませんでした  
IOの柔軟化 オブジェクト間IAD -> IAD 39m19s コピー デフォルト デフォルトは10個のエンジン/スロットです。  
IOの柔軟化 オブジェクト間IAD -> IAD 21m37s コピー 20エンジン/スロット 20のエンジン/スロットに設定して下さい、これは「高度の設定」によって育てることができます  
s5cmd オブジェクト間IAD -> IAD 14m10.864s コピー デフォルト(256人の就業者) 1 VM NA
s5cmd オブジェクト間IAD -> IAD 7m50.013s コピー デフォルト 2台のVM、各VMの256人のワーカー 半分の時間を1 VMとして実行
s5cmd オブジェクト間IAD -> IAD 3m23.382s コピー --numworkers 1000 1人のVM、1,000人のワーカー 複数のテストで、これはs5cmdを使用したこのデータ・セットの最適な実行であることがわかりました
rclone Object-to-Object IAD -> PHX 184m36.536s コピー --oos-no-check-bucket --no-traverse --transfers 500 --oos-chunk-size 10Mi --files-from <file> 2 VM、VMごとに500転送、オブジェクト/ファイル・リストに一度に1,000個のファイルを提供  
pythonバルク・コピー・スクリプト Object-to-Object IAD -> PHX 35m31.633s NA デフォルト 一度にキューに入れられた1VM、50ワーカー、100,000ファイル  
IOの柔軟化 Object-to-Object IAD -> PHX 21m17s コピー 20エンジン/スロット 20のエンジン/スロットに設定して下さい、これは「高度の設定」によって育てることができます  

s5cmdコマンドは、大きいファイル数および小さいファイルに対して一貫して最適に実行されました。s5cmdは、同じテナンシおよび同じリージョン内でのみバケット間コピーを実行できるため、制限されています。

Flexify IOは、この移行データ・セットのパフォーマンスがよく、様々なS3互換オブジェクト・ストレージ・タイプをサポートしているため、この移行データ・セットの推奨ツールです。Flexify IOのエンジン/スロット数が増加した後、移行時間がダウンしました。

ファイルがコマンドに供給され、別のVMにスケール・アウトされると、rcloneが大幅に改善されます。Rcloneは他のツールよりも動作が遅くなる可能性がありますが、Rcloneがサポートする様々なプラットフォームおよび実行できる移行のタイプで最も汎用的です。

OCI Object Storage Bulk Copy Python APIは、OCI Native CopyObject APIのみを使用でき、スロットルされる前に最大50人のワーカーの同時実行性を実現できます。通常、このデータ・セットに対してかなり適切に実行されます。

IAD to PHXのテストは、IAD to IADで最適に機能したものに対してのみ行われ、問題のあるテストは再実行されませんでした。s5cmdは、同じリージョン内のバケットからバケットへのコピーのみを実行できるため、IADからPHXに対して実行されませんでした。

確認

その他の学習リソース

docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、Oracle Learning Explorerになるには、education.oracle.com/learning-explorerにアクセスしてください。

製品ドキュメントについては、Oracle Help Centerを参照してください。