升级流程跑到100%,点击“重启”按钮,机子不会重启,工具页面报“自适应脚本执行失败,请定位失败原因。”
SSH连上待升级主机,重启了ssh服务。正常启动。在页面点击重试也不行。
服务端完整环境和日志文件:https://f.ws59.cn/f/edaftdmd1gq
升级流程跑到100%,点击“重启”按钮,机子不会重启,工具页面报“自适应脚本执行失败,请定位失败原因。”
SSH连上待升级主机,重启了ssh服务。正常启动。在页面点击重试也不行。
服务端完整环境和日志文件:https://f.ws59.cn/f/edaftdmd1gq
scp -r -P 22 /opt/x2openEuler/output/env-check/node-192.168.2.39/pre-env-check-node-b5007d79-b99e-4089-8f98-dfe05c5411cd.json root@[192.168.2.39]:/opt/x2openEuler-upgrade/output/upgrade-check,这条命令执行失败了
从 x2openEuler 服务节点使用 scp 命令向待升级节点传送一个文件,看看是不是报这个错:
scp: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
对对对,就是报这个错误,这是啥原因,咋解决?
服务端:
rpm -qa | grep openss*
find / -name "*libcrypto.so*"
这个是在待升级主机上截取的
服务端好像装的系统版本太高了,都执行一下这个看看 ldd $(which scp)
是的,待升级节点的 scp 有问题,调用了旧版本 openssl 的 libcrypto 库,升级过程中已经把旧版本 openssl 删除了,所以命令不能使用
看一下待升级节点的 scp 命令在哪里(which scp
),看看是不是编译安装的:
如果是这样,就把 /usr/local/bin/scp 命令改名或者备份走,然后执行 which scp
命令查看 scp 的位置,确保该命令是由 openssh-clients 包提供的(rpm -qf $(which scp)
)
最后在前端页面点击重试即可
感谢大佬指点,果然是这个问题,然后我根据这个在深度查看,发现/usr/local/bin/还有其他几个文件,在根据这几个文件查找发现是有自编译的openssh-clients的包存在,同时发现原机升级系统前执行yum update进行系统更新时,openssh-clients作为依赖项又被安装了一次。所以在升级系统过程中yum安装的openssh-clients有被正常卸载,但自编译的没有被卸载,导致库引用有问题,因此SCP无法使能传输文件导致报错。
建议各位小伙伴在升级系统之前了解好原机是否有自编译软件,比如openssh-clients,python。都会影响升级,一定要在升级之前备份卸载掉。