第5章 ローカルストレージを使用した永続ストレージ
5.1. ローカルストレージの概要 リンクのコピーリンクがクリップボードにコピーされました!
ローカルストレージは、クラスターノードに接続されたディスクに直接アクセスでき、ネットワーク接続ストレージやクラウドベースのストレージよりも低レイテンシーと高スループットを実現します。パフォーマンス重視のワークロード、シングルノードクラスター、またはクラウドストレージインフラストラクチャーのない環境にローカルストレージを使用します。
5.1.1. ローカルストレージオプションの概要 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform は、ノードローカルストレージをプロビジョニングするための 3 つのソリューションを提供します。それぞれ、動的プロビジョニングとトポロジー認識のためのさまざまな機能を提供します。ノードローカルストレージは、ワークロードを特定のノードにバインドします。
ローカルストレージをプロビジョニングするには、次のいずれかのソリューションを使用できます。
- HostPath Provisioner (HPP)
- Local Storage Operator (LSO)
- Logical Volume Manager (LVM) Storage
これらのソリューションは、ノードローカルストレージのプロビジョニングのみをサポートします。ワークロードは、ストレージを提供するノードにバインドされます。ノードが使用できなくなると、ワークロードも使用できなくなります。ノード障害が発生したときにワークロードの可用性を維持するには、アクティブまたはパッシブのレプリケーションメカニズムにより、ストレージデータのレプリケーションを確実に実行する必要があります。
5.1.1.1. HostPath Provisioner 機能の概要 リンクのコピーリンクがクリップボードにコピーされました!
HostPath Provisioner (HPP) を使用すると、次の操作を実行できます。
- ローカルストレージをプロビジョニングするために、ホストファイルシステムパスをストレージクラスにマップする。
- ストレージを使用するために、ストレージクラスを静的に作成してノードにファイルシステムパスを設定する。
- ストレージクラスに基づいて永続ボリューム (PV) を静的にプロビジョニングする。
- 基盤となるストレージトポロジーを考慮しながら、ワークロードと PersistentVolumeClaim (PVC) を作成する。
HPP はアップストリームの Kubernetes で利用できます。ただし、アップストリームの Kubernetes から HPP を使用することは推奨しません。
5.1.1.2. Local Storage Operator の機能の概要 リンクのコピーリンクがクリップボードにコピーされました!
Local Storage Operator (LSO) を使用すると、次の操作を実行できます。
- デバイス設定を変更せずに、ストレージデバイス (ディスクまたはパーティション) をストレージクラスに割り当てる。
-
LocalVolumeカスタムリソース (CR) を設定して、PV とストレージクラスを静的にプロビジョニングする。 - 基盤となるストレージトポロジーを考慮しながら、ワークロードと PVC を作成する。
LSO は Red Hat によって開発および提供されています。
5.1.1.3. LVM Storage の機能の概要 リンクのコピーリンクがクリップボードにコピーされました!
Logical Volume Manager (LVM) Storage を使用すると、次の操作を実行できます。
- ストレージデバイス (ディスクまたはパーティション) を lvm2 ボリュームグループとして設定し、ボリュームグループをストレージクラスとして公開する。
- ノードトポロジーを考慮せずに PVC を使用してワークロードを作成し、ストレージを要求する。
LVM Storage は TopoLVM CSI ドライバーを使用して、トポロジー内のノードにストレージスペースを動的に割り当て、PV をプロビジョニングします。
LVM Storage は、Red Hat によって開発および保守されています。LVM Storage に付属する CSI ドライバーは、アップストリームプロジェクトの "topolvm" です。
5.1.2. LVM Storage、LSO、HPP の比較 リンクのコピーリンクがクリップボードにコピーされました!
LVM Storage、Local Storage Operator (LSO)、および HostPath Provisioner (HPP) をストレージタイプ、コア機能、パフォーマンス、および分離ごとに比較し、クラスターに最適なローカルストレージプロビジョニングソリューションを決定します。
5.1.2.1. ストレージタイプおよびファイルシステムのサポートの比較 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、ローカルストレージをプロビジョニングするために LVM Storage、Local Storage Operator (LSO)、および HostPath Provisioner (HPP) によって提供されるストレージタイプおよびファイルシステムのサポートを比較したものです。
| 機能 | LVM Storage | LSO | HPP |
|---|---|---|---|
| ブロックストレージのサポート | はい | はい | いいえ |
| ファイルストレージのサポート | はい | はい | はい |
| オブジェクトストレージのサポート [1] | いいえ | いいえ | いいえ |
| 利用可能なファイルシステム |
|
| ノード上で使用できるマウントされたシステムがすべてサポートされます。 |
-
いずれのソリューション (LVM Storage、LSO、HPP) もオブジェクトストレージをサポートしていません。したがって、オブジェクトストレージを使用する場合は、Red Hat OpenShift Data Foundation の
MultiClusterGatewayなどの S3 オブジェクトストレージソリューションが必要です。どのソリューションも、S3 オブジェクトストレージソリューションの基盤となるストレージプロバイダーとして機能します。
5.1.2.2. コア機能のサポートの比較 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、LVM Storage、Local Storage Operator (LSO)、および HostPath Provisioner (HPP) によるローカルストレージのプロビジョニングに関するコア機能のサポート状況を比較したものです。
| 機能 | LVM Storage | LSO | HPP |
|---|---|---|---|
| 自動ファイルシステムフォーマット設定のサポート | はい | はい | 該当なし |
| 動的プロビジョニングのサポート | はい | いいえ | いいえ |
| ソフトウェア Redundant Array of Independent Disks (RAID) アレイの使用のサポート | はい 4.15 以降でサポートされています。 | はい | はい |
| 透過的なディスク暗号化のサポート | はい 4.16 以降でサポートされています。 | はい | はい |
| ボリュームベースのディスク暗号化のサポート | いいえ | いいえ | いいえ |
| 非接続インストールのサポート | はい | はい | はい |
| PVC 拡張のサポート | はい | いいえ | いいえ |
| ボリュームスナップショットとボリュームクローンのサポート | はい | いいえ | いいえ |
| シンプロビジョニングのサポート | はい デバイスはデフォルトでシンプロビジョニングされます。 | はい シンプロビジョニングされたボリュームを参照するようにデバイスを設定できます。 | はい シンプロビジョニングされたボリュームを参照するパスを設定できます。 |
| 自動ディスク検出とセットアップのサポート | はい
インストール時および実行時に自動ディスク検出を利用できます。既存のストレージクラスのストレージ容量を増やすために、ディスクを | テクノロジープレビュー インストール時に自動ディスク検出を利用できます。 | いいえ |
5.1.2.3. パフォーマンス機能と分離機能の比較 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、ローカルストレージのプロビジョニングにおける LVM Storage、Local Storage Operator (LSO)、および HostPath Provisioner (HPP) のパフォーマンス機能と分離機能を比較したものです。
| 機能 | LVM Storage | LSO | HPP |
|---|---|---|---|
| パフォーマンス | I/O スピードが、同じストレージクラスを使用するすべてのワークロードで共有されます。 ブロックストレージでは直接 I/O 操作が可能です。 シンプロビジョニングがパフォーマンスに影響を与える可能性があります。 | I/O は LSO 設定によって異なります。 ブロックストレージでは直接 I/O 操作が可能です。 | I/O スピードが、同じストレージクラスを使用するすべてのワークロードで共有されます。 基盤となるファイルシステムによる制限が、I/O スピードに影響を与える可能性があります。 |
| 分離境界 [1] | LVM 論理ボリューム (LV) HPP と比較して、より高いレベルの分離を提供します。 | LVM 論理ボリューム (LV) HPP と比較して、より高いレベルの隔離を提供します。 | ファイルシステムパス LSO および LVM Storage と比較して、より低いレベルの分離を提供します。 |
- 分離境界とは、ローカルストレージリソースを使用するさまざまなワークロードまたはアプリケーション間の分離レベルを指します。
5.1.2.4. 追加機能のサポートの比較 リンクのコピーリンクがクリップボードにコピーされました!
次の表は、LVM Storage、Local Storage Operator (LSO)、および HostPath Provisioner (HPP) が提供する、ローカルストレージをプロビジョニングするための追加機能を比較したものです。
| 機能 | LVM Storage | LSO | HPP |
|---|---|---|---|
| 汎用エフェメラルボリュームのサポート | はい | いいえ | いいえ |
| CSI インラインエフェメラルボリュームのサポート | いいえ | いいえ | いいえ |
| ストレージトポロジーのサポート | はい CSI ノードトポロジーのサポート | はい LSO は、ノード toleration を通じてストレージトポロジーの部分的なサポートを提供します。 | いいえ |
|
| いいえ | いいえ | いいえ |
-
どのソリューション (LVM Storage、LSO、HPP) にも、
ReadWriteOnce(RWO) アクセスモードがあります。RWO アクセスモードでは、同じノード上の複数の Pod からのアクセスが可能になります。