Curvine:AIワークロード向けオブジェクトストレージ上のPOSIXファイルセマンティックレイヤー
AI ネイティブおよびクラウド ネイティブ FS: 高速キャッシュと統合された、クラウド オブジェクト ストレージ用の高性能ファイル セマンティック レイヤー。 CNCFサンドボックスプロジェクト。
ひと目でわかる
- これは何?
- Rust製ファイルシステムで、クラウドオブジェクトストレージ上に分散キャッシュとPOSIXセマンティクスを重ね、Kubernetes CSIドライバとS3/HDFSインターフェースを提供します。
- 誰に向いている?
- READMEにはAmazon EKSでの10,000 Podの検証と、100マイクロ秒級のレイテンシ、クラスタあたり50億ファイルの主張が記載されていますが、独立したベンチマーク、セキュリティレビュー、サポートポリシーはありません。CurvineはCNCFサンドボックスプロジェクトで、Apache-2.0ライセンスであり、メタデータスナップショット時点で881スターと157のオープンイシューがあります。
- 商用利用できる?
- できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 2 日前です。
- 何の言語で書かれている?
- 主に Rust です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
オブジェクトストレージを永続層として扱うファイルシステム
CurvineはRustで書かれたファイルシステムで、クラウドオブジェクトストレージ上にPOSIX互換インターフェースを重ねます。READMEは、大規模AIワークロードとAIエージェントプラットフォーム向けに設計された、統合マルチティア分散キャッシュを備えた高性能ファイルセマンティックレイヤーと説明しています。名前は劉慈欣のSF小説『三体』に登場する超光速推進装置「曲率エンジン」に由来し、データアクセスの高速化を象徴しています。このプロジェクトはCNCFサンドボックスプロジェクトであり、Apache-2.0ライセンスです。リポジトリメタデータには881スターと101フォークが記載されていますが、READMEには後述の検証シナリオ以外の採用統計や利用統計はありません。
READMEがオブジェクトストレージだけでは不十分と述べる理由
READMEは、単一の大規模モデルインスタンスから数万の独立したAIエージェントへの移行がストレージ要件を変えると主張しています。各エージェントは、独自の作業ディレクトリ、永続コンテキストファイル、node_modules、git履歴を持つステートフルなプロセスであり、分離されたPOSIXワークスペースが必要です。既存のストレージオプションを比較しています。ブロックストレージ(EBSなど)はノードごとのボリュームアタッチ制限と単一AZバインドがあります。マネージドNFS(EFSなど)はクラウドAPIレート制限の影響を受けます。オブジェクトストレージ(S3など)は、インプレース変更、アトミックリネーム、一貫したディレクトリリストのためのPOSIXセマンティクスがありません。Curvineはオブジェクトストレージ上に分散ファイルシステムを提供することでこのギャップを埋める位置づけですが、READMEにはこれらのオプションを比較する正式なベンチマークは含まれていません。
Amazon EKSでの10,000 Podの検証
READMEは、Amazon EKSでの本番検証でCurvineが10,000の独立したステートフルPodを支えたと報告しています。表には、10,000のPVCがすべてBoundで、PendingやFailedがゼロ、10,000の実行中PodでCrashLoopBackOffなし、ストレージクラスタのフットプリントはマスター1台とワーカー3台(合計4コアPod)、各r6g.4xlargeノードで約100のエージェントPod(EBSでは約28)、CPU 88%、メモリ98%、プロビジョニングレイテンシはローカルmkdirのためミリ秒、Pod再起動とノード間再スケジュールをまたいでデータが生存することが示されています。READMEは完全なストーリーを説明する中国語のAWSブログ記事へのリンクを提供していますが、その記事の詳細はREADME自体には再現されていません。検証数値は方法論やテストスクリプトなしで記載されているため、ソースから独立に確認することはできません。
コア機能:キャッシュ、CSI、プロトコル互換性、メタデータ
Curvineの機能リストには、ホットデータをメモリからSSD、HDDへ自動的に昇格させるマルチティアキャッシュ、動的PVCプロビジョニング、Immediateバインディング、ボリューム拡張、Helmベースのデプロイを可能にするネイティブKubernetes CSIドライバ、Vite、inotify、fswatch、gitなどのツールがそのまま動作するFUSEによる完全なPOSIXセマンティクス、AIおよびビッグデータエコシステムとの統合のためのS3およびHDFSプロトコル互換性、Tokio非同期ランタイムとゼロコピーデータパスを備えたRustコア、クラスタあたり50億の小さなファイルのサポート、S3オブジェクトパスに1対1でマッピングされCurvineがダウンしてもオブジェクトにアクセスできるメタデータ設計が含まれます。READMEはメタデータのためのRaftコンセンサスとWeb UIを備えた組み込みメトリクスシステムにも言及しています。これらの機能は高レベルで説明されており、READMEは設定パラメータやチューニングの詳細を指定していません。
アーキテクチャ:マスター、ワーカー、クライアント
Curvineはマスターワーカーアーキテクチャを採用しています。マスターノードはメタデータ管理、ワーカーノード調整、負荷分散を担当し、一貫性と高可用性のためにRaftを使用します。ワーカーノードはデータキャッシュとサービスを提供し、マルチティアキャッシュと自動ホットデータ昇格をサポートします。クライアントはRPCを介して通信し、FUSE、S3、またはHDFS互換インターフェースを介してデータにアクセスします。中核となる考え方は、クラウドオブジェクトストレージ上に分散ファイルシステムキャッシュを重ね、上にPOSIXセマンティクスを公開し、下にオブジェクトストレージを永続層として使用することです。Kubernetesの場合、CSIドライバはクラウドAPIを呼び出さずにファイルシステムをPVCとしてマウントします。プロビジョニングはディレクトリを作成するだけだからです。READMEはRPCプロトコルやキャッシュコヒーレンスメカニズムを詳細に説明していません。
ビルドと実行:依存関係、ビルド手順、シングルノードクラスタ
READMEには前提条件がリストされています:GCC 10+、Rust 1.86+、Protobuf 3.x、Maven 3.8+、LLVM 12+、libfuse2またはlibfuse3開発パッケージ、JDK 1.8+、npm 9+、Python 3.7+。ビルドコマンドには`make all`または`bash build/build.sh`が含まれ、コアモジュール、fuse、SPDK/RDMAサポート付きサーバーをビルドするオプションがあります。Dockerイメージは`make docker-build`または`make docker-build-cached`でビルドできます。ビルド後、インストールパッケージはbuild/distに生成されます。シングルノードクラスタを開始するには、READMEは`bin/curvine-master.sh start`と`bin/curvine-worker.sh start`を示し、次に`bin/curvine-fuse.sh start`でファイルシステムを/curvine-fuseにマウントし、`bin/cv report`でクラスタ概要を表示し、`bin/cv fs mkdir /a`でHDFS互換コマンドを実行します。設定はTOMLファイルを使用し、例はconf/curvine-cluster.tomlにあります。Windowsのサポートは限定的で、LinuxとmacOSが文書化されたターゲットです。READMEは、マスターとワーカーのアドレスの設定方法について、サンプルファイルにネットワーク設定が含まれているという注記以外には説明していません。
パフォーマンスの主張、メタデータ規模、READMEが言及していないこと
READMEは約100マイクロ秒級のレイテンシと100K+の安定したQPS、そしてクラスタあたり50億の小さなファイルを主張しています。これらは独立したベンチマークや方法論なしで述べられています。READMEはまた、セキュリティ保証、保証、サポート詳細を提供していません。Apache-2.0ライセンスは著作権と特許権を付与しますが、保証はしません。このプロジェクトはCNCFサンドボックスにありますが、READMEはサンドボックスプロセスや本番対応認定については説明していません。詳細な評価には、ユーザー自身のテストを実行するか、リンクされたベンチマークドキュメントを参照する必要がありますが、それはREADMEには再現されていません。リポジトリメタデータには157のオープンイシューがありますが、ソース資料はそれらを分類していません。ライセンス抜粋は、永続的、全世界的、非独占的な著作権および特許ライセンスを付与しますが、保証を明示的に否認します。実施記録には対象版と入力条件を残し、成功した結果だけでなく失敗した場合の出力も保存します。設定を変更した前後で同じ確認を繰り返せるようにし、READMEに書かれた機能と自分の環境で確認できた事実を分けます。採用判断では、導入できたかだけでなく、更新、障害、切り戻し、権限、ライセンスを同じ担当者が追跡できるかを確かめます。
編集部の結論
READMEにはAmazon EKSでの10,000 Podの検証と、100マイクロ秒級のレイテンシ、クラスタあたり50億ファイルの主張が記載されていますが、独立したベンチマーク、セキュリティレビュー、サポートポリシーはありません。CurvineはCNCFサンドボックスプロジェクトで、Apache-2.0ライセンスであり、メタデータスナップショット時点で881スターと157のオープンイシューがあります。ソース資料はそれらのイシューの性質を説明していないため、特定のワークロードに対する検証が唯一の評価方法です。
コミュニティノート