x2openEuler原地升级--案例一:Centos 8 stream迁移到openEuler22.03-LTS系统信息收集评估测试

本例通过x2openEuler,完成一次Centos 8 stream迁移到openEuler22.03-LTS的原地在线测试评估任务。

一、新建系统信息收集评估测试任务

1、登录到x2openEuler,点击新建任务--系统信息收集评估测试,弹出如下窗口:

2、简单说明如下:

参数

说明

SSH传输须知

节点管理使用服务器默认的SSH传输通道,为了保护数据的安全完整,建议使用安全的ssh服务,如使用安全的ssh版本,配置使用安全的加密算法等。

待升级节点IP

源节点IP地址。

说明:

源节点与部署openEuler web工具的环境需要保持可联通状态。

节点别名

源节点别名,该别名用于标记该节点用途。

端口

登录源节点的SSH协议端口。

用户名

登录源节点的用户名。

认证方式

密钥认证:通过私钥文件和私钥文件的密码短语进行认证。

  • 私钥文件:登录源节点私钥文件的绝对路径。

  • 密码短语:登录源节点私钥文件的密码短语。

说明:

  • 若登录用户为普通用户,需要输入root用户口令切换到root用户进行具体操作。

  • 由于root用户拥有最高权限,直接使用root用户登录服务器可能会存在安全风险。您可以通过配置禁止root用户SSH登录的选项,来提升系统安全性。具体配置如下:先以普通用户登录服务器,切换至root登录后检查/etc/ssh/sshd_config配置项PermitRootlogin,如果显示no,说明禁止了root用户登录;如果显示yes,则需要将配置项PermitRootlogin设置为no。

  • 配置的节点信息中涉及用户密码输入,请注意定期维护账户信息,确保环境安全。

口令认证:通过口令进行认证。

口令:登录源节点的密码口令。

说明:

  • 若登录用户为普通用户,需要输入root用户口令切换到root用户进行具体操作。

  • 由于root用户拥有最高权限,直接使用root用户登录服务器可能会存在安全风险。您可以通过配置禁止root用户SSH登录的选项,来提升系统安全性。具体配置如下:先以普通用户登录服务器,切换至root登录后检查/etc/ssh/sshd_config配置项PermitRootlogin,如果显示no,说明禁止了root用户登录;如果显示yes,则需要将配置项PermitRootlogin设置为no。

源节点普通用户的密码

root密码

源节点root用户的密码

源操作系统版本

源节点操作系统版本,当前支持以下操作系统:

  • CentOS 6.8

  • CentOS 7.6

  • CentOS 8.2

目标操作系统版本

openEuler20.03-LTS-SP1

repo源名称

输入已配置的repo源名称或单击右侧“选择”进行选择已配置的待升级节点在升级过程中需要的repo源,可参考进行配置repo源配置。

业务软件

须知:

  • 未填写业务软件则不会生成软件评估报告。不需升级的业务软件(rpm包)优先级高于业务软件(rpm包)。

  • 输入多个软件目录或rpm包名称时,请用英文逗号分隔。

  • 业务软件(rpm包):使用rpm包安装的业务软件,只需填写主软件名称即可,例如安装了docker只需填写docker既可。 工具将检查该软件是否存在对应的openEuler版本,存在则自动升级软件。 若不存在,将进行软件兼容性检查,如果该软件兼容openEuler,则保留该业务软件,检查不通过则无法升级节点。

  • 业务软件(目录):使用解压包,源码编译安装的软件,需填写业务软件实际的路径, 该路径只能包含业务软件,不能包含其他与业务软件不相关的文件。 工具将检查该软件在openEuler操作系统上的兼容性, 检查通过后即可升级节点并保留原始业务软件,检查不通过则无法升级节点。

  • 不需升级的业务软件(rpm包):使用rpm包安装的业务软件,只需填写主软件名称即可,例如安装了docker只需填写docker既可。 工具将检查该软件在openEuler操作系统上的兼容性,检查通过后即可升级节点并保留原始版本包。 检查不通过则无法升级节点。

3、参照说明进行配置,此处IP我打码了,请以自己实际的IP为准。

4、注意源系统选项没有Centos 8 stream,目标系统也没有openEuler22.03-LTS,需参照以下选择。

5、添加repo源,挂载内网openEuler22.03源,如下

6、填写业务软件信息(实测如果本地源中没有业务软件openEuler22.03-LTS现成的包,填了就无法测试通过,详见后面的填坑经历)。

7、下一步,直接确认。

8、测试任务已建立完成。

二、开始进行连通性测试

1、确定任务后开始进行连通性测试,显示测试未通过,如下:

详情显示远程登录失败,检查发现远程主机未开放管理机的端口访问权限,在远程主机上开放访问权限。

2、再次测试,报repo源连通检查失效:

检查日志

