Nova相關的服務狀態為down的幾種情況
當Openstack不正常工作時,首先檢視下服務狀態,比如執行nova service-list命令檢視Nova相關的服務狀態。
如果服務狀態為down,根據Openstack服務的心跳機制和狀態監控原理,可能有以下幾種故障情形:
1. 資料庫訪問錯誤導致心跳更新失敗,這種情況看日誌就能發現錯誤日誌。
mysql -p -u root
2. Rabbitmq連線失敗,nova-compute不能直接訪問資料庫,更新時是通過RPC呼叫nova-conductor完成的,如果rabbitmq連線失敗,RPC將無法執行,導致心跳傳送失敗。3. nova-conductor故障,原因同上,不過這種情況概率很低,除非人為關閉了該服務。
4. 時間不同步。這種情況排查非常困難,因為你在日誌中是發現不了任何錯誤資訊的,我們知道資料庫操作由nova-conductor元件完成的,而計算心跳間隔是在nova-api服務完成的,假如這兩個服務所在的主機時間不同步,將可能導致服務誤判為down。對於多API節點部署時尤其容易出現這種情況,所有節點務必保證時間同步,NTP服務必須能夠正常工作,否則將影響Openstack服務的心跳機制和狀態監控。