すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:strmvol ボリュームの概要

最終更新日:Jun 05, 2025

strmvol ボリュームを使用して、仮想ブロックデバイスを介して Object Storage Service (OSS) データをマウントできます。 これにより、非常に多数の OSS オブジェクトがマウントされているシナリオでの読み取りパフォーマンスが向上します。

ソリューションの概要

OSS は、大規模なデータストレージと従量課金制の課金方法をサポートし、HTTP プロトコルに基づいた便利なアクセス機能を提供します。 コンテナ化されたシナリオでは、通常、FUSE ファイルシステムを使用して OSS データをマウントします。 小さなファイルの読み取りシナリオでは、仮想ブロックデバイスソリューションを使用して OSS データを strmvol ボリュームとしてマウントできます。

strmvol ボリュームを使用すると、仮想ブロックデバイスを介して OSS データにアクセスできます。 このソリューションは、FUSE 中間層でのパフォーマンスボトルネックを解消し、ストレージドライバ層に直接アクセスしてデータアクセスを高速化できます。 このソリューションは、AI トレーニングデータセットのロードや時系列データの分析など、数百万の小さなファイルをすばやく走査する必要があるシナリオに最適です。

FUSE を使用するソリューションの特徴

このソリューションでは、ossfs などの FUSE ファイルシステムを使用します。 特徴:

  • OSS サーバー上のデータ変更を検出できます。 メタデータキャッシングを無効にすると、データの変更はリアルタイムで反映されます。

  • 書き込み操作がサポートされています。 グループ ID (gid) やユーザー ID (uid) などの拡張ファイルシステム情報がサポートされています。

  • 読み取りリクエストと書き込みリクエストは、FUSE 層を介して ossfs クライアントに転送されます。 多数の小さなファイルの走査など、ピークリクエストの高いシナリオでは、パフォーマンスオーバーヘッドが高くなります。

  • 以前のバージョンの Container Storage Interface (CSI) プラグインでは、ossfs クライアントは、それが存在するノード上でプロセスとして実行されます。 現在のバージョンの CSI プラグインでは、ossfs クライアントはクラスター内の別のポッドとして実行されます。 同じノード上にあるポッドと永続ボリューム (PV) は、OSS アクセスに同じ ossfs クライアントを共有します。

仮想ブロックデバイスソリューションの特徴

このソリューションは、Enhanced Read-Only File System (EROFS) などの基盤となる仮想ブロックデバイスとカーネル状態ファイルシステムに基づいています。 特徴:

  • 初期化中に、OSS バケットマウントポイントの下にあるすべてのファイルメタデータが取得され、インデックスが作成されます。 現在のバージョンでは、実行時の OSS サーバーのデータ同期はサポートされていません。

  • 読み取り専用シナリオでは、OSS オブジェクトの拡張情報解析はサポートされていません。

  • FUSE 層でのパフォーマンスオーバーヘッドが解消されます。 事前に設定されたメモリサイズは、小さなファイルの読み取りシナリオでのプリフェッチを高速化するためのデータ記憶媒体として使用されます。

  • CSI プラグインに加えて、このソリューションでは、ノード上の仮想ブロックデバイスを管理するために strmvold という名前の追加の DaemonSet が必要です。 デバイスがノードに接続されると、事前に設定されたノードリソースがデータキャッシングのために使用されます。

シナリオ

ビジネスが以下の要件を満たしている場合は、仮想ブロックデバイスソリューション (strmvol ボリューム) を使用できます。

説明

FUSE を使用するソリューションは、ほとんどのシナリオに適しています。 詳細については、「静的にプロビジョニングされた ossfs 1.0 ボリュームをマウントする」、「ossfs 1.0 を使用して動的にプロビジョニングされた OSS ボリュームをマウントする」、および「ossfs 2.0 ボリュームを使用する」をご参照ください。

  • データは OSS バケットに保存され、ビジネスの実行中に更新する必要はありません。

  • ビジネスは、ファイルシステムの拡張情報に依存しません。

  • 読み取り専用シナリオ、特に多数の小さなファイルまたはランダム読み取りが含まれるシナリオ。

strmvol ボリュームの使用方法

strmvol ボリュームを使用する前に、Container Service for Kubernetes (ACK) コンソールの Marketplace ページで strmvol-csi-driver コンポーネントをインストールする必要があります。 strmvol-csi-driver をデプロイすると、次のリソースが作成されます。

リソース名

リソースタイプ

機能

strmvold

DaemonSet

ノード上の仮想ブロックデバイスを管理します。

strmvol-csi-plugin

DaemonSet

strmvol ボリュームのマウントとマウント解除を実装します。

strmvol-csi-provisioner

Deployment

動的な strmvol ボリュームの作成を実装します。