cat /usr/local/x2openEuler/portal/logs/task_manager.log

报错信息如下:

经排查系/opt/x2openEuler被笔者无意识移走了所致,还原后再次检查,连通性测试正常了。

三、进行收集和评估测试

1、在任务上点开始,进行收集和评估测试,继续报错,显示安装失败:

2、点击右边的下载环境信息和日志,检查发现x2openEuler-client-2.0.0-2.noarch安装有依赖包装不上:

2023-01-17  16:12:05 Tue|9846:140439092934400|deploy_x2_client_mixin.py:102|_install_x2_client|ERROR|$?"\r\n错误:\r\n 问题: conflicting requests\r\n  - nothing provides binutils needed by x2openEuler-client-2.0.0-2.noarch\r\n(尝试添加 '--skip-broken' 来跳过无法安装的软件包 或 '--nobest' 来不只使用软件包的最佳候选)
2023-01-17  16:12:05 Tue|9846:140439092934400|deploy_x2_client_mixin.py:103|_install_x2_client|ERROR|failed to install x2openEuler-client

3、配置目标机的yum源为其当前操作系统正确的源,再点重试。

2023-01-17  16:15:12 Tue|9879:140439092934400|deploy_x2_client_mixin.py:132|_deploy_x2_client|INFO|x2openEuler-client is deployed on (zabbixdb 192.168.188.246:4422) node successfully
2023-01-17  16:15:12 Tue|9879:140439092934400|upgrade_check_start_check_actor.py:291|_collect_conflict_info|INFO|=== [conflict collect] start to execute x2openEuler-client upgrade-check-collect ===
2023-01-17  16:15:12 Tue|9879:140439092934400|upgrade_check_start_check_actor.py:316|_collect_conflict_info|ERROR|collect conflict information failed
2023-01-17  16:15:12 Tue|9879:140439092934400|upgrade_check_start_check_actor.py:317|_collect_conflict_info|ERROR|$?"\r\n-bash: /usr/bin/x2openEuler-client: /usr/bin/python: 解释器错误: 没有那个文件或目录\r\n
2023-01-17  16:15:12 Tue|9879:140439092934400|upgrade_check_start_check_actor.py:319|_collect_conflict_info|ERROR|the conflict information collection phase is complete, start to update database
2023-01-17  16:15:12 Tue|7527:140439084541696|task_scheduler.py:181|task_update|INFO|Node[1] current step[check] result is: check_outage.

继续报错,日志显示 /usr/bin/python: 解释器错误: 没有那个文件或目录。检查目标主机,有python3,但没有链接为 /usr/bin/python,复制/usr/bin/python3为/usr/bin/python

[root@CT-ZBXDB-10 opt]# which python
/usr/bin/which: no python in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@CT-ZBXDB-10 opt]# which python3
/usr/bin/python3
[root@CT-ZBXDB-10 opt]# ll /usr/bin/python3
lrwxrwxrwx 1 root root 25 8月  13 2021 /usr/bin/python3 -> /etc/alternatives/python3
[root@CT-ZBXDB-10 opt]# cp /usr/bin/python3 /usr/bin/python

4、再次重试,依旧报错,提示软件冲突检查执行失败:

点击下载环境信息和日志,可以看到以下最新出错日志

2023-01-17 16:28:28,075 - Client_IP:UNKNOWN - USER_ID:1003 - UUID:e14e2fb2-9640-11ed-8f4f-005056adcb29 - ERROR - Abnormal exit, error: /etc/x2openEuler/database_2.0.0.630/CentOS Stream 8/x86_64/primary not exists, please check whether the database is imported

可以看到系因为源系统为CentOS Stream 8,任务中无法选到CentOS Stream 8,选的centos8.2,导致检查脚本目录和源系统对不上,手动更改检查脚本目录名

