OSS バケットをボリュームとして ACK の Pod にマウントすることで、非構造化データの共有可能で低コストな永続ストレージを実現します。
OSS の概要
Object Storage Service (OSS) は、高い耐久性と可用性を備えた、安全で低コストなクラウドストレージサービスです。OSS は、Standard、低頻度アクセス、Archive、Cold Archive など、ホットからコールドまでのストレージクラスを提供しています。課金方法やアクセス頻度に応じてクラスを選択してください。詳細については、「ストレージソリューションの選択」をご参照ください。
OSS の課金については、「課金の概要」をご参照ください。
ユースケース
低コストで大規模な共有ストレージスペースです。書き込み後にほとんど変更されないデータの保存に適しています。
一般的なユースケース:
データ共有シナリオ
OSS は共有ストレージです。複数の Pod が同じデータにアクセスできます。OSS 内のデータは Pod が削除されても削除されません。Pod 間のデータ共有に OSS を使用できます。
設定ファイル、画像、さまざまなビデオメディアファイルなどのファイルを含む読み取り集中型のシナリオ
OSS は、設定ファイル、画像、音声、ビデオファイルなどの非構造化データの保存に適しています。ビジネスでファイルコンテンツを変更する必要がある場合は、POSIX 操作との互換性を高めるために ossfs 1.0 ボリュームを選択してください。
AI 推論やデータ分析などの高同時実行バッチ処理シナリオ
OSS の高いサーバー側帯域幅は、高同時実行バッチ処理に適しています。例としては、AI トレーニング、データ分析、自動運転などの新しい計算集約型ワークロードやワークフローがあります。これらのワークロードは、主にシーケンシャルおよびランダム読み取り、シーケンシャル書き込み (追加のみ) を含みます。スループットを向上させるには、ossfs 2.0 ボリュームを選択してください。
認証とディザスタリカバリに対する要件が高いデータセキュリティシナリオ
OSS は、ディザスタリカバリのためのゾーン冗長ストレージと KMS などのサーバー側暗号化機能をサポートしています。また、データのアップロードとダウンロードの整合性を確保するための MD5 検証もサポートしています。さらに、RAM と OSS バケットポリシーという 2 つのオブジェクトレベルの認証方式をサポートしています。
-
OSS ボリュームへの書き込みを行うには、ossfs 1.0 v1.91 以降を使用してください。詳細については、「ossfs 1.0 の新機能とパフォーマンスストレステスト」をご参照ください。
-
読み書き分離のパフォーマンスを向上させるには、「OSS 読み書き分離のベストプラクティс」をご参照ください。
クライアントの選択
OSS ボリュームは、ユーザー空間ファイルシステム (FUSE) クライアントまたは仮想ブロックデバイスを使用してオブジェクトストレージをマウントしますが、ローカルストレージやブロックストレージと比較して POSIX 互換性は限定的です。
OSS ボリュームには以下のクライアントが利用可能です。詳細については、「クライアント選択リファレンス」をご参照ください。
|
クライアント |
タイプ |
説明 |
必要なストレージコンポーネントのバージョン |
|
FUSE |
追記書き込み、ランダム書き込み、ユーザー権限など、ほとんどの POSIX 操作をサポートします。詳細については、「動作の仕組み」および「バージョン更新と新機能」をご参照ください。 |
常にサポートされています。詳細については、「ossfs 1.0 リリースノート」をご参照ください。 |
|
|
FUSE |
完全な読み取りとシーケンシャルな追記書き込みをサポートします。読み取り中心のシナリオ向けに最適化されており、読み取りパフォーマンスが大幅に向上しています。詳細については、「ossfs 2.0 の概要」をご参照ください。 |
CSI コンポーネントバージョン v1.33.1 以降。 |
|
|
仮想ブロックデバイス |
読み取り専用シナリオのみをサポートします。仮想ブロックデバイスを使用して、多数の小さなファイルによる FUSE パフォーマンスのボトルネックを解決します。 |
CSI に加えて strmvol-csi-driver コンポーネントが必要です。 |
注意事項
-
OSS バケットのサブディレクトリをマウントするには、
subpathを使用せず、PersistentVolume (PV) のpathフィールドを設定してください。subpathまたはsubpathExprを使用する場合は、権限関連のマウント失敗を回避するには「subpath または subpathExpr を使用して OSS ボリュームをマウントすると例外が発生する」をご参照ください。 -
マウントされた OSS ボリュームのルートパスでは、
chmodおよびchownはサポートされていません。代わりにmp_umask設定を使用してください。詳細については、「OSS ボリュームのマウント権限の問題」をご参照ください。
制限事項
これらの制限事項は主に読み取り/書き込みシナリオにおける ossfs 1.0 に適用されます。 ossfs 2.0 および strmvol は主に読み取り操作をサポートしており、ほとんど影響を受けません。
ランダム書き込みと追記書き込みは、OSS にアップロードする前にローカルファイルを作成します。OSS ストレージの特性により:
-
ファイルとフォルダの名前変更はアトミックな操作ではありません。
-
同時書き込みや、マウントパス内での直接的な圧縮/解凍は避けてください。
重要複数書き込みシナリオでは、クライアントの動作を調整してください。ACK は、同時書き込みによるメタデータやデータの整合性を保証しません。
その他の制限事項:
-
ハードリンクはサポートされていません。
-
Archive Storage、Cold Archive、または Deep Cold Archive ストレージクラスのバケットはマウントできません。
-
readdir 操作は、パス内のすべてのオブジェクトに対して headObject リクエストを送信するため、多数のファイルを含むディレクトリではパフォーマンスに影響を与える可能性があります。ファイルの権限と属性が重要でない場合は、
-o readdir_optimizeを有効にしてください。詳細については、「新しい readdir 最適化機能」をご参照ください。 -
v1.20.7 より前の CSI プラグインバージョンは、ローカルの変更のみを検出し、他のクライアントやツールによる外部の変更は検出しません。
-
CSI v1.28 より前のバージョンでは、ossfs はノード上で直接実行され、CentOS、Alibaba Cloud Linux、ContainerOS、および Anolis OS のみをサポートします。サポートされていないオペレーティングシステムをお使いの場合は、「CSI コンポーネントをアップグレードする」をご参照ください。