Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

第8章 vHost ユーザーポート

vHost ユーザーポートは DPDK に基づくインスタンス用のデータパスで、以下の 2 つのモードがあります。

  • dpdkvhostuser
  • dpdkvhostuserclient

dpdkvhostuser モードでは、Open vSwitch (OVS) は vHost ユーザーソケットを作成するサーバーとして機能します。OVS はクライアントである QEMU とソケットを共有します。このモードでは、OVS が再起動した場合、接続された仮想マシンインスタンスが再び接続を確立するには、仮想マシンをリブートする必要があります。

OVS 2.9 の時点では、dpdkvhostuser ではなく dpdkvhostuserclient が使用されます。このモードでは、QEMU がサーバーとして vHost ソケットを作成および共有し、OVS がクライアントとして接続します。このモードで OVS が再起動した場合、すべての既存仮想マシンに自動的に再接続します。

8.1. 手動による vHost ユーザーポートモードの変更

RHOSP 10 メンテナンスリリース RHSA-2018:2102 以降、DPDK vHost ユーザーポートは 必ず dpdkvhostuserclient モードで作成され、この動作を変更するオプションはありません。既存のインスタンスに対する dpdkvhostuser モードの使用は引き続きサポートされますが、dpdkvhostuserclient モードに移行することを推奨します。

オーバークラウドを OVS 2.9 に更新した後に、既存のインスタンスを別のホストにコールドマイグレーションし、インスタンスで新しい dpdkvhostuserclient モードに変更します。

注記

インスタンスに CPU ピニングを設定している場合、nova.confcpu_pinning_migration_quick_fail パラメーターを false に設定します。これにより CPU ピニングの再計算が可能になり、移行に成功する可能性が高くなります。CPU ピニングを設定したインスタンスのライブマイグレーションを試みる場合は、事前に Red Hat サポートにお問い合わせください。

openstack server migrate <server_id>
openstack server resize --confirm <server id>
注記

RHOSP10 メンテナンスリリース RHBA-2019:0074 までは、nova.conf の NovaSchedulerDefaultFilters パラメーターに NUMATopologyFilter の値が含まれていると、コールドマイグレーションに失敗する場合があります。Nova の cpu_pinning_migration_quick_fail オプションが含まれる最新のメンテナンスリリースを使用することで、この動作を防ぐことができます。詳しくは、『Red Hat OpenStack Platform 10 リリースノート』を参照してください。

インスタンスの vHost ユーザーポートが dpdkvhostuserclient モードに設定されていることを確認することができます。インスタンスが存在するハイパーバイザーノードを特定してログインします。

以下のコマンドを実行します。

compute-0# virsh dumpxml <instance name> | less

種別が vhostuser のインターフェースを特定し、モードがサーバーに設定されていることを確認します。

...
<interface type='vhostuser'>
<model type='virtio'/>
<source type='unix' path='<path-to-socket>' mode='<client|server>'/>
</interface>
...