第12章 NFV ワークロードに向けた RT-KVM の有効化
Red Hat Enterprise Linux Real Time KVM (RT-KVM) を容易にインストールおよび設定するために、Red Hat OpenStack Platform では以下の機能を使用することができます。
- Red Hat Enterprise Linux for Real Time をプロビジョニングする、real-time Compute ノードロール
- 追加の RT-KVM カーネルモジュール
- Compute ノードの自動設定
12.1. RT-KVM Compute ノードのプランニング リンクのコピーリンクがクリップボードにコピーされました!
RT-KVM Compute ノードを計画する際には、以下のタスクが完了していることを確認してください。
RT-KVM Compute ノードには、Red Hat 認定済みサーバーを使用する必要があります。
詳細は、Red Hat Enterprise Linux for Real Time 用認定サーバー を参照してください。
アンダークラウドを登録し、有効な Red Hat OpenStack Platform サブスクリプションをアタッチします。
詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 の アンダークラウドの登録およびサブスクリプションのアタッチ を参照してください。
RT-KVM 用の
rhel-9-server-nfv-rpmsリポジトリーなど、アンダークラウドに必要なリポジトリーを有効にし、システムパッケージを最新バージョンに更新します。注記このリポジトリーにアクセスするには、別途
Red Hat OpenStack Platform for Real TimeSKU のサブスクリプションが必要です。詳細は、director を使用した Red Hat OpenStack Platform のインストールと管理 の アンダークラウド用リポジトリーの有効化 を参照してください。
real-time のイメージのビルド
アンダークラウドに libguestfs-tools パッケージをインストールして、virt-customize ツールを取得します。
sudo dnf install libguestfs-tools
(undercloud) [stack@undercloud-0 ~]$ sudo dnf install libguestfs-toolsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要アンダークラウドに
libguestfs-toolsパッケージをインストールする場合は、アンダークラウドのtripleo_iscsidサービスとのポートの競合を避けるためにiscsid.socketを無効にします。sudo systemctl disable --now iscsid.socket
$ sudo systemctl disable --now iscsid.socketCopy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを抽出します。
tar -xf /usr/share/rhosp-director-images/overcloud-hardened-uefi-full-17.1.x86_64.tar tar -xf /usr/share/rhosp-director-images/ironic-python-agent-17.1.x86_64.tar
(undercloud) [stack@undercloud-0 ~]$ tar -xf /usr/share/rhosp-director-images/overcloud-hardened-uefi-full-17.1.x86_64.tar (undercloud) [stack@undercloud-0 ~]$ tar -xf /usr/share/rhosp-director-images/ironic-python-agent-17.1.x86_64.tarCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトのイメージをコピーします。
cp overcloud-hardened-uefi-full.qcow2 overcloud-realtime-compute.qcow2
(undercloud) [stack@undercloud-0 ~]$ cp overcloud-hardened-uefi-full.qcow2 overcloud-realtime-compute.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージを登録して、カスタマイズに適切な Red Hat のリポジトリーを有効にします。以下の例の
[username]および[password]を有効な認証情報に置き換えてください。virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager register --username=[username] --password=[password]' \ subscription-manager release --set 9.0
virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager register --username=[username] --password=[password]' \ subscription-manager release --set 9.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コマンドプロンプトで認証情報を使用したら、履歴ファイルから認証情報を削除してセキュリティーを確保することができます。
history -dコマンドの後に行番号を指定して、履歴内の個々の行を削除することができます。アカウントのサブスクリプションからプール ID のリストを検索し、適切なプール ID をイメージにアタッチします。
sudo subscription-manager list --all --available | less ... virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager attach --pool [pool-ID]'
sudo subscription-manager list --all --available | less ... virt-customize -a overcloud-realtime-compute.qcow2 --run-command \ 'subscription-manager attach --pool [pool-ID]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat OpenStack Platform で NFV を使用するのに必要なリポジトリーを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow イメージ上でリアルタイム機能を設定するためのスクリプトを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リアルタイムイメージを設定するスクリプトを実行します。
virt-customize -a overcloud-realtime-compute.qcow2 -v --run rt.sh 2>&1 | tee virt-customize.log
(undercloud) [stack@undercloud-0 ~]$ virt-customize -a overcloud-realtime-compute.qcow2 -v --run rt.sh 2>&1 | tee virt-customize.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記rt.shスクリプトの出力に"grubby fatal error: unable to find a suitable template"という行が表示されても、このエラーは無視してかまいません。前のステップで作成された
virt-customize.logファイルを調べ、rt.shスクリプトによりパッケージが正しくインストールされたことを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow SELinux の再ラベル付けをします。
virt-customize -a overcloud-realtime-compute.qcow2 --selinux-relabel
(undercloud) [stack@undercloud-0 ~]$ virt-customize -a overcloud-realtime-compute.qcow2 --selinux-relabelCopy to Clipboard Copied! Toggle word wrap Toggle overflow vmlinuz および initrd を抽出します。
mkdir image guestmount -a overcloud-realtime-compute.qcow2 -i --ro image cp image/boot/vmlinuz-3.10.0-862.rt56.804.el7.x86_64 ./overcloud-realtime-compute.vmlinuz cp image/boot/initramfs-3.10.0-862.rt56.804.el7.x86_64.img ./overcloud-realtime-compute.initrd guestunmount image
(undercloud) [stack@undercloud-0 ~]$ mkdir image (undercloud) [stack@undercloud-0 ~]$ guestmount -a overcloud-realtime-compute.qcow2 -i --ro image (undercloud) [stack@undercloud-0 ~]$ cp image/boot/vmlinuz-3.10.0-862.rt56.804.el7.x86_64 ./overcloud-realtime-compute.vmlinuz (undercloud) [stack@undercloud-0 ~]$ cp image/boot/initramfs-3.10.0-862.rt56.804.el7.x86_64.img ./overcloud-realtime-compute.initrd (undercloud) [stack@undercloud-0 ~]$ guestunmount imageCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記vmlinuzおよびinitramfsのファイル名に含まれるソフトウェアバージョンは、カーネルバージョンによって異なります。イメージをアップロードします。
openstack overcloud image upload --update-existing --os-image-name overcloud-realtime-compute.qcow2
(undercloud) [stack@undercloud-0 ~]$ openstack overcloud image upload --update-existing --os-image-name overcloud-realtime-compute.qcow2Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、選択した Compute ノード上の ComputeOvsDpdkRT コンポーザブルロールで使用することのできる real-time イメージの準備ができました。
RT-KVM Compute ノード上での BIOS 設定の変更
RT-KVM Compute ノードのレイテンシーを低減するには、Compute ノードの BIOS 設定で、以下のパラメーターのオプションをすべて無効にします。
- 電源管理
- ハイパースレッディング
- CPU のスリープ状態
- 論理プロセッサー