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 *干掉完全无法用了。(已验证)

转载于:https://www.cnblogs.com/nakky/p/7417932.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值