"/var/lib/rpm에서 패키지 데이터베이스를 열 수 없음"과 함께 업데이트 확인이 실패합니다 팔로우
증상
WebCP-> 설정-> 업데이트를 통해 클러스터 업데이트를 확인하거나 업데이트를 시작하려고 하면 이 오류 메시지가 표시됩니다.
업데이트 확인을 시작하지 못했습니다
. <node_name>에서 Yum 저장소에 액세스할 수 없습니다.
Yum 저장소는 영향을 받는 노드에서 액세스할 수 있지만 로그 /var/log/vstorage-ui-agent/software-updates.log에는 다음 메시지가 포함됩니다.
DEBUG 2020-06-24 09:24:10,824 r-8bb31a50aafa4c26 agent/business/models/runner.py:31:CmdRunner._internal_checked_execute command "['/usr/bin/check-hci-updates']" failed (c: 1, o: , e: error: rpmdb: BDB0113 Thread/process 22088/140233762031424 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 22088/140233762031424 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
Traceback (most recent call last):
...
yum.Errors.YumBaseError: Error: rpmdb open failed
rpm 명령을 수동으로 확인할 때 동일한 오류가 표시됩니다.
[root@node01 ~]# rpm -qa
error: rpmdb: BDB0113 Thread/process 22088/140233762031424 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 22088/140233762031424 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
원인
노드의 RPM 데이터베이스가 손상되었습니다. 불완전한 이전 트랜잭션, 특정 타사 소프트웨어 설치, 특정 패키지 제거와 같이 RPM 데이터베이스 손상을 유발할 수있는 여러 요인이 있습니다.
해결 방법
RPM DB를 재 구축하여 문제를 해결하십시오.
[root@node01~]# mkdir /tmp/bak
[root@node01 ~]# mv /var/lib/rpm/__db* /tmp/bak/
[root@node01 ~]# rpmdb --rebuilddb
[root@node01 ~]# rpm -qa | grep vstorage | head -n1
vstorage-ui-4.2.6-1.as7.x86_64
WebCP 또는 CLI를 통해 새 업데이트 확인을 다시 시도하십시오.
[root@node01 ~]# vinfra software-updates check-for-updates
+---------+--------------------------------------+
| Field | Value |
+---------+--------------------------------------+
| task_id | 69b78b39-f1f0-42d0-86b3-3b146fe8d822 |
+---------+--------------------------------------+
[root@node01 ~]# vinfra task show 69b78b39-f1f0-42d0-86b3-3b146fe8d822
+---------+------------------------------------------------------------------------+
| Field | Value |
+---------+------------------------------------------------------------------------+
| details | |
| name | backend.business.models.software_updates.tasks.CheckSoftwareUpdateTask |
| result | |
| state | success |
| task_id | 69b78b39-f1f0-42d0-86b3-3b146fe8d822 |
+---------+------------------------------------------------------------------------+
참조 - https://kb.acronis.com/content/65210