OpenStackコンピューティングエラー: コンピューティングホストにはnova-computeがありましたが サービスをリッスンしている場合、「 nova hypervisor-list 」の場合、これらのノードは表示されませんでした ‘コマンドが実行されました。
# nova hypervisor-list +----+----------------------------+-------+---------+ | ID | Hypervisor hostname | State | Status | +----+----------------------------+-------+---------+
ただし、コマンド nova service-list コンピューティングホストの表示に問題はありませんでした。問題は少し奇妙に聞こえるかもしれませんが、OpenStackで同様の問題が発生する場合は、ここに解決策があります。
解決策:
OpenStackコンピューティングエラーを修正する方法–ホストのコンピューティングノードレコードがありませんか?
ステップ1 :コンピューティングホストがリストされていないため、この問題は nova-computeに関連しています。 サービス。そこで、nova@コンピューティングノードのログから問題のデバッグを開始しました。
[compute-node]# cd /var/log/nova
[compute-node]# tailf nova-compute.log
出力例:
ERROR nova.compute.manager [req-1d2c4e83-a57d-4e66-b8b4-81da4772b0d2 - - - - -] No compute node record for host cloudsecurity5 INFO nova.compute.resource_tracker [req-1d2c4e83-a57d-4e66-b8b4-81da4772b0d2 - - - - -] Auditing locally available compute resources for node cloudsecurity5 ERROR nova.compute.manager [req-1d2c4e83-a57d-4e66-b8b4-81da4772b0d2 - - - - -] Error updating resources for node cloudsecurity5
上記のエラーは、OpenStackスケジューラーが適切なコンピューティングホストを見つけることができないことを示しています。おそらく、ハイパーバイザーまたは nova-computeが無効であることが原因です。 サービスが稼働していないか、その他の構成の問題です。
ステップ2: NovaComputeの構成を確認する
[compute-node]# vim /etc/nova-compute.conf
[DEFAULT]の下にある以下のエントリを探してください セクション。
[DEFAULT] compute_driver=libvirt.LibvirtDriver [libvirt] virt_type=kvm
また、 /etc/nova/nova.confを確認してください コンピューティングホストを実行するために必要なすべての構成があります。
nova-computeの中心部分 サービスは、ハイパーバイザーとインターフェイスする仮想化ドライバーです。 OpenStackは、 libvirt.LibvirtDriverなどの多くのコンピューティングドライバーをサポートしています。 KVMの場合、 xenapi.XenAPIDriver Xenの場合、 vmwareapi.VMwareVCDriver VMwareおよびhyperv.HyperVDriveの場合 HyperVの場合。私の場合、 libvirtを使用していました コンピューティングドライバー( compute_driverを探してください 上記のスナップショットの属性)。
ステップ3 : libvirtを確認してください デーモンが実行されています。
[compute-node]# /etc/init.d/libvirt-bin status
幸い、サービス libvirt-bin はアクティブでしたが、以下に示すように、ステータス出力の最後にいくつかのエラーが表示されました。
cloudsecurity5 libvirtd[58988]: hostname: cloudsecurity5.test.in cloudsecurity5 libvirtd[58988]: End of file while reading data: Input/output error
libvirt-bin デーモンが実行されていましたが、入出力操作の実行中に問題が発生したことを示しています。
そのため、 libvirt-binを再起動することにしました。 およびそれに関連するデーモンlibvirt-guests 。
[compute-node]# /etc/init.d/libvirt-guests restart
[compute-node]# /etc/init.d/libvirt-bin restart
完了したら、デーモンがエラーなしで実行されているかどうかを確認します。
[compute-node]# /etc/init.d/libvirt-bin status
サービスステータスメッセージの最後の出力例:
cloudsecurity2 systemd[1]: Starting Virtualization daemon... cloudsecurity2 systemd[1]: Started Virtualization daemon. cloudsecurity2 dnsmasq[2960]: read /etc/hosts - 9 addresses cloudsecurity2 dnsmasq[2960]: read /var/lib/libvirt/dnsmasq/def cloudsecurity2 dnsmasq-dhcp[2960]: read /var/lib/libvirt/dnsmas
ステップ4: nova-computeを再起動します サービスも。
[compute-node]# /etc/init.d/nova-compute restart
私の場合、libvirtデーモンの入出力エラーが原因でした。この問題は解決され、以下に示すように計算ノードが正しく登録されました。
# nova hypervisor-list +----+----------------------------+-------+---------+ | ID | Hypervisor hostname | State | Status | +----+----------------------------+-------+---------+ | 1 | cloudsecurity5.test.in | up | enabled | +----+----------------------------+-------+---------+