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

  • 相关阅读:
    PAT 乙级真题 1013.组个最小数
    PAT 乙级真题 1012.D进制的A+B
    PAT 乙级真题 1011.个位数统计
    PAT 乙级真题 1010.月饼
    PAT 乙级真题 1009.1019.数字黑洞
    PAT 乙级真题 1008.锤子剪刀布
    PAT 乙级真题 1007.A除以B
    PAT 乙级真题 1006.1016.部分A+B
    C++自定义sort函数
    VS2017如何使用scanf函数
  • 原文地址:https://www.cnblogs.com/nakky/p/7417932.html
Copyright © 2020-2023  润新知