4.4. インストール後のストレージ設定
ストレージプロバイダーがコンテナー化データインポーター (CDI) に認識されない場合は、OpenShift Virtualization のインストール後にストレージプロファイルを設定する必要があります。ストレージプロファイルは、関連付けられたストレージクラスに基づいて推奨されるストレージ設定を提供します。
オプション: ホストパスプロビジョナー (HPP) を使用して、ローカルストレージを設定できます。
CDI、データボリューム、自動ブートソース更新の設定など、その他のオプションについては、「ストレージ設定の概要」ドキュメントを参照してください。
4.4.1. HPP を使用したローカルストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Virtualization Operator のインストール時に、Hostpath Provisioner (HPP) Operator は自動的にインストールされます。HPP Operator は HPP プロビジョナーを作成します。
HPP は、OpenShift Virtualization 用に設計されたローカルストレージプロビジョナーです。HPP を使用するには、HPP カスタムリソース (CR) を作成する必要があります。
HPP ストレージプールは、オペレーティングシステムと同じパーティションにあってはなりません。そうしないと、ストレージプールがオペレーティングシステムパーティションをいっぱいにする可能性があります。オペレーティングシステムのパーティションがいっぱいになると、パフォーマンスに悪影響が生じたり、ノードが不安定になったり使用できなくなったりする可能性があります。
4.4.1.1. storagePools スタンザを使用した CSI ドライバーのストレージクラスの作成 リンクのコピーリンクがクリップボードにコピーされました!
ホストパスプロビジョナー (HPP) を使用するには、コンテナーストレージインターフェイス (CSI) ドライバーに関連するストレージクラスを作成する必要があります。
ストレージクラスの作成時に、ストレージクラスに属する永続ボリューム (PV) の動的プロビジョニングに影響するパラメーターを設定します。StorageClass オブジェクトの作成後には、このオブジェクトのパラメーターを更新できません。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてログインしている。
手順
storageclass_csi.yamlファイルを作成して、ストレージクラスを定義します。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: hostpath-csi provisioner: kubevirt.io.hostpath-provisioner reclaimPolicy: Delete volumeBindingMode: WaitForFirstConsumer parameters: storagePool: my-storage-pool-
reclaimPolicyは、ユーザーが PVC を削除したときに、基礎となるストレージが削除されるか保持されるかを定義します。reclaimPolicyには、DeleteおよびRetainの 2 つの値があります。値を指定しない場合、デフォルト値はDeleteです。 volumeBindingModeは、PV 作成のタイミングを定義します。この例では、WaitForFirstConsumer設定により、スケジューラーが特定のノードに Pod を割り当てるまで、PV の作成が遅延されます。注記仮想マシンは、特定のノード上に存在するローカル PV に基づいたデータボリュームを使用します。システムが仮想マシン用のディスクイメージを準備する際、スケジューラーはローカルストレージ PV を固定したノードに仮想マシンを配置しない場合があります。
+ この問題を解決するには、Kubernetes Pod スケジューラーを使用して、永続ボリューム要求 (PVC) を正しいノードの PV にバインドします。
StorageClassのvolumeBindingModeパラメーターをWaitForFirstConsumerに設定すると、PVC を使用する Pod が作成されるまで PV のバインディングとプロビジョニングが遅延されます。-
parameters.storagePoolは、HPP カスタムリソース (CR) で定義されているストレージプールの名前を定義します。
-
- ファイルを保存して終了します。
次のコマンドを実行して、
StorageClassオブジェクトを作成します。$ oc create -f storageclass_csi.yaml