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.conf
の cpu_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> ...