一、 组网:
组网为iMC双机冷备的经典组网。不考虑数据库分离的情况下(当然数据库是可以分离安装的此时可以参看KMS - 24984)主要分为四大类,一是主机和备机都是集中式部署;第二类,主机和备机都是分布式部署;第三类,主机分布式部署,备机集中式部署;第四类,主机集中式部署,备机分布式部署。在后两类方案中,分布式部署,支持将从机安装在虚拟机上。总之DBMan双机冷备的应用,对主机和备机的部署方式是没有严格要求的,支持灵活多变的方式来满足客户的需求。
DBMan双机冷备对主机和备机的平台以及组件的版本和对应的数量有要求。具体要求是:
第一条, 主机和备机的平台以及共有的组件必须严格要求版本完全一致。
第二条, 备机可以安装除和主机严格一致的组件之外,还可以安装额外的业务需求组件。
实例:双机环境,主机和备机平台版本iMC 7.1 E0303P06,主机和被均安装APM 7.1 E0301和RAM 7.1 E0301P04版本;此时备机还可以安装其他组件,比如安装WSM 7.1 E0303;
一、 问题描述:
在iMC 7.0 E0102版本和iMC 7.0 E0202版本中;双机环境下DBMan可以正常进行自动备份,手动备份,但是在备机上进行手动恢复或自动恢复均失败。
查看主机DBMan的debug日志位于iMC安装目录下的”\dbman\log”的bdman_debug.log文件;有如下ERROR信息是属于正常的调试信息,只是后台处理过程中标记为ERROR,在iMC7.1 E0303L11(已和研发确认)的版本中以INFO调试信息显示。
2015-04-23 12:51:12 [ERROR] [Client::send_filetrans_msg] receive server data ok
2015-04-23 12:51:12 [ERROR] [TimeBackup] auot backup all db success .
另外在备份的时候会报如下调试信息:
2015-04-23 13:48:00 [ERROR] [int Remove()] Fail to remove file C:/Program Files/iMC/dbman\etc\dbman_bak.conf.同样该调试信息在iMC 7.1 E0303L11的版本上是以INFO的格式给出。注意该信息并不是错误信息,是供内部查看的调试信息,该条日志的含义就是在数据库备份过程中DBMan会先删除原有的dbman_bak.conf文件,随后再自动生成dbman_bak.conf文件实现对dbman.conf备份文件的刷新。
总之,在该情况下,主机的DBMan的debug日志没有很大参考意义。
查看备机DBMan的debug日志。
2015-04-23 12:51:12 [ERROR] [CDbRestore::RestoreOneLocalZipFile] Fail to restore. zip File:E:\IMC\imc-backup\custompage_20141230_043001.zip size compare error localSize=-1,justfySize=52496.
2015-04-23 12:51:12 [ERROR] [Remove] Fail to remove: file E:\IMC\imc- backup\custompage_20141230_043001.zip
2015-04-23 12:51:12 [ERROR] [CDbRestore::RestoreDatabaseList] Fail to restore strBeforeSQLScript:
由日志看出相应的脚本执行失败, strBeforeSQLScript存放位置dbman目录下的script目录中。
具体的脚本以客户安装的具体组件而定。最近处理的某农商银行局点安装TAM组件,该目录下会对应有iMC-TAM_exec_before.bat和iMC-TAM_exec_after.bat脚本。
此时查看iMC安装目录下dbman目录中的配置目录etc下dbman_addons.conf配置文件。文件的具体内容如下。
BeforeSQLScript_ead_ead=..\script\iMC-EAD_exec_before.bat
AfterSQLScript_ead_ead=..\etc\custompage_unzip.bat
AfterBackupSQLScript_ead_ead=..\etc\custompage_zip.bat
FTPFile_ead_ead=custompage
BeforeSQLScript_tam_tam=..\script\iMC-TAM_exec_before.bat
AfterSQLScript_tam_tam=..\script\iMC-TAM_exec_after.bat
三、 过程分析:
由于版本原因,在自动恢复过程中会将不必要的数据操作脚本写入到dbman_addons.conf的配置文件中,该问题低概率出现。在iMC V7.1版本中已解决该问题。在上述配置文件中第2、3、4行是冗余的配置,并且EAD相关的数据处理脚本少了iMC-EAD_exec_after.bat。该配置文件中的配置是成对出现。
四、 解决方法:
该问题的处理方法主要分为如下两种。
一、升级处理,该问题属于版本问题,在iMC V7.1的版本中解决该问题而且以以目前的的使用经验来看,iMC V7.1版本的DBMan比较稳定。客户同意升级处理的局点可以升级处理即可。
二、对于客户不同意升级处理的局点,可以通过手动修改DBMan的配置文件dbman_addons.conf来解决该问题,此时要确认已安装的组件,根据安装的组件和dbman_debug.log日志文件来相应修改dbman_addons.conf配置项。
具体以某农商银行局点问题为例来说明修改方法。
该局点安装的组件如下图。
日志见上述分析。dbman_addons.conf文件内容如下:
BeforeSQLScript_ead_ead=..\script\iMC-EAD_exec_before.bat
AfterSQLScript_ead_ead=..\etc\custompage_unzip.bat
AfterBackupSQLScript_ead_ead=..\etc\custompage_zip.bat
FTPFile_ead_ead=custompage
BeforeSQLScript_tam_tam=..\script\iMC-TAM_exec_before.bat
AfterSQLScript_tam_tam=..\script\iMC-TAM_exec_after.bat
将上述文件修改为如下,后重启dbman进程,即可解决问题。
BeforeSQLScript_ead_ead=..\script\iMC-EAD_exec_before.bat
AfterSQLScript_ead_ead=..\script\iMC-EAD_exec_after.bat
BeforeSQLScript_tam_tam=..\script\iMC-TAM_exec_before.bat
AfterSQLScript_tam_tam=..\script\iMC-TAM_exec_after.bat
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作