OpenStack Newton版nova數據庫同步不完全故障處理


Newton平台搭建好后創建虛擬機報錯:

<class 'oslo_db.exception.DBError'>(HTTP 500)(Request-ID:req-fa547356-649a-4f23-8edf-c8c09f2cfb59)

排錯思路:

檢查/var/log/nova/nova-api.log /var/log/nova/nova-scheduler.log等目錄發現插入數據庫表項報錯如下:

(補圖,點擊打開可看大圖)

 

問題原因:同步數據庫Nova表時缺少device_metadata和keypairs

 

解決辦法:drop掉Nova數據庫后重新同步數據庫

mysql -uroot -pdevops -e "DROP DATABASE IF EXISTS nova;"
mysql -uroot -pdevops -e "DROP DATABASE IF EXISTS nova_api;"

mysql -uroot -pdevops -e "CREATE DATABASE nova;"
mysql -uroot -pdevops -e "CREATE DATABASE nova_api;"
mysql -uroot -pdevops -e "FLUSH PRIVILEGES;"


mysql -uroot -pdevops -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'devops';"
mysql -uroot -pdevops -e "GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'devops';"
mysql -uroot -pdevops -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'localhost' IDENTIFIED BY 'devops';"
mysql -uroot -pdevops -e "GRANT ALL PRIVILEGES ON nova_api.* TO 'nova'@'%' IDENTIFIED BY 'devops';"
mysql -uroot -pdevops -e "FLUSH PRIVILIGES;"

su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage db sync" nova

 

PS:drop數據庫在某些時候會解決比較棘手的問題,但是使用需注意尤其是生產環境會導致服務中斷甚至有被跑路風險。

1.drop keystone數據庫會導致所有的endpoint信息和service信息丟失,所有服務器均無法注冊認證使用。(已驗證)

2.drop nova數據庫會導致所有虛擬機服務信息丟失。(驗證部分)

//計算節點信息丟失openstack compute service-list無顯示,systemctl restart openstack-nova-compute.service neutron-linuxbridge-agent.service

3.drop neutron數據庫暫時未試過,應該是會導致所有網絡掛掉。(待驗證)

4.drop keystone數據庫后/var/lib/glance/images的文件都直接rm -rf *干掉完全無法用了。(已驗證)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM