オブジェクト・ストレージとのデータの同期

Lustreファイル・システムとオブジェクト・ストレージ・バケット間でデータを同期できます。AIトレーニングやデータ処理に高速アクセスが必要な場合に、Object StorageからLustreにデータをプル(データのインポート)します。完了したら、結果をオブジェクト・ストレージ(エクスポート・データ)にプッシュして、コスト効率に優れた長期ストレージを実現します。

この双方向同期を設定するには、Lustreディレクトリをオブジェクト・ストレージ・バケットにリンクします。このリンクを使用して、必要に応じてオブジェクト・ストレージからLustreにオブジェクトをインポートし、Lustreからオブジェクト・ストレージにエクスポート・ファイルを戻します。

インポートまたはエクスポートを開始すると、ジョブが作成されます。各ジョブには一意のIDがあり、これを使用して詳細を表示できます。

インポート・ジョブまたはエクスポート・ジョブを開始すると、変更されたすべてのファイルとそのメタデータがコピーされます。

前提条件

Object StorageとのLustreオブジェクト同期を設定する前に、次のことを確認してください:
  • Lustreファイル・システムと同じリージョンおよびテナンシに、少なくとも1つのオブジェクト・ストレージ・バケットがあります。クロスリージョンまたはクロステナンシのインポートとエクスポートはサポートされていません。
  • Lustreファイル・システムには、Object Storageからのデータ・インポートを保持するのに十分な空き領域があります。
  • 必要なIAM権限がすべて構成されます。

考慮事項

Lustreとオブジェクト・ストレージ間でファイルを同期する場合は、次の点に注意してください:
  • ジョブ・コピーのみの新規ファイルおよび変更済ファイル: リンクの最初のエクスポートでは、Lustreファイル・システム内のすべてのファイルが新規であるため、オブジェクト・ストレージ・バケットにコピーされます。エクスポート前にバケットに存在していた品目は変更されません。後のエクスポートでは、新しいファイル、または最後のジョブ以降に更新されたファイルのみがコピーされます。削除はどちらの方向にもミラー化されません。
  • ハード・リンクおよびメタデータのみの変更がコピーされない:インポート・ジョブまたはエクスポート・ジョブでは、最後のジョブ以降にメタデータ(UIDや変更時間など)のみが変更された場合、ファイルはコピーされません。また、ハード・リンクを介してコンテンツを共有するファイルがある場合、インポートおよびエクスポート時にそれぞれが別個のファイルとして扱われるため、それらの間のハード・リンクが失われることに注意してください。
  • 単一リージョンおよびテナンシ: オブジェクト・ストレージ・バケットと、同じリージョンおよびテナンシにあるLustreファイル・システムの間でのみファイルをインポートおよびエクスポートできます。リージョンまたはテナンシ間でインポートまたはエクスポートすることはできません。
  • 同時ジョブの制限:各ジョブで異なるオブジェクト・ストレージ・リンクが使用されている場合は、同じLustreファイル・システムでインポート・ジョブとエクスポート・ジョブを同時に実行できます。特定のオブジェクト・ストレージ・リンクに対して一度に実行できるインポートまたはエクスポート・ジョブは1つのみです。すでに実行中のジョブがあるリンクに対して別のジョブを開始するリクエストは拒否されます。
  • 10リンク制限: Lustreファイル・システムごとに最大10個のオブジェクト・ストレージ・リンクを作成できます。さらにリンクが必要な場合は、サポートに連絡してください
  • リンクの編集: リンクを編集して、名前、オブジェクト・ストレージ・コンパートメント、タグ、競合するファイルを上書きするかスキップするかなどのプロパティを更新できます。その他の変更を行うには、リンクを削除し、新しいリンクを作成します。
  • 拡張のクール・ダウン期間: オブジェクト・ストレージからのデータに対応するために、Lustreファイル・システムを拡張する必要がある場合があります。同じリソースの連続するLustreファイル・システム拡張ごとに6時間のクール・ダウンが適用されます。このクールダウン期間内に拡張リクエストを行うと、拒否されます。
  • パフォーマンスへの影響: オブジェクト・ストレージとLustreの間のファイル同期は帯域幅を消費し、同期プロセス中のLustreのパフォーマンスに若干影響する場合があります。

ベスト・プラクティス

Lustreとオブジェクト・ストレージ間でファイルを同期する際に従うベスト・プラクティスを次に示します:
  • パスを一意に保つ:オブジェクト・ストレージ・リンクを作成する場合は、同じファイル・システムに対して一意のLustreディレクトリ・パスおよびオブジェクト・ストレージ・バケットのパスまたは接頭辞を使用します。リクエストされたパスまたは接頭辞によって既存のリンクとの競合する重複または循環マッピングが作成される場合、リンク作成リクエストは拒否されます。

    たとえば、/mnt/lustre/projectAmybucket/projectAにリンクし、/mnt/lustre/projectBmybucket/projectBにリンクします。各リンクで一意のLustreパスと一意のObject Storageバケット接頭辞が使用されるため、これは正しいです。

    たとえば、/mnt/lustre/projectmybucket/projectsにリンクし、/mnt/lustre/project/reportsmybucket/project/reportsにリンクすることはできません。これは、reportsフォルダが2回マップされ、重複するマッピングが競合するためです。

  • 同期ジョブ中に同期フォルダを変更または使用しない: 同期ジョブ(インポートまたはエクスポート)が終了するまで待機してから、同期するフォルダ内のファイルまたはフォルダを追加、削除、移動、名前変更または編集します。同期ジョブの進行中にファイルを変更すると、ファイルが無視されたり上書きされたりするなどの予期しない結果が発生する可能性があります。

データ暗号化

LustreとObject Storageの間の双方向転送でのデータの暗号化方法を次に示します。
  • 転送中のデータ: LustreとObject Storageの間で転送されるすべてのデータは転送中に暗号化されます。
  • 保存データ: インポートされたデータはブロック・ボリュームの暗号化を使用して保存時に暗号化され、Object StorageにエクスポートされたデータはObject Storageの暗号化メカニズムを使用します。