CPFS for Lingjun ファイルシステムと OSS バケット間でデータを移動するには、データフローと関連するデータフロータスクを作成して、高速なデータ転送を実現します。
機能
CPFS for Lingjun は、次のデータフロー機能をサポートしています。
アカウントレベルのデータフロー
同一アカウントとクロスアカウントの両方のシナリオで、OSS バケットとのデータフローをサポートします。
ディレクトリレベルのデータフロー
データフローを作成して、CPFS for Lingjun ファイルシステムの任意のサブディレクトリを OSS バケット内の任意のプレフィックスにマッピングできます。これにより、より詳細な権限制御と柔軟なデータ転送が可能になります。
データインポートとデータエクスポート
バッチタスクまたはストリーミングタスクを作成して、CPFS for Lingjun ファイルシステムと OSS 間でデータをインポートおよびエクスポートできます。バッチタスクは、計算ジョブの開始前にデータセット全体をプリロードするのに適しています。ストリーミングタスクは、トレーニング中にモデルチェックポイントなどの個々のファイルをオンデマンドでライトバックおよびプリロードするのに適しています。
警告CPFS for Lingjun は、ファイルの更新タイムスタンプ属性を OSS バケットのカスタムメタデータにエクスポートします。メタデータ名は
x-oss-meta-alihbr-sync-mtimeです。このメタデータは削除または変更しないでください。削除または変更すると、ファイルシステム内のファイルの更新タイムスタンプが不正確になります。タスクが失敗した場合は、タスクレポートを確認して原因を特定できます。
重要タスクレポートは参照用です。宛先のデータが最終版となります。ソースと宛先間のデータ整合性を確認する必要があります。
データフロータスクのタイプ
CPFS for Lingjun は、バッチタスクとストリーミングタスクの 2 種類のデータフロータスクを提供します。ビジネスニーズに最も適したタスクタイプを選択できます。
バッチタスク
バッチタスクは、ディレクトリ内のすべてのファイルを一度にインポートまたはエクスポートします。このタスクタイプは、AI トレーニングを開始する前にデータセット全体をプリロードするのに適しています。
ストリーミングタスク
ストリーミングタスクは、個々のファイルレベルでオンデマンドでデータフローを開始します。トレーニング中にモデルチェックポイントなどの個々のファイルを書き戻したり、プリロードしたりするのに適しています。各転送をトリガーするには、API オペレーションを介してサブタスクを送信する必要があります。システムはファイルの変更を自動的に同期しません。
ストリーミングタスクは、CPFS for Lingjun 2.6.0 以降でのみサポートされます。
ストリーミングタスクは、API オペレーションを介してのみ使用できます。詳細については、「ストリーミングタスクの管理 (OpenAPI)」をご参照ください。
タスクの説明
タスクは、そのオペレーションに基づいて、インポート、エクスポート、ストリームインポート、ストリームエクスポートの 4 つのタイプに分類されます。
タイプ | 説明 |
インポート | ソースストレージから CPFS for Lingjun ファイルシステムにすべてのデータを一度にインポートします。
|
エクスポート | CPFS for Lingjun ファイルシステムから指定されたデータを一度に OSS バケットにエクスポートします。 エクスポートパス:CPFS for Lingjun ファイルシステム内のファイルまたはディレクトリのパス。データフロータスクは、ファイルシステム内のファイルパスに基づいて、データをバケットにエクスポートします。 警告
|
ストリームインポート | ソースストレージから指定されたデータを、単一ファイルレベルのサブタスクとして CPFS for Lingjun ファイルシステムにインポートします。このオペレーションは、API オペレーションを介してのみ利用できます。
|
ストリームエクスポート | CPFS for Lingjun ファイルシステム内の指定されたデータを、単一ファイルレベルのサブタスクとして OSS バケットにエクスポートします。このオペレーションは、API オペレーションを介してのみ利用できます。 エクスポートパス:CPFS for Lingjun ファイルシステム内のファイルまたはディレクトリのパス。データフロータスクは、ファイルシステム内のファイルパスに基づいて、データをバケットにエクスポートします。 |
制限事項
データフロー
CPFS for Lingjun 2.4.0 以降は同一アカウントのデータフローをサポートし、CPFS for Lingjun 2.6.0 以降はクロスアカウントのデータフローをサポートします。
単一の CPFS for Lingjun ファイルシステムに対して、最大 10 個のデータフローを作成できます。
CPFS for Lingjun ファイルシステム内のファイルパスは、1 つの OSS バケットにのみリンクできます。
CPFS for Lingjun ファイルシステムと、異なるリージョンにある OSS バケットとの間でデータフローを作成することはできません。
パス、ファイル名、ディレクトリ名の制限
データフローに関連付けられたファイルシステムパスでは、空でないディレクトリの名前を変更することはできません。変更しようとすると、
Permission Deniedエラーや、ディレクトリが空ではないことを示すエラーが返されます。ディレクトリ名とファイル名での特殊文字の使用には注意してください。
サポートされている文字には、大文字と小文字、数字、感嘆符 (!)、ハイフン (-)、アンダースコア (_)、ピリオド (.)、アスタリスク (*)、および括弧 (()) が含まれます。
次の特殊文字はサポートされていません。これらを使用すると、タスクが予期しない結果になったり、失敗したりする可能性があります。
サブディレクトリ名またはファイル名を「..」にすることはできません。
パスにバックスラッシュ (\) または連続したバックスラッシュ (\\) を含めることはできません。
サブディレクトリ名またはファイル名にスラッシュ (/) を含めることはできません。
長いパスはサポートされていません。データフローでサポートされる最大パス長は 1,023 文字です。
データフロータスクの制限
ストリーミングタスクは、CPFS for Lingjun 2.6.0 以降で、かつ API オペレーションを介してのみサポートされます。
単一のデータフローに対して同時に実行できるバッチタスクは最大 4 つです。ストリーミングタスクの同時実行数に制限はありません。
インポートの制限
シンボリックリンクを CPFS for Lingjun にインポートすると、データを含む通常のファイルに変換され、シンボリックリンクの情報は失われます。
OSS バケットでバージョニングが有効になっている場合、オブジェクトの最新バージョンのみがコピーされます。
ファイル名またはサブディレクトリ名は 255 バイトを超えることはできません。
エクスポートの制限
シンボリックリンクが OSS に同期されると、データフローはリンク先のファイルを同期しません。代わりに、リンクは通常の空のオブジェクトになります。
データフローは、ハードリンクを通常のファイルとして OSS に同期します。
ソケット、デバイス、またはパイプタイプのファイルを OSS バケットにエクスポートすると、通常の空のオブジェクトに変換されます。
ディレクトリパスは 1,023 文字を超えることはできません。
パフォーマンスメトリクス
オペレーション | メトリクス | 説明 |
データインポート | 1 GB を超えるファイルのスループット |
|
1 GB 未満のファイルの IOPS | 単一ディレクトリまたは複数ディレクトリのインポート:1,000 | |
データエクスポート | 1 GB を超えるファイルのスループット |
|
1 GB 未満のファイルの IOPS | 単一ディレクトリまたは複数ディレクトリのエクスポート:1,200 |
課金
CPFS for Lingjun のデータフロー機能は招待制プレビュー中であり、無料で利用できます。
操作手順
データフローの作成
同一アカウントのデータフローについては、「同一アカウントデータフローの作成」をご参照ください。
クロスアカウントのデータフローについては、「クロスアカウントデータフローの作成」をご参照ください。
バッチタスクまたはストリーミングタスクの作成
ストリーミングタスクについては、「ストリーミングタスクの管理 (OpenAPI)」をご参照ください。
バッチタスクについては、「バッチタスクの管理」をご参照ください。
データの検証
データフロータスクが完了したら、宛先のデータの正確性を検証してください。
警告宛先のデータが正しいことを確認せずにソースデータを削除した場合、それによって生じるデータ損失やその他のいかなる結果についても、お客様の責任となります。