永続ストレージの種類と比較
PFCP では、データを永続的に保存するためのストレージとしてファイルストレージとブロックストレージを提供しています。 PFCP のファイルストレージは NFS(Network File System)、ブロックストレージは NVMe/TCP を通信プロトコルとしてストレージシステムと接続されています。
ファイルストレージ
PFCP のファイルストレージは複数の Pod から NFS プロトコルを利用してデータを共有できます。 組織内のワークロードから共通して参照されるデータを格納する場所、ログや処理した結果を保存する場所としての利用に適しています。
ブロックストレージ
PFCP のブロックストレージは NVMe/TCP を利用して Pod からストレージシステムに対するより高度な操作を可能にします。
ブロックストレージ上にファイルシステムを作成して扱うときは複数 Pod からのアクセスが実行できない代わりにより高速なアクセスが可能となります。 これは高い応答性能が求められるデータベースでの利用に適しています。
ブロックストレージ上にファイルシステムを作成せず raw device として扱うときはそのまま Linux のブロックデバイスとしての利用が可能となります。 これは既存のファイルシステムでは実現できない機能を実現したいときに利用されます。 デバイスレベルでの暗号化が求められる特殊なアプリケーションでの利用、専用のフォーマットを用いる仮想ディスクとしての利用などです。
比較
ここでは PFCP で提供しているストレージタイプにおいて利用可能なアクセスモードを示します。 表中のアクセスモードは以下に示す省略形で表記しています: ReadWriteOnce(RWO)、 ReadOnlyMany(ROX)、ReadWriteMany(RWX)、ReadWriteOncePod(RWOP)
ストレージタイプ | RWO | ROX | RWX | RWOP | 備考 |
---|---|---|---|---|---|
ファイルストレージ | ◯ | ◯ | ◯ | ◯ | |
ブロックストレージ | ◯ | ー | ー | ◯ | ファイルシステムを作成して扱うとき |
ブロックストレージ | ◯ | ◯ | ◯ | ◯ | ファイルシステムを作成せず raw block device として扱うとき |