AnyShare-在 AnyShare 6.0 环境上,执行恢复脚本 restore.py 时,提示错误信息:STDERR:FirewallD is not running
关键字
Firewalld、restore.py
适用产品
- AnyShare Enterprise 6.0.5 - 6.0.6
- AnyShare Express 6.0.5 - 6.0.6
问题描述
在 AnyShare 5.0 到 AnyShare 6.0 的大版本升级过程中,在 AnyShare 6.0 环境执行恢复脚本 restore.py 时,提示错误信息:
Traceback (most recent call last):
File "restore.py", line 1205, in
main()
File "restore.py", line 1197, in main
tool.restore()
File "restore.py", line 106, in restore
cmd='firewall-cmd --add-port=%d/tcp' % port
File "/tmp/upgrade/util.py", line 92, in ssh
return cmdprocess.shell_cmd(cmdstr=cmd)
File "/usr/lib/python2.7/site-packages/EPylib-stable-py2.7.egg/eisoo/tracer.py", line 41, in _trace_func_wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/EPylib-stable-py2.7.egg/eisoo/cmdprocess.py", line 38, in shell_cmd
raise Exception(error)
Exception: Run cmd failed.(CMD:/sysvol/apphome/tools/sshpass -p 'eisoo.com123' ssh -o StrictHostKeyChecking=no -p 22 root@192.168.0.225 'firewall-cmd --add-port=9202/tcp')(RET:252)(STDERR:FirewallD is not running
)(STDOUT:).

问题影响
执行恢复脚本失败,大版本升级无法完成。
问题原因
恢复脚本运行时,需要在 Firewalld 上添加 9202 和 9201 端口, AnyShare 6.0 环境的 Firewalld 服务未启动,则会出现上述问题。
解决方案
为解决上述问题需要开启 Firewalld 服务,重新执行恢复脚本,请按照以下步骤执行:
1. 通过 SSH 工具登录 AnyShare 6.0 环境中主节点的操作系统。
2. 执行以下命令启动 Firewalld 服务,并确认服务状态,显示状态为 active (running) 则表示服务启动成功。
systemctl start firewalld.service
systemctl status firewalld.service 
3. 重新执行 restore.py 恢复脚本。
更多信息
AnyShare 6.0 的内置防火墙是通过 Firewalld 服务来实现的,在配置内网防火墙时,需要确保 Firewalld 服务启动。