Avamar:MCS 在丢失 mcserver.xml 文件后无法启动
Summary: 在回滚过程中丢失mcserver.xml文件后,管理控制台服务器 (MCS) 确实会启动。
Symptoms
回滚后,正在还原管理控制台服务器 (MCS)。
作为流程的标准部分, /usr/local/avamar/var/mc/server_data 目录已删除。
由于 avtar 使用默认 SSL 加密,MCS 还原失败,删除了mcserver.xml文件(导致 MCS 无法启动)。
gsan 日志中的回滚证据:
mapall --noerror 'grep -hi "rolled back" /data01/cur/gsan.log*' | sort | tail -1
2019/05/17-11:41:14.65109 {P0.0} [gsan] <1287> gsan::run gsan rolled back to cp.xxxxxxxxxxxx
来自dpnctl.log的输出:
less dpnctl.log
2019/05/17-11:47:48 --restore will modify your Administrator Server database and preferences.
2019/05/17-11:47:48 Do you want to proceed with the restore Y/N? [Y]: sed: can't read /usr/local/avamar/var/mc/
server_data/prefs/mcserver.xml: No such file or directory
2019/05/17-11:47:48 sed: can't read /usr/local/avamar/var/mc/server_data/prefs/mcserver.xml: No such file or directory
2019/05/17-11:47:48 Decrypting all registered passwords...
2019/05/17-11:47:48 see MCCipher log for details: /usr/local/avamar/var/mc/server_log/mccipher.log.0
2019/05/17-11:47:48 Database server stopped.
2019/05/17-11:47:48 removing data dir /usr/local/avamar/var/mc/server_data
2019/05/17-11:47:48 INFO: /usr/local/avamar/var/mc already exists
2019/05/17-11:47:48 INFO: creating /usr/local/avamar/var/mc/server_data/postgres/data with permissions 0755
.
2019/05/17-11:47:48 Please wait....
2019/05/17-11:47:48 avtar Error <18838>: SSL certificate/key not found or invalid key. '/usr/local/avamar/etc/x.x.x.x/cert.pem' '/usr/local/avamar/etc/x.x.x.x/key.pem'
.
.
2019/05/17-11:47:48 rm -f /tmp/dpnctl-mcs-restore-status-6696 /tmp/dpnctl-mcs-restore-output-6696
2019/05/17-11:47:48 dpnctl: ERROR: MCS restore did not succeed, so not restarting MCS
使用 avtar 手动列出MC_BACKUPS会导致错误:
avtar --backups --path=/MC_BACKUPS |more
avtar Info <5552>: Connecting to Avamar Server (xxxx)
avtar Info <5554>: Connecting to one node in each datacenter
avtar Error <18838>: SSL certificate/key not found or invalid key. '/usr/local/avamar/etc/x.x.x.x/cert.pem' '/usr/local/avamar/etc/x.x.x.x/key.pem'
avtar Info <5557>: No connections available
avtar FATAL <8604>: Fatal server connection problem, aborting initialization. Verify correct server address and login credentials.
avtar FATAL <5308>: Failed to initiate session with server
avtar Info <6149>: Error summary: 8 errors: 5308, 8604, 18838(6)
avtar Info <5314>: Command failed (8 errors, exit code 10008: cannot establish connection with server (possible network or DNS failure))Cause
由于 SSL 证书和密钥不匹配,使用默认 SSL 加密还原 MCS 将失败。
Resolution
解决方法:
1.以“管理员”身份登录到 Avamar 实用程序节点。
2.转至 /home/admin目录:
cd /home/admin
3.创建新的临时目录:
mkdir mc_restore
4.切换到新创建的目录:
cd /home/admin/mc_restore
5.MC_BACKUPS列出添加”--encrypt=proprietary“标志,它使用明文加密。(所以根本没有加密):
avtar --archives --path=/MC_BACKUPS --count=1 --encrypt=proprietary
avtar Info <19849>: Selecting 1 backups
avtar Info <7377>: Backups for /MC_BACKUPS as of 2019-05-23 11:39:43 BST
Date Time Seq Label Size Plugin Working directory Targets
---------- -------- ----- ----------------- ---------- -------- --------------------- -------------------
2019-05-15 08:45:32 10196 526254K Linux /usr/local/avamar var/mc/server_data
avtar Info <5314>: Command completed (exit code 0: success)
6.还原 /usr/local/avamar/var/mc/server_data 目录 using after 按照恢复过程 Avamar 中的步骤 3:由于 mcserver.xml 文件的问题,MCS 刷新失败或 MCS 未启动:
例如:
avtar -x --path=/MC_BACKUPS --labelnum=10196 --target=.
avtar Info <5259>: Restoring backup to directory "."
avtar Info <5262>: Restore completed
avtar Info <7925>: Restored 510.0 MB from selection(s) with 513.9 MB in 35 files, 17 directories
avtar Info <6090>: Restored 510.0 MB in 1.06 minutes: 28.26 GB/hour (1,986 files/hour)
该目录将还原到 /home/admin/mc_restore/var/mc/server_data/。
7.复制 /home/admin/mc_restore/var/mc/server_data/ 到空 /usr/local/avamar/var/mc/server_data 目录下看到一个新的 res 目录。
8.使用恢复的标签号恢复 MCS:
mcserver.sh --restore --labelnum=10196
9.启动 MCS:
mcserver.sh --start
输出示例:
Starting Administrator Server at: Thu May 23 12:09:15 BST 2019
Starting Administrator Server...
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Administrator Server started.
10.启动后,执行 MCS 刷新(也称为备份):
mcserver.sh --flush
=== BEGIN === check.mcs (preflush)
check.mcs passed
=== PASS === check.mcs PASSED OVERALL (preflush)
Flushing Administrator Server...
Administrator Server flushed.
11.根据 Avamar 的解决方案部分重新生成 SSL 证书:Avtar 无法连接到 Avamar 的 GSAN 服务,“致命的服务器连接问题,正在中止初始化”:
12.列出MC_BACKUPS以验证没有 SSL 证书错误:
avtar --archives --path=/MC_BACKUPS --count=10
输出示例:
avtar Info <19849>: Selecting 1 backups
avtar Info <7377>: Backups for /MC_BACKUPS as of 2019-05-23 11:39:43 BST
Date Time Seq Label Size Plugin Working directory Targets
---------- -------- ----- ----------------- ---------- -------- --------------------- -------------------
2019-05-15 08:00:05 419 73K Linux /usr/local/avamar var/em/server_data
2019-05-14 08:00:04 418 73K Linux /usr/local/avamar var/em/server_data
2019-05-13 08:00:04 417 73K Linux /usr/local/avamar var/em/server_data
avtar Info <5314>: Command completed (exit code 0: success)Additional Information
在列出 MC_BACKUPS 时,还有另一种方法可以暂时克服 SSL 错误,方法是使用 --encrypt=tls 旗:
avtar --backups --path=/MC_BACKUPS --encrypt=tls | head -30