欢迎访问机房运维工作室

爱数知识库

AnyBackup-7.0.8 升级至 7.0.9 失败,错误信息:Run[MainSetup.CHECK] Node[x.x.x.x] Action[PreC

频道:爱数知识库 日期: 浏览:57

AnyBackup-7.0.8 升级至 7.0.9 失败,错误信息:Run[MainSetup.CHECK] Node[x.x.x.x] Action[PreCheckSetup.LOCAL_DB],

关键字

升级、No JSON object could be decoded

适用产品

  • AnyBackup CDM 7.0.8
  • AnyBackup Express 7.0.8

问题描述

AnyBackup 7.0.8 升级至 7.0.9 失败,显示以下错误信息:

Run[MainSetup.CHECK] Node[x.x.x.x] Action[PreCheckSetup.LOCAL_DB], ['Error: No JSON object could be decoded']

同时,在升级日志中有类似如下错误日志信息:
ERROR 2020-09-03 23:32:44,804 Run subcmd [23310 139754752718656] [subcmd.py 82 main] CMD[['precheck', '--subcmd', 'localdb', '--taskid', '67578c8c-17ad-486c-8426-af3408a15cf3']] failed
Traceback (most recent call last):
File "/var/JFR_apollo_branch/workspace/apollo_dev/apollo/src/py/deployTool/BackupSvcUpdate/dist/BackupSvcUpdate/cmd/subcmd.py", line 80, in main
File "/var/JFR_apollo_branch/workspace/apollo_dev/apollo/src/py/deployTool/BackupSvcUpdate/dist/BackupSvcUpdate/upgrade/common/icmd.py", line 21, in run
File "/var/JFR_apollo_branch/workspace/apollo_dev/apollo/src/py/deployTool/BackupSvcUpdate/dist/BackupSvcUpdate/upgrade/precheck/local/precheckcmd.py", line 16, in localdb
File "/var/JFR_apollo_branch/workspace/apollo_dev/apollo/src/py/deployTool/BackupSvcUpdate/dist/BackupSvcUpdate/upgrade/precheck/local/nodecheck.py", line 76, in run
File "/var/JFR_apollo_branch/workspace/apollo_dev/apollo/src/py/deployTool/BackupSvcUpdate/dist/BackupSvcUpdate/upgrade/precheck/local/nodecheck.py", line 56, in _get_databases
File "/var/JFR_apollo_branch/workspace/apollo_dev/apollo/src/py/deployTool/BackupSvcUpdate/dist/BackupSvcUpdate/upgrade/precheck/local/nodecheck.py", line 45, in _create_pymsql_connon
File "/var/JFR_apollo_branch/workspace/apollo_dev/apollo/src/py/deployTool/BackupSvcUpdate/dist/BackupSvcUpdate/upgrade/common/crypt/cryptfactory.py", line 153, in get_db_passwd
File "/AnyBackupUploadSvr/67578c8c-17ad-486c-8426-af3408a15cf3/AnyBackupUpdate/virtualenv/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/AnyBackupUploadSvr/67578c8c-17ad-486c-8426-af3408a15cf3/AnyBackupUpdate/virtualenv/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/AnyBackupUploadSvr/67578c8c-17ad-486c-8426-af3408a15cf3/AnyBackupUpdate/virtualenv/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

问题影响

AnyBackup 7.0.8 升级至 7.0.9 失败。

问题原因

AnyBackup 备份服务器未开启管理通道 SSL,而安装记录文件 install.cfg 中缺少条目 --ssl=no,导致升级工具获取安装参数 ssl 错误。一般出现该问题的软件环境是从 7.0.5 版本依次升级至 7.0.8 版本,因为 7.0.5 版本没有 ssl 参数,默认不开启 SSL。

解决方案

为了解决此问题,在安装记录文件 install.cfg 中加入 ssl 条目,具体步骤如下:
1. 备份原安装记录文件 instacll.cfg ,以软件默认安装路径 /backupsoft/AnyBackupServer 为例:

cd /backupsoft/AnyBackupServer
cp install.cfg install.cfg.bak

2. 编辑 install.cfg,在末尾加上内容:--ssl=no。
3. 执行升级命令。

更多信息

安装记录文件 install.cfg 的内容是当前备份服务器软件的实际安装命令的参数,例如:
--product=CDM --server-type=MASTER --self-ip=10.2.249.130 --cluster-id=131 --cluster-vip=10.2.249.131 --install-db=yes --db-id=132 --db-vip=10.2.249.132 --ntp-server=10.2.249.130 --ssl=no