第9章 Red Hat OpenStack Platform 環境の調整
9.1. エミュレータースレッドの固定 リンクのコピーリンクがクリップボードにコピーされました!
エミュレータースレッドは、仮想マシンのハードウェアエミュレーションの割り込み要求およびノンブロッキングプロセスを処理します。これらのスレッドは、ゲストが処理に使用する vCPU 全体で共有されます。Poll Mode Driver(PMD)またはリアルタイム処理に使用されるスレッドがこれらの仮想 CPU で実行される場合、パケットロスまたはデッドラインの超過が生じる可能性があります。
スレッドを独自の vCPU に固定して、エミュレータースレッドを仮想マシン処理タスクから分離することができます。その結果、パフォーマンスが向上します。
9.1.1. エミュレータースレッドをホストする CPU の設定 リンクのコピーリンクがクリップボードにコピーされました!
パフォーマンスを向上させるために、エミュレータースレッドをホストするために pCPU のサブセットを確保します。Red Hat は、OvsDpdkCoreList パラメーターで識別される pCPUs を使用することを推奨します。
手順
特定のロールに
NovaComputeCpuSharedSetを定義してオーバークラウドをデプロイします。NovaComputeCpuSharedSetの値は、そのロール内のホストの nova.conf ファイルのcpu_shared_setパラメーターに適用されます。parameter_defaults: ComputeOvsDpdkParameters: OvsDpdkCoreList: “0-1,16-17” NovaComputeCpuSharedSet: “0-1,16-17”エミュレータースレッドが共有プールに分離されたインスタンスをビルドするためのフレーバーを作成します。
openstack flavor create --ram <size_mb> --disk <size_gb> --vcpus <vcpus> <flavor>hw:emulator_threads_policy追加仕様を追加し、値をshareに設定します。このフレーバーで作成されたインスタンスは、nova.conf ファイルのcpu_share_setパラメーターで定義された仮想 CPU を使用します。openstack flavor set <flavor> --property hw:emulator_threads_policy=share
nova.conf ファイルの cpu_share_set パラメーターを手動で設定するか、heat を使用してこの追加仕様の共有ポリシーを有効にする必要があります。
9.1.2. エミュレータースレッドが固定されていることの確認 リンクのコピーリンクがクリップボードにコピーされました!
手順
指定したインスタンスのホストとインスタンス名を特定します。
openstack server show <instance_id>SSH を使用して、特定したホストに heat-admin としてログインします。
ssh heat-admin@compute-1 [compute-1]$ sudo virsh dumpxml instance-00001 | grep `'emulatorpin cpuset'`