This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.14. 仮想マシンディスク
6.14.1. 仮想マシンのローカルストレージの設定 リンクのコピーリンクがクリップボードにコピーされました!
ホストパスプロビジョナー機能を使用して、仮想マシンのローカルストレージを設定できます。
6.14.1.1. ホストパスプロビジョナーについて リンクのコピーリンクがクリップボードにコピーされました!
ホストパスプロビジョナーは、Container-native Virtualization 用に設計されたローカルストレージプロビジョナーです。仮想マシンのローカルストレージを設定する必要がある場合、まずホストパスプロビジョナーを有効にする必要があります。
Container-native Virtualization Operator のインストール時に、ホストパスプロビジョナー Operator は自動的にインストールされます。これを使用するには、以下を実行する必要があります。
SELinux を設定します。
- Red Hat Enterprise Linux CoreOS 8 ワーカーを使用する場合は、各ノードに MachineConfig オブジェクトを作成する必要があります。
-
それ以外の場合には、SELinux ラベル
container_file_t
を各ノードの PersistentVolume (PV) バッキングディレクトリーに適用します。
- HostPathProvisioner カスタムリソースを作成します。
-
ホストパスプロビジョナーの
StorageClass
オブジェクトを作成します。
ホストパスプロビジョナー Operator は、カスタムリソースの作成時にプロビジョナーを各ノードに DaemonSet としてデプロイします。カスタムリソースファイルでは、ホストパスプロビジョナーが作成する PersistentVolume のバッキングディレクトリーを指定します。
6.14.1.2. Red Hat Enterprise Linux CoreOS 8 でのホストパスプロビジョナー用の SELinux の設定 リンクのコピーリンクがクリップボードにコピーされました!
HostPathProvisioner カスタムリソースを作成する前に、SELinux を設定する必要があります。Red Hat Enterprise Linux CoreOS 8 ワーカーで SELinux を設定するには、各ノードに MachineConfig
オブジェクトを作成する必要があります。
Red Hat Enterprise Linux CoreOS ワーカーを使用しない場合は、この手順を省略します。
前提条件
- ホストパスプロビジョナーが作成する PersistentVolume (PV) 用に、各ノードにバッキングディレクトリーを作成します。
手順
MachineConfig ファイルを作成します。以下は例になります。
touch machineconfig.yaml
$ touch machineconfig.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルを編集し、ホストパスプロビジョナーが PV を作成するディレクトリーを組み込みます。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- プロビジョナーが PV を作成するバッキングディレクトリーを指定します。
MachineConfig
オブジェクトを作成します。oc create -f machineconfig.yaml -n <namespace>
$ oc create -f machineconfig.yaml -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.14.1.3. ホストパスプロビジョナーを使用したローカルストレージの有効化 リンクのコピーリンクがクリップボードにコピーされました!
ホストパスプロビジョナーをデプロイし、仮想マシンがローカルストレージを使用できるようにするには、最初に HostPathProvisioner カスタムリソースを作成します。
前提条件
- ホストパスプロビジョナーが作成する PersistentVolume (PV) 用に、各ノードにバッキングディレクトリーを作成します。
SELinux コンテキスト
container_file_t
を各ノードの PV バッキングディレクトリーに適用します。以下は例になります。sudo chcon -t container_file_t -R </path/to/backing/directory>
$ sudo chcon -t container_file_t -R </path/to/backing/directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Enterprise Linux CoreOS 8 ワーカーを使用する場合は、代わりに MachineConfig マニフェストを使用して SELinux を設定する必要があります。
手順
HostPathProvisioner カスタムリソースファイルを作成します。以下は例になります。
touch hostpathprovisioner_cr.yaml
$ touch hostpathprovisioner_cr.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルを編集し、
spec.pathConfig.path
の値がホストパスプロビジョナーが PV を作成するディレクトリーであることを確認します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記バッキングディレクトリーを作成していない場合、プロビジョナーはこの作成を試行します。
container_file_t
SELinux コンテキストを適用していない場合、これによりPermission denied
エラーが生じる可能性があります。openshift-cnv
namespace にカスタムリソースを作成します。oc create -f hostpathprovisioner_cr.yaml -n openshift-cnv
$ oc create -f hostpathprovisioner_cr.yaml -n openshift-cnv
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
6.14.1.4. StorageClass オブジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
StorageClass
オブジェクトの作成時に、ストレージクラスに属する PersistentVolume (PV) の動的プロビジョニングに影響するパラメーターを設定します。
StorageClass
オブジェクトの作成後には、このオブジェクトのパラメーターを更新できません。
手順
ストレージクラスを定義する YAML ファイルを作成します。以下に例を示します。
touch storageclass.yaml
$ touch storageclass.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルを編集します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- この値を変更することで、オプションでストレージクラスの名前を変更できます。
- 2
reclaimPolicy
には、Delete
およびRetain
の 2 つの値があります。値を指定しない場合、ストレージクラスはデフォルトでDelete
に設定されます。- 3
volumeBindingMode
値は、動的プロビジョニングおよびボリュームバインディングが実行されるタイミングを決定します。WaitForFirstConsumer
を指定して、PersistentVolumeClaim (PVC) を使用する Pod が作成されるまで PV のバインディングおよびプロビジョニングを遅延させます。これにより、PV が Pod のスケジュール要件を満たすようになります。
StorageClass
オブジェクトを作成します。oc create -f storageclass.yaml
$ oc create -f storageclass.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
追加情報