26.6. raw ブロックデバイスの設定
ローカルのボリュームプロビジョナーを使用すると、raw ブロックデバイスを静的にプロビジョニングできます。この機能はデフォルトでは無効になっており、追加の設定が必要です。
Raw ブロックデバイスを設定するには以下を行います。
全マスターで、
BlockVolume
機能ゲートを有効化します。全マスターでマスター設定ファイルを編集または作成 (デフォルトは /etc/origin/master/master-config.yaml) して、apiServerArguments
およびcontrollerArguments
セクションに、BlockVolume=true
を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノード設定 ConfigMap を編集して、全ノードで機能ゲートを有効化します。
oc edit configmap node-config-compute --namespace openshift-node oc edit configmap node-config-master --namespace openshift-node oc edit configmap node-config-infra --namespace openshift-node
$ oc edit configmap node-config-compute --namespace openshift-node $ oc edit configmap node-config-master --namespace openshift-node $ oc edit configmap node-config-infra --namespace openshift-node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のように、すべての ConfigMaps に、
kubeletArguments
の機能ゲートアレイにBlockVolume=true
が含まれていることを確認します。node configmap feature-gates setting
kubeletArguments: feature-gates: - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true,BlockVolume=true
kubeletArguments: feature-gates: - RotateKubeletClientCertificate=true,RotateKubeletServerCertificate=true,BlockVolume=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - マスターを再起動します。ノードは、設定の変更後に自動的に再起動されます。これは数分かかる可能性があります。
26.6.1. raw ブロックデバイスの準備 リンクのコピーリンクがクリップボードにコピーされました!
プロビジョナーを起動する前に、Pod が使用できるすべての raw ブロックデバイスを /mnt/local-storage/<storage class> ディレクトリー構造にリンクします。たとえば、/dev/dm-36 のディレクトリーを利用できるようにします。
/mnt/local-storage に、デバイスのストレージクラスのディレクトリーを作成します。
mkdir -p /mnt/local-storage/block-devices
$ mkdir -p /mnt/local-storage/block-devices
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このデバイスを参照するシンボリックリンクを作成します。
ln -s /dev/dm-36 dm-uuid-LVM-1234
$ ln -s /dev/dm-36 dm-uuid-LVM-1234
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記名前の競合が発生するのを回避するには、/dev/disk/by-uuid または /dev/disk/by-id ディレクトリーからのリンクと、シンボリックリンクに同じ名前を使用します。
プロビジョナー設定用の ConfigMap を作成するか、更新します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デバイスと、/mnt/local-storage/ の
SELinux
ラベルを変更します。chcon -R unconfined_u:object_r:svirt_sandbox_file_t:s0 /mnt/local-storage/ chcon unconfined_u:object_r:svirt_sandbox_file_t:s0 /dev/dm-36
$ chcon -R unconfined_u:object_r:svirt_sandbox_file_t:s0 /mnt/local-storage/ $ chcon unconfined_u:object_r:svirt_sandbox_file_t:s0 /dev/dm-36
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Raw ブロックデバイスのストレージクラスを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
プロビジョナーは、このブロックデバイス /dev/dm-36 を使用する準備ができ、PV としてプロビジョニングします。