[root@localhost yum.repos.d]# cd /etc/x2openEuler/
[root@localhost x2openEuler]# ll
总用量 36K
dr-xr-x---. 5 x2openEuler x2openEuler 112  1月 17 10:07 config
dr-xr-x---. 9 x2openEuler x2openEuler 207  1月 17 10:07 database_2.0.0.630
-r--r-----. 1 x2openEuler x2openEuler 35K 12月 28 16:10 x2openEuler-client-2.0.0-2.noarch.rpm
[root@localhost x2openEuler]# cd database_2.0.0.630/
[root@localhost database_2.0.0.630]# ll
总用量 0
dr-xr-x---. 3 x2openEuler x2openEuler  72  1月 17 10:07 centos6.8
dr-xr-x---. 4 x2openEuler x2openEuler  76  1月 17 10:07 centos6.8-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07 centos7.6
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07 centos7.6-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07 centos8.2
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07 centos8.2-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler 113  1月 17 10:07 openEuler20.03-LTS-SP1
[root@localhost database_2.0.0.630]# cp -ar centos8.2 'CentOS Stream 8' 
[root@localhost database_2.0.0.630]# ll
总用量 0
dr-xr-x---. 3 x2openEuler x2openEuler  72  1月 17 10:07  centos6.8
dr-xr-x---. 4 x2openEuler x2openEuler  76  1月 17 10:07  centos6.8-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07  centos7.6
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07  centos7.6-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07  centos8.2
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07  centos8.2-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07 'CentOS Stream 8'
dr-xr-x---. 4 x2openEuler x2openEuler 113  1月 17 10:07  openEuler20.03-LTS-SP1
[root@localhost database_2.0.0.630]# cp -ar centos8.2-openEuler20.03-LTS-SP1 'CentOS Stream 8-openEuler20.03-LTS-SP1'
[root@localhost database_2.0.0.630]# ll
总用量 0
dr-xr-x---. 3 x2openEuler x2openEuler  72  1月 17 10:07  centos6.8
dr-xr-x---. 4 x2openEuler x2openEuler  76  1月 17 10:07  centos6.8-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07  centos7.6
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07  centos7.6-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07  centos8.2
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07  centos8.2-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07 'CentOS Stream 8'
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07 'CentOS Stream 8-openEuler20.03-LTS-SP1'
dr-xr-x---. 4 x2openEuler x2openEuler 113  1月 17 10:07  openEuler20.03-LTS-SP1
[root@localhost database_2.0.0.630]# 

5、再次测试,继续报错“收集与评估中断,中断原因还是:软件冲突检查执行失败”

排查日志,报错信息如下,系检查脚本找不到:

2023-01-17 16:48:07,056 - Client_IP:UNKNOWN - USER_ID:1003 - UUID:9ff5d224-9643-11ed-8dc2-005056adcb29 - INFO - relationship file path    :
2023-01-17 16:48:07,060 - Client_IP:UNKNOWN - USER_ID:1003 - UUID:9ff5d224-9643-11ed-8dc2-005Ce056adcb29 - ERROR - Abnormal exit, error: /etc/x2openEuler/database_2.0.0.630/CentOS Stream 8/CentOS Stream 8.json is not exist
2023-01-17 16:48:07,060 - Client_IP:UNKNOWN - USER_ID:1003 - UUID:9ff5d224-9643-11ed-8dc2-005056adcb29 - INFO - Analyse finished, total 0 items, 0 success, 0 failed

手动更改检查脚本文件名:

[root@localhost database_2.0.0.630]# cd CentOS\ Stream\ 8
[root@localhost CentOS Stream 8]# ll
总用量 4.4M
dr-xr-x---. 4 x2openEuler x2openEuler   38  1月 17 10:07 aarch64
-r--r-----. 1 x2openEuler x2openEuler 1.9M 12月 28 00:00 centos8.2.json
-r--r-----. 1 x2openEuler x2openEuler 2.5M 12月 28 00:00 centos8.2-service.json
dr-xr-x---. 4 x2openEuler x2openEuler   38  1月 17 10:07 x86_64
[root@localhost CentOS Stream 8]# mv centos8.2.json 'CentOS Stream 8'.json
[root@localhost CentOS Stream 8]# mv centos8.2-service.json 'centos Stream 8'-service.json
[root@localhost CentOS Stream 8]# ll
总用量 4.4M
dr-xr-x---. 4 x2openEuler x2openEuler   38  1月 17 10:07  aarch64
-r--r-----. 1 x2openEuler x2openEuler 1.9M 12月 28 00:00 'CentOS Stream 8.json'
-r--r-----. 1 x2openEuler x2openEuler 2.5M 12月 28 00:00 'centos Stream 8-service.json'
dr-xr-x---. 4 x2openEuler x2openEuler   38  1月 17 10:07  x86_64
[root@localhost database_2.0.0.630]# ll
总用量 0
dr-xr-x---. 3 x2openEuler x2openEuler  72  1月 17 10:07  centos6.8
dr-xr-x---. 4 x2openEuler x2openEuler  76  1月 17 10:07  centos6.8-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07  centos7.6
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07  centos7.6-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  87  1月 17 10:07  centos8.2
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07  centos8.2-openEuler20.03-LTS-SP1
dr-xr-x---. 4 x2openEuler x2openEuler  99  1月 17 16:54 'CentOS Stream 8'
dr-xr-x---. 5 x2openEuler x2openEuler  91  1月 17 10:07 'CentOS Stream 8-openEuler20.03-LTS-SP1'
dr-xr-x---. 4 x2openEuler x2openEuler 113  1月 17 10:07  openEuler20.03-LTS-SP1
[root@localhost database_2.0.0.630]# cd 'CentOS Stream 8-openEuler20.03-LTS-SP1'
[root@localhost CentOS Stream 8-openEuler20.03-LTS-SP1]# ll
总用量 1.4M
dr-xr-x---. 2 x2openEuler x2openEuler  114  1月 17 10:07 aarch64
-r--r-----. 1 x2openEuler x2openEuler 1.4M 12月 28 00:00 centos8.2-openEuler20.03-LTS-SP1.json
dr-xr-x---. 2 x2openEuler x2openEuler   31  1月 17 10:07 jdk
dr-xr-x---. 2 x2openEuler x2openEuler  114  1月 17 10:07 x86_64
[root@localhost CentOS Stream 8-openEuler20.03-LTS-SP1]# mv centos8.2-openEuler20.03-LTS-SP1.json 'CentOS Stream 8'-openEuler20.03-LTS-SP1.json 
[root@localhost CentOS Stream 8-openEuler20.03-LTS-SP1]# ll
总用量 1.4M
dr-xr-x---. 2 x2openEuler x2openEuler  114  1月 17 10:07  aarch64
-r--r-----. 1 x2openEuler x2openEuler 1.4M 12月 28 00:00 'CentOS Stream 8-openEuler20.03-LTS-SP1.json'
dr-xr-x---. 2 x2openEuler x2openEuler   31  1月 17 10:07  jdk
dr-xr-x---. 2 x2openEuler x2openEuler  114  1月 17 10:07  x86_64
[root@localhost CentOS Stream 8-openEuler20.03-LTS-SP1]# tree x86_64/
x86_64/
├── centos8.2-openEuler20.03-LTS-SP1.sqlite
├── centos8.2.sqlite
└── openEuler20.03-LTS-SP1.sqlite

0 directories, 3 files
[root@localhost CentOS Stream 8-openEuler20.03-LTS-SP1]# cd x86_64/
[root@localhost x86_64]# mv centos8.2.sqlite 'CentOS Stream 8.sqlite'
[root@localhost x86_64]# mv centos8.2-openEuler20.03-LTS-SP1.sqlite 'CentOS Stream 8'-openEuler20.03-LTS-SP1.sqlite
[root@localhost x86_64]# tree
.
├── CentOS Stream 8-openEuler20.03-LTS-SP1.sqlite
├── CentOS Stream 8.sqlite
└── openEuler20.03-LTS-SP1.sqlite

0 directories, 3 files

6、继续测试,再次报错,日志显示没有软件包提供:

timescaledb-tools-0.14.1-0.el8.x86_64 are saved: /opt/x2openEuler/output/upgrade-check/179bfece-9645-11ed-80ec-005056adcb29/software_relation/timescaledb-tools-0.14.1-0.el8.x86_64.json
2023-01-17 17:01:20,490 - Client_IP:UNKNOWN - USER_ID:1003 - UUID:179bfece-9645-11ed-80ec-005056adcb29 - INFO - Relationship for 没有软件包提供 (NetworkManager are saved: /opt/x2openEuler/output/upgrade-check/179bfece-9645-11ed-80ec-005056adcb29/software_relation/没有软件包提供 (NetworkManager.json
  "error_information": [
    {
      "src_pkg": "postgresql14-server-14.5-1PGDG.rhel8.x86_64",
      "dest_pkg": "",
      "conflict_details": "libicu-60.3-2.el8_1.x86_64: libicui18n.so.60()(64bit), libicu-60.3-2.el8_1.x86_64: libicuuc.so.60()(64bit), openldap-2.4.46-17.el8_4.x86_64: libldap-2.4.so.2()(64bit)",
      "conflict_type": "require_missing",
      "level": 3
    },
    {
      "src_pkg": "postgresql14-libs-14.5-1PGDG.rhel8.x86_64",
      "dest_pkg": "",
      "conflict_details": "openldap-2.4.46-17.el8_4.x86_64: libldap_r-2.4.so.2()(64bit)",
      "conflict_type": "require_missing",
      "level": 3
    },
    {
      "src_pkg": "postgresql14-14.5-1PGDG.rhel8.x86_64",
      "dest_pkg": "",
      "conflict_details": "readline-7.0-10.el8.x86_64: libreadline.so.7()(64bit)",
      "conflict_type": "require_missing",
      "level": 3
    },

没有可用postgresql14相关软件包,检测失败,经查openEuler22.03-LTS就没有postgresql14的包,只有postgresql-server-13.3-5的包。

7、点击任务,初始化,这时候会重新将任务回到配置状态,修改任务去除业务软件中填的的rpm包等信息,重新输入目标机相关密码,保存任务

8、重新开始测试,因为其它参数前面都已经测试过了,所以很快就报测试通过,此时点击开始

再次进入收集与评估

9、此时评估通过,软件依赖关系图如下

硬件兼容性评估报告如下

软件冲突检查报告

至此,Centos 8 stream迁移到openEuler22.03-LTS的在线测试评估完成。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代先生.重庆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值