rpmdb损坏导致nova-compute服务无法启动

1.排查到环境中的一台计算节点nova-compute服务无法启动

执行sudo systemctl restart openstack-nova-compute无法重启

nova-compute日志报错:

 sudo[92117]:     nova : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/bin/nova-rootwrap /etc/nova/rootwrap.conf rpm -
$ sudo vim /var/log/nova/nova-compute.log
2023-08-02 17:48:05.134 6109 CRITICAL nova [None req-5ad8740a-15b4-47a6-a110-79619b5aa61a - - - - -] Unhandled error: ProcessExecutionError: Unexpected error while running command.
Command: sudo nova-rootwrap /etc/nova/rootwrap.conf rpm -q qemu-kvm-rhev
Exit code: 1
Stdout: u'package qemu-kvm-rhev is not installed\n'
Stderr: u'error: rpmdb: BDB0113 Thread/process 3129/140012049340480 failed: BDB1507 Thread died in Berkeley DB library\nerror: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery\nerror: cannot open Packages index using db5 -  (-30973)\nerror: cannot open Packages database in /var/lib/rpm\nerror: rpmdb: BDB0113 Thread/process 3129/140012049340480 failed: BDB1507 Thread died in Berkeley DB library\nerror: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery\nerror: cannot open Packages database in /var/lib/rpm\n'

####日志中有一些生产环境信息已经删除,日志报错原因如上关键字 rpmdb,/var/lib/rpm\nerror: rpmdb

2.手动在计算节点上执行sudo nova-rootwrap /etc/nova/rootwrap.conf rpm -q qemu-kvm-rhev

返回:

error: rpmdb: BDB0113 Thread/process 3129/140012049340480 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
error: rpmdb: BDB0113 Thread/process 3129/140012049340480 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages database in /var/lib/rpm
判断为/var/lib/rpm的db损坏,进行人为修复

修复流程如下:

解决方法,重新构建rpm信息数据库:

[root@qq_5201351 ~]# cp -a /var/lib/rpm /var/lib/rpm.bak.202201
[root@qq_5201351 ~]# cd /var/lib/rpm
[root@qq_5201351 ~]# rm -f __db.*
[root@qq_5201351 ~]# rpm --rebuilddb
然后再次执行rpm -qa 命令进行查询,就正常查询出系统中安装的rpm包软件了,问题解决~

重新重启nova-compute服务正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值