特性指南
通过 web 界面使用 x2openEuler 工具
系统升级
系统升级特性帮助用户将待升级节点的操作系统升级为目标操作系统,以保障业务的连续性和安全性。
创建升级任务
前提条件
系统升级特性帮助用户将待升级节点的操作系统升级为目标操作系统,以保障业务的连续性和安全性。
操作步骤
须知: x2openEuler 工具单个升级任务最多支持 1000 个节点。
在页面左侧,单击“新建任务”,选择“升级任务”进入“新建升级任务”界面,工具默认会自动生成任务名称,可修改该名称。
在“新建升级任务”确认“任务名称”后,选择“批量导入”或“添加节点”,并对以下参数进行配置。
批量导入:通过模板表格导入多个节点的节点信息。
说明: 批量导入节点过程中,工具会对导入的节点信息进行校验,若校验不通过则需按照提示修改导入信息,并重新进行批量导入操作。
在批量导入界面中,单击“模板表格”获取模板后参考 表 1 填写节点信息。
完成节点信息的填写后单击“上传文件”阅读 “SSH 传输须知”,选择已填写节点信息的批量导入文件进行上传。
添加节点:添加单个节点的节点信息。
在“添加节点”页面,参考 表 1 输入相应信息后,单击“确定”进行节点添加。
参数 说明 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。配置完成后需要重启 sshd 服务确保配置生效。
- 配置的节点信息中涉及用户密码输入,请注意定期维护帐户信息,确保环境安全。
源操作系统版本 待升级节点的源操作系统,支持列表见 操作系统要求。 目标操作系统版本 待升级节点的目标操作系统,支持列表见 操作系统要求。 repo 源配置 输入已配置的 repo 源名称或单击右侧“选择”进行选择已配置的待升级节点在升级过程中需要的 repo 源,可参考 配置 repo 源 进行配置。 须知: - 未填写业务软件则不会生成软件评估报告。不需升级的业务软件(rpm 包)优先级高于业务软件(rpm 包)。
- 输入多个软件目录或 rpm 包名称时,请用英文逗号分隔。
业务软件 业务软件(rpm 包) 使用 rpm 包安装的业务软件,只需填写主软件名称即可,例如安装了 docker 只需填写 docker 既可。工具将检查该软件是否存在对应的 openEuler 版本,存在则自动升级软件。 若不存在,将进行软件兼容性检查,如果该软件兼容 openEuler,则保留该业务软件,检查不通过则无法升级节点。 业务软件(目录) 使用解压包,源码编译安装的软件,需填写业务软件实际的路径,该路径只能包含业务软件,不能包含其他与业务软件不相关的文件。 工具将检查该软件在 openEuler 操作系统上的兼容性, 检查通过后即可升级节点并保留原始业务软件,检查不通过则无法升级节点。 不需升级的业务软件(rpm 包) 使用 rpm 包安装的业务软件,只需填写主软件名称即可,例如安装了 docker 只需填写 docker 即可。 工具将检查该软件在 openEuler 操作系统上的兼容性,检查通过后即可升级节点并保留原始版本包。检查不通过则无法升级节点。 升级后新安装软件(rpm 包) 使用 rpm 包安装的业务软件,只需填写主软件名称即可。例如操作系统升级后安装了 docker 只需填写 docker 即可。工具将检查该软件在 openEuler 操作系统上的兼容性,检查通过后即可在升级后安装该软件。检查不通过则无法安装该软件。 高级配置 升级方案 升级方案名称 备份目录 待升级操作系统需要进行备份的目录。
默认备份目录:/etc,/usr,/boot,/var,/run,/opt/sut/check_result,以及所有 rpm 包文件,多个备份目录间需要用逗号隔开。
说明:- 升级过程中会自动备份数据。默认备份 /usr、/run、/boot、/var 和 /etc 目录当中的文件,备份文件可被存储在自定义目录下,不填写则默认存储在 /.osbak 目录下。
- 只需备份系统运行需要的文件目录,无需备份业务数据,如果业务数据直接存放在默认备份系统目录下,或者通过挂载方式挂载在默认备份系统目录下,则需要将业务数据目录填写在排除目录一栏。备份目录一般情况无需额外填写。
备份文件存放位置 用于指定节点升级时,备份文件存放的目录,不填写则默认存放在 /.osbak。 排除目录 待升级操作系统中不需要备份的目录,多个备份目录间需要用逗号隔开。 冲突软件配置 升级前检查检测得到的冲突包一起被删除(注意:有些系统依赖的重要软件包不能被删除), 若不填写,则默认使用升级前检查得到的冲突包。 cmdline配置 升级后目标操作系统内核启动项,不填写则和升级前保持一致。 swap软件包配置 部分软件包无法被升级,需要手动替换,如想将 A 包在升级后替换成B包,则需填写 A->B。 文件迁移配置 自定义文件迁移的列表。文件在源 OS 和目标 OS 上的位置相同时,可直接填写文件绝对路径,例如 /.../A;文件在源 OS 和目标 OS 上的位置不同时,用 -> 连接升级前后路径,例如 /.../B->/.../C。 文件权限继承配置 自定义文件权限继承的列表。文件在源 OS 和目标 OS 上的位置相同时,可直接填写文件绝对路径,例如 /.../A;文件在源 OS 和目标 OS 上的位置不同时,用 -> 连接升级前后路径,例如 /.../B->/.../C。 须知: - 自定义检查项上传格式固定为 xxx.tar.gz,xxx 是压缩目录名字,解压目录一级包含严格按照模板编写的 python 脚本,工具会根据返回值来判断脚本是否执行成功。脚本将在待升级节点上运行,请确保上传脚本无安全风险。
- 脚本上传路径默认为 /opt/x2openEuler/scripts-execute/upload/。
- 使用 chown -R x2openEuler:x2openEuler xxx.tar.gz 修改文件拥有者和群组。
自定义检查项 填写自定义检查项的脚本路径,根据任务类型的不同,自定义检查项可以分别执行在环境检查、升级前检查、升级后检查。 须知: - 前后置脚本上传格式为固定 xxx.tar.gz 包,xxx 是压缩目录名称且解压目录一级必须有 run.sh 文件做为脚本执行入口,工具会根据 run.sh 的返回值来判断脚本是否执行成功。 脚本将在待升级节点上运行,请确保上传脚本无安全风险。
- 脚本上传路径默认为 /opt/x2openEuler/scripts-execute/upload/。
- 使用 chown -R x2openEuler:x2openEuler xxx.tar.gz 修改文件拥有者和群组。
前置脚本 启用该项后,需填写前置脚本路径,前置脚本运行在环境检查后。 后置脚本(重启前) 启用该项后,需填写后置脚本(重启前)路径,该脚本运行在升级完成重启前。 后置脚本(重启后) 启用该项后,需填写后置脚本(重启后)路径,该脚本运行在升级完成重启后。 须知: - SMT 自定义脚本上传格式固定为 xxx.tar.gz 包,xxx 是压缩目录名字,解压目录一级包含 SMT 前置脚本执行入口 pre_run.sh、SMT 后置脚本执行入口post_run.sh,自定义脚本执行是否成功不应影响 SMT 本身的执行。脚本将在待升级节点上运行,请确保上传脚本无安全风险。
- 脚本上传路径默认为 /opt/x2openEuler/scripts-execute/upload/。
- 使用 chown -R x2openEuler:x2openEuler xxx.tar.gz 修改文件拥有者和群组。
SMT 自定义脚本 填写 SMT 自定义脚本路径,前置脚本、后置脚本分别在重启后的 SMT 脚本之前和之后执行。
此处以添加单个节点进行指纹验证为例,工具对导入的节点信息校验完成后,进入节点指纹验证页面,确认节点指纹无误后,单击“确定”。
节点添加完成,确认添加节点信息无误后,单击任务名称右侧“确定”,完成升级任务创建。若需要修改或删除相应节点,单击右侧“操作”项下的“修改”或“删除”对节点进行操作。单击右下角“确认”启动升级任务,单击右下角“取消”,取消升级任务。
说明: 升级任务创建完成后,工具会自动对升级任务中配置的待升级节点进行环境检查,环境检查通过后才能进行后续升级操作。若环境检查失败,请检查并修改节点配置信息。
进行节点升级
前提条件
- 已登录 x2openEuler 工具。
- 已创建升级任务。
操作步骤
在登录页面选择需要进行升级的任务,单击右侧“进入任务”,进入任务详情页面。
单击节点信息右侧的“开始检查”,可对单个节点进行节点信息检查。同时勾选多个节点,单击左上角“批量操作→开始检查”,可对多个节点进行信息检查。
节点升级过程分为多个阶段,其中任意阶段失败都可能会导致后续升级过程终止。
说明:
- 升级过程中在不同的升级阶段结束后可单击右下角“初始化”,使待升级节点回归待测试状态。
- 导入前后置脚本后,升级任务中会增加“前置脚本执行”和“后置脚本执行”阶段。
环境检查
环境检查用于分析 x2openEuler 工具与待升级节点的环境连通性,验证 repo 源是否处于可用状态,若环境检查无法通过,则需参考对应检查项操作建议修改节点配置信息。如需进行自定义环境检查请参考 自定义环境检查。
升级前检查
针对待升级节点进行配置文件升级策略、软件、硬件兼容性评估及软件和服务冲突检查,产生相应评估报告,确认待升级节点是否符合升级要求。若出现兼容性不通过的情况,则需参考评估报告进行软件适配。评估报告参数详细说明请参考 表 2、表 3、表 4 和 表 5。
参数 说明 检查项 检查项为从源操作系统升级到目标操作系统的服务、相关策略和配置。 检查结果 显示检查项是否通过升级前检查。
- 通过
- 不通过
优先级 显示检查项对升级的影响:
- 高:可能会导致升级出现中止异常。
- 中:可能会导致升级过程中出现异常,但不一定会中止升级进程。
- 低:可能导致升级过程中出现异常,但不会影响升级进程。
操作 针对不通过检查项提供不通过原因和解决方案。 参数 说明 评估结果 显示评估软件名称、源操作系统、目标操作系统、系统架构以及评估结果等评估任务信息。 操作建议 依据评估报告中的兼容性结果,提供对应解决方案建议。 依赖包兼容性 显示软件安装所需要的直接依赖以及依赖文件在各个系统上对应的 rpm 包。
- 若查询到的直接依赖的 rpm 的名字和版本都一样,会显示 版本未变更
- 若查询到的直接依赖的 rpm 的版本不一样,但接口无差异,会显示 版本有变更
- 若查询到的直接依赖的 rpm 的包名发生变化,但接口无差异,会显示 包名有变更
- 若源操作系统查到 rpm,目标操作系统没有查到,会显示 缺失
- 若源操作系统没有查到 rpm,目标操作系统有查到,或者所在包有接口变化,则会显示 需要检查
- 若源操作系统和目标操作系统都没有查到 rpm,则会放到 other 里边,并显示 需要检查
接口兼容性(C/C++) - 调用函数名称:表示被评估软件中调用的函数名称。
- 调用的接口程序:表示被评估软件中被存在差异的外部接口调用的程序。
- 结果:
- 已移除:表示缺失的接口。
- 已变更:表示函数入参,返回值,或者实现有变化
- 展开的详细信息中:
- 操作系统:表示迁移评估的系统名称。
- 函数名:接口表示。
- 文件名:表示外部接口所在的文件名。
- 依赖包:表示接口所在的外部 so 库。
- 接口差异项:表示外部接口的变化差异,如果是已移除接口,则此项为空。
接口兼容性(JDK) 表示扫描 Jar 包中调用的 jdk 接口在待迁移的系统上对应满足运行条件的最小 jdk 上发生的变更。
- openEuler jdk:openEuler 上满足 Jar包 运行环境的最小 jdk 版本。
- 对象构建 jdk:扫描 jar 包对应构建的 jdk 版本。
- jar 包名:扫描的 jar 包名称。
- 方法名:存在接口差异的方法名。
- 函数调用签名:存在接口差异的方法函数签名。
- 包名:存在接口差异的方法所在的包(packageName + className)。
- 差异项:接口差异选项。
接口兼容性(Java) Jar 接口差异主要描述了当前 jar 包接口在待迁移的系统上发生的变更。
- 调用的 jar 包:表示当前被调用的 jar 包名称。
- 所属的 rpm 包:表示当前的 jar 包所属的 rpm 包。
- 展开的详细信息中:
- centos7.6 Methods:表示 CentOS 7.6 上不兼容的接口名称。
- package:表示不兼容的接口所属的 jar 包。
- class:表示不兼容的接口所属的类。
- openEuler20.03-LTS-SP1 Change:表示不兼容的接口在 openEuler20.03-LTS-SP1 上发生的变更,这部分变更描述包含了方法的移除,方法返回参数、方法签名、方法修饰、异常等变更。
参数 说明 评估结果 显示评估环境中的系统、基本系统、CPU 以及整机兼容性信息。 板卡在 openEuler2x.03-LTS-SPx 兼容性清单 板卡兼容必须满足兼容性清单中参数与已有板卡清单列表中的信息都保持一致才算兼容。若对比字段信息不完全一致,则属于待确认板卡。
- 芯片厂商 ID
- 设备 ID
- 二级厂商制造 ID
- 二级设备 ID
- 芯片型号
- 是否在兼容性清单:确认该硬件是否兼容目标操作系统
- 风险级别:对硬件兼容性影响升级的风险进行等级评估
升级前检查完成后,单击右下角“导出 HTML 报告”即可导出检查报告。单击“下载环境信息和日志”获取检查过程中收集的环境信息和任务执行日志。若升级前检查未通过,可单击右下角“重试”重新尝试升级检查或单击“剔除节点”清除该节点当前状态,剔除后单击“恢复”可恢复至剔除前状态。参数 说明 软件冲突检查统计 显示评估环境升级中存在的冲突信息、源操作系统保留包、升级到目标系统包、升级到 openEuler 拓展仓库包、源操作系统删除的软件包和目标操作系统额外安装包等相关信息。 冲突信息 描述了源操作系统与升级目标操作系统中存在的软件包冲突信息。 源操作系统保留包 升级至目标操作系统后保留的源操作系统软件包。 升级到目标系统包 升级至目标操作系统后同时升级的软件包信息。 升级到 openEuler 拓展仓库包 升级至 openEuler 操作系统后拓展的软件包信息。 源操作系统删除的软件包 升级至目标操作系统后移除的源操作系统软件包。 目标操作系统额外安装包 升级至目标操作系统后额外安装的软件包。 升级和数据备份
说明: 升级过程中会自动备份数据。默认备份 /usr、/run、/boot、/var 和 /etc 目录当中的文件,备份文件可被存储在自定义目录下,不填写则默认存储在 /.osbak 目录下。
环境检查和升级前检查通过后,进入节点升级阶段。升级完成后,单击“重启节点”或手动重启升级节点,确保升级完成。单击“下载环境信息和日志”获取升级过程中收集的环境信息和运行日志。
节点重启成功后,单击“开始检查”进入“升级后环境检查”阶段。
升级后环境检查
升级后环境检查会对升级后操作系统命令、软件包及服务等进行检查并生成巡检报告,如需自定义巡检项则可参考 自定义健康巡检。升级完成后建议清理备份数据,以节约节点空间。如需进行回退操作,则可以选择保留备份数据。
说明: 升级完成后,需进行业务运行验证,若业务运行正常,即可进行备份数据清理,以释放占用空间。
升级完成后,参考 升级后验证 进行升级后环境验证。
说明: 系统重启之后,SELinux 会进行 relabel 动作,物理机可能耗时较长。relabel 动作触发完成后,系统会自动进行重启,此时才真正升级至目标操作系统。
升级后验证
前提条件
升级完成后,需进行以下操作对升级后环境进行验证,确保升级完成。
操作步骤
执行以下命令,检查操作系统版本是否已升级至目标操作系统。
cat /etc/os-release
如显示以下信息则表示已升级至目标操作系统。
NAME="openEuler" VERSION="20.03 (LTS-SP1)" ID="openEuler" VERSION_ID="20.03" PRETTY_NAME="openEuler 20.03 (LTS-SP1)" ANSI_COLOR="0;31"
进行 openEuler 系统命令验证,能够正常运行即表示已升级至目标操作系统。
(可选)升级完成后,可根据业务需求,执行业务恢复或适配脚本。
检查业务状态是否运行正常。
系统信息收集评估
系统信息收集评估任务收集待升级节点信息,针对待升级节点进行软件、硬件兼容性评估及软件冲突检查,产生相应评估报告,确认待升级节点是否符合升级要求。
创建系统信息收集评估
前提条件
已登录 x2openEuler 工具。
操作步骤
在页面左侧,单击“新建任务”,选择“系统信息收集评估”进入“新建升级任务”界面,工具默认会自动生成任务名称,可修改该名称。
在“新建系统信息收集评估任务”确认“任务名称”后,选择“批量导入”或“添加节点”,并对以下参数进行配置。
批量导入:通过模板表格导入多个节点的节点信息。
说明: 批量导入节点过程中,工具会对导入的节点信息进行校验,若校验不通过则需按照提示修改导入信息,并重新进行批量导入操作。
在批量导入界面中,单击“模板表格”获取模板后参考 表 6 填写节点信息。
完成节点信息的填写后单击“上传文件”阅读 “SSH 传输须知”,选择已填写节点信息的批量导入文件进行上传。
添加节点:添加单个节点的节点信息。 在“添加节点”页面,参考 表 6 输入相应信息后,单击“确定”进行节点添加。
参数 说明 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。配置完成后需要重启 sshd 服务确保配置生效。
- 配置的节点信息中涉及用户密码输入,请注意定期维护帐户信息,确保环境安全。
源操作系统版本 待升级节点的操作系统,默认为 CentOS 7.6,可通过 上传操作系统数据库支持包 支持更多操作系统。 目标操作系统版本 待升级节点的操作系统,默认为 openEuler 20.03-LTS-SP1,可通过 上传操作系统数据库支持包 持更多操作系统。 repo 源配置 输入已配置的 repo 源名称或单击右侧“选择”进行选择已配置的待升级节点在升级过程中需要的 repo 源,可参考 配置repo源 进行配置。 业务软件 须知: - 未填写业务软件则不会生成软件评估报告。不需升级的业务软件(rpm 包)优先级高于业务软件(rpm 包)。
- 输入多个软件目录或 rpm 包名称时,请用英文逗号分隔。
- 业务软件(rpm 包):使用 rpm 包安装的业务软件,只需填写主软件名称即可,例如安装了 docker 只需填写 docker 既可。 工具将检查该软件是否存在对应的 openEuler 版本,存在则自动升级软件。 若不存在,将进行软件兼容性检查,如果该软件兼容 openEuler,则保留该业务软件,检查不通过则无法升级节点。
- 业务软件(目录):使用解压包,源码编译安装的软件,需填写业务软件实际的路径, 该路径只能包含业务软件,不能包含其他与业务软件不相关的文件。 工具将检查该软件在 openEuler 操作系统上的兼容性, 检查通过后即可升级节点并保留原始业务软件,检查不通过则无法升级节点。
- 不需升级的业务软件(rpm 包):使用 rpm 包安装的业务软件,只需填写主软件名称即可,例如安装了 docker 只需填写 docker 即可。 工具将检查该软件在 openEuler 操作系统上的兼容性,检查通过后即可升级节点并保留原始版本包。 检查不通过则无法升级节点。
- 升级后新安装软件:使用rpm包安装的业务软件,只需填写主软件名称即可。例如操作系统升级后安装了 docker 只需填写 docker 即可。工具将检查该软件在 openEuler 操作系统上的兼容性,检查通过后即可在升级后安装该软件。检查不通过则无法安装该软件。
此处以添加单个节点进行指纹验证为例,工具对导入的节点信息校验完成后,进入 节点指纹验证页面,确认节点指纹无误后,单击“确定”。
节点添加完成,确认添加节点信息无误后,单击任务名称右侧“确定”,完成系统信息收集评估任务创建。若需要修改或删除相应节点,单击右侧“操作”项下的“修改”或“删除”对节点进行操作。单击右下角“确认”启动升级任务,单击右下角“取消”,取消任务。
说明: 任务创建完成后,工具会自动对系统信息收集评估任务中配置的待升级节点进行环境检查,环境检查通过后才能进行后续收集分析任务。若环境检查失败,请检查并修改节点配置信息。
进行系统信息收集评估
前提条件
已创建系统信息收集评估任务。
操作步骤
在登录页面选择系统信息收集评估任务,单击右侧“进入任务”,进入任务详情页。
单击节点信息右侧的“开始检查”,可对单个节点进行环境检查。同时勾选多个节点,单击左上角“批量操作➡开始检查”,可对多个节点进行环境检查。
节点信息收集评估任务分为 2 个阶段,其中任意阶段失败都会导致任务终止。
说明:
- 升级过程中在不同的升级阶段结束后可单击右下角“初始化”,使待升级节点回归待测试状态。
- 导入前后置脚本后,升级任务中会增加“前置脚本执行”和“后置脚本执行”阶段。
- 若升级过程中需要进行回退,可进行 回退一致性配置, 配置内容将不会进行一致性检查。配置之后仅在下一次回退才会生效。
环境检查
环境检查用于分析 x2openEuler 工具与待升级节点的连通性,验证环境信息是否正常,若环境检查无法通过,则需修改节点配置信息。
收集与评估
针对待升级节点进行软件、硬件兼容性评估及软件冲突检查,产生相应评估报告,确认待升级节点是否符合升级要求。若出现兼容性不通过的情况,则需参考评估报告进行软件适配。评估报告参数详细说明请参考 表 7、表 8 和 表 9。
参数 说明 评估结果 显示评估软件名称、源操作系统、目标操作系统、系统架构以及评估结果等评估任务信息。 操作建议 依据评估报告中的兼容性结果,提供对应解决方案建议。 依赖包兼容性 显示软件安装所需要的直接依赖以及依赖文件在各个系统上对应的 rpm 包。
- 若查询到的直接依赖的 rpm 的名字和版本都一样,会显示 版本未变更
- 若查询到的直接依赖的 rpm 的版本不一样,但接口无差异,会显示 版本有变更
- 若查询到的直接依赖的 rpm的包名发生变化,但接口无差异,会显示 包名有变更
- 若源操作系统查到 rpm,目标操作系统没有查到,会显示 缺失
- 若源操作系统没有查到 rpm,目标操作系统有查到,或者所在包有接口变化,则会显示 需要检查
- 若源操作系统和目标操作系统都没有查到 rpm,则会放到 other 里边,并显示 需要检查
接口兼容性(C/C++) - 调用函数名称:表示被评估软件中调用的函数名称。
- 调用的接口程序:表示被评估软件中被存在差异的外部接口调用的程序。
- 结果:
- 已移除:表示缺失的接口。
- 已变更:表示函数入参,返回值,或者实现有变化
- 展开的详细信息中:
- 操作系统:表示迁移评估的系统名称。
- 函数名:接口表示。
- 文件名:表示外部接口所在的文件名。
- 依赖包:表示接口所在的外部 so 库。
- 接口差异项:表示外部接口的变化差异,如果是已移除接口,则此项为空。
接口兼容性(JDK) 表示扫描 Jar 包中调用的 jdk 接口在待迁移的系统上对应满足运行条件的最小 jdk 上发生的变更。
- openEuler jdk:openEuler 上满足 Jar 包运行环境的最小 jdk 版本。
- 对象构建 jdk:扫描 jar 包对应构建的jdk版本。
- jar 包名:扫描的 jar 包名称。
- 方法名:存在接口差异的方法名。
- 函数调用签名:存在接口差异的方法函数签名。
- 包名:存在接口差异的方法所在的包(packageName + className)。
- 差异项:接口差异选项。
接口兼容性(Java) Jar 接口差异主要描述了当前 jar 包接口在待迁移的系统上发生的变更。
- 调用的 jar 包:表示当前被调用的 jar 包名称。
- 所属的 rpm 包:表示当前的 jar 包所属的 rpm 包。
- 展开的详细信息中:
- centos7.6 Methods:表示 CentOS 7.6 上不兼容的接口名称。
- package:表示不兼容的接口所属的 jar 包。
- class:表示不兼容的接口所属的类。
- openEuler20.03-LTS-SP1 Change:表示不兼容的接口在 openEuler20.03-LTS-SP1 上发生的变更,这部分变更描述包含了方法的移除,方法返回参数、方法签名、方法修饰、异常等变更。
参数 说明 评估结果 显示评估环境中的系统、基本系统、CPU 以及整机兼容性信息。 板卡在 openEuler 20.03 LTS SP1 兼容性清单 板卡兼容必须满足兼容性清单中参数与已有板卡清单列表中的信息都保持一致才算兼容。若对比字段信息不完全一致,则属于待确认板卡。
- 芯片厂商 ID
- 设备 ID
- 二级厂商制造 ID
- 二级设备 ID
- 芯片型号
- 是否在兼容性清单:确认该硬件是否兼容目标操作系统
- 风险级别:对硬件兼容性影响升级的风险进行等级评估
参数 说明 软件冲突检查统计 显示评估环境升级中存在的冲突信息、源操作系统保留包、升级到目标系统包、升级到openEuler拓展仓库包、源操作系统删除的软件包和目标操作系统额外安装包等相关信息。 冲突信息 描述了源操作系统与升级目标操作系统中存在的软件包冲突信息。 源操作系统保留包 升级至目标操作系统后保留的源操作系统软件包。 升级到目标系统包 升级至目标操作系统后的同时升级的软件包信息。 升级到 openEuler 拓展仓库包 升级至 openEuler 操作系统后拓展的软件包信息。 源操作系统删除的软件包 升级至目标操作系统后移除的源操作系统软件包。 目标操作系统额外安装包 升级至目标操作系统后额外安装的软件包。
(可选)单击右下角“初始化”回归待测试阶段,单击“下载环境信息和日志”获取环境信息和工具运行日志结果。
系统配置迁移
配置迁移任务分析节点环境中的相关配置信息并迁移至目标环境中,实现业务连续运行。
创建系统配置迁移任务
前提条件
已成功登录 x2openEuler 工具。
操作步骤
在页面左侧,单击“新建任务”,选择“配置迁移任务”进入“新建配置迁移任务”界面,工具默认会自动生成任务名称,可修改该名称。
在“新建升级任务”输入“任务名称”后,选择“迁移类型”,此处以“分析并迁移为例”,并对以下参数进行配置。
须知: 迁移类型分为以下三类,针对不同情况进行选择即可。
- 仅分析配置:仅对源节点配置信息进行分析,支持分析后导出。
- 仅迁移配置:仅支持将配置信息迁移至目标节点。
- 分析配置并迁移:对源节点配置信息进行分析并迁移至目标节点。
批量导入:通过模板表格导入多个节点的节点信息。
说明: 批量导入节点过程中,工具会对导入的节点信息进行校验,若校验不通过则需按照提示修改导入信息,并重新进行批量导入操作。
在批量导入界面中,单击“模板表格”获取模板后参考 表 10 填写节点信息。
完成节点信息的填写后单击“上传文件”阅读 “SSH 传输须知”,选择已填写节点信息的批量导入文件进行上传。
添加节点:添加单个节点的节点信息。
在“添加节点”页面,参考 表 10 输入相应信息后,单击“确定”进行节点添加。
参数 说明 SSH 传输须知 节点管理使用服务器默认的 SSH 传输通道,为了保护数据的安全完整,建议使用安全的 ssh 服务,如使用安全的 ssh 版本,配置使用安全的加密算法等。 源节点 IP 地址 源节点 IP 地址。说明:
源节点与部署 openEuler web 工具的环境需要保持可联通状态。源节点别名 源节点别名,该别名用于标记该节点用途。 源端口 登录源节点的 SSH 协议端口。 源用户名 登录源节点的用户名。 源端口 登录源节点的 SSH 协议端口。 认证方式 密钥认证:通过私钥文件和私钥文件的密码短语进行认证。
- 私钥文件:登录源节点私钥文件的绝对路径。
- 密码短语:登录源节点私钥文件的密码短语。
配置秘钥认证方式请参考 配置生成秘钥。
说明:- 若登录用户为普通用户,需要输入 root 用户口令切换到 root 用户进行具体操作。
- 由于 root 用户拥有最高权限,直接使用 root 用户登录服务器可能会存在安全风险。您可以通过配置禁止 root 用户 SSH 登录的选项,来提升系统安全性。具体配置如下:先以普通用户登录服务器,切换至 root 登录后检查 /etc/ssh/sshd_config 配置项 PermitRootlogin,如果显示 no,说明禁止了 root 用户登录;如果显示 yes,则需要将配置项 PermitRootlogin 设置为 no。配置完成后需要重启 sshd 服务确保配置生效。
- 配置的节点信息中涉及用户密码输入,请注意定期维护帐户信息,确保环境安全。
口令认证:通过口令进行认证。
口令:登录源节点的密码口令。
说明:- 若登录用户为普通用户,需要输入 root 用户口令切换到 root 用户进行具体操作。
- 由于 root 用户拥有最高权限,直接使用 root 用户登录服务器可能会存在安全风险。您可以通过配置禁止 root 用户 SSH 登录的选项,来提升系统安全性。具体配置如下:先以普通用户登录服务器,切换至 root 登录后检查 /etc/ssh/sshd_config 配置项 PermitRootlogin,如果显示 no,说明禁止了 root 用户登录;如果显示 yes,则需要将配置项 PermitRootlogin 设置为 no。配置完成后需要重启 sshd 服务确保配置生效。
源操作系统版本 待迁移节点的操作系统,默认为 CentOS 7.6,可通过 上传操作系统数据库支持包 支持更多操作系统。 目标节点 IP 目标节点 IP 地址。
说明:
目标节点与部署 openEuler web 工具的环境需要保持可联通状态。目标端口 登录至目标节点的 SSH 协议端口。 目标用户名 登录至目标节点的用户名。 认证方式 密钥认证:通过私钥文件和私钥文件的密码短语进行认证。 - 私钥文件:登录待升级节点私钥文件的绝对路径。
- 密码短语:登录待升级节点私钥文件的密码短语。配置秘钥认证方式请参考 配置生成秘钥。
口令认证:通过口令进行认证。
口令:登录待升级节点的密码口令。
说明:- 若登录用户为普通用户,需要输入 root 用户口令切换到 root 用户进行具体操作,由于 root 用户拥有最高权限,直接使用 root 用户登录服务器可能会存在安全风险。您可以通过配置禁止 root 用户 SSH 登录的选项,来提升系统安全性。具体配置如下:先以普通用户登录服务器,切换至 root 登录后检查 /etc/ssh/sshd_config 配置项 PermitRootlogin,如果显示 no,说明禁止了 root 用户登录;如果显示 yes,则需要将配置项 PermitRootlogin 设置为 no。配置完成后需要重启 sshd 服务确保配置生效。
- 配置的节点信息中涉及用户密码输入,请注意定期维护帐户信息,确保环境安全。
目标操作系统版本 待迁移节点进行升级的目标操作系统,默认为 openEuler 20.03-LTS-SP1,可通过 上传操作系统支持包 支持更多操作系统。 此处以添加单个节点进行指纹验证为例,工具对导入的节点信息校验完成后,进入节点指纹验证页面,确认节点指纹无误后,单击“确定”。
节点添加完成,确认添加节点信息无误后,单击任务名称右侧“确定”,完成配置迁移任务创建。若需要修改或删除相应节点,单击右侧“操作”项下的“修改”或“删除”对节点进行操作。单击右下角“确认”启动配置迁移任务,单击右下角“取消”,取消配置迁移任务。
进行系统配置迁移
前提条件
- 已登录 x2openEuler 工具。
- 已创建配置迁移任务。
操作步骤
在页面“全部任务”下选择已创建的配置迁移任务,单击右侧“进入任务”,进入任务详情页面。
单击节点信息右侧的“开始检查”,可对单个节点进行分析配置迁移。同时勾选多个节点,单击左上角“批量操作→开始检查”,可对多个节点启动分析配置迁移。
配置分析迁移过程分为 4 个阶段,其中任意阶段失败都会导致后续任务执行过程终止。
环境检查
环境检查用于分析 x2openEuler 工具与源目节点的连通性,验证环境信息是否正常,若环境检查无法通过,则需修改节点配置信息。
配置分析
针对源节点进行配置分析,产生配置分析报告,确认源节点可以进行迁移配置信息。配置分析报告参数详细说明请参考 表 11。
参数 说明 变化数统计 显示源节点配置项变化数、服务配置变化数、内核参数变化数、网络参数变化数、挂载参数变化数。 服务配置变化 对比源目节点服务配置变化。 内核参数变化 对比源目节点内核参数变化。 网络参数变化 对比源目节点网络参数变化。 挂载参数变化 对比源目节点挂载参数变化。 配置迁移
勾选需要迁移的配置信息,单击右下角“开始迁移”进行配置迁移。
说明: 配置迁移过程中,部分源操作系统服务或应用配置可能因其本身无法迁移而导致迁移失败,对于该部分配置内容可单击“忽略失败项”进行处理。后续可在目标操作系统上重新部署。
环境清理
配置迁移完成后建议进行业务测试,测试稳定后再执行环境清理操作,以节约环境空间。如需进行回退操作,则可以选择保留。
说明:
升级完成后,需进行业务运行验证,若业务运行正常,即可进行环境清理,以释放占用空间。 环境清理将清理备份文件并卸载 x2openEuler-client 软件。
配置迁移完成后,请在目标节点上进行业务测试,以确认业务运行正常,如需进行回退操作,可进入节点详情页面,单击右下角“回退”。
软件包评估
对源操作系统升级到目标操作系统的软件包进行评估,确保升级后业务正常运行。
前提条件
已安装 x2openEuler 工具
操作步骤
单击页面左侧“新建任务”,在下拉菜单中选择“软件包评估”。在弹出框“新建软件评估任务”界面中输入任务名称,单击确定进入评估任务界面。
单击左上角“选择软件包”,进入如 图 21 所示界面,参考 表 12 上传需要评估的软件包。
参数 说明 扫描方式 上传软件包:支持上传多个软件包,支持 elf / python / jar / shell / spec 等类型的软件包。 扫描路径:扫描 x2openEuler 安装节点上已存在的软件包。
说明:
仅支持扫描 /opt/x2openEuler/scan 路径下的文件。源操作系统 待升级节点的操作系统,默认为 CentOS 7.6,可通过上传操作系统数据库支持包支持更多操作系统。 目标操作系统 升级节点进行升级的目标操作系统,默认为 openEuler 20.03-LTS-SP1,可通过上传操作系统支持包支持更多操作系统。 系统架构 源目操作系统所依托的硬件架构。 - x86_64
- aarch64
单击“确定“,执行软件评估任务。评估完成后,工具将自动跳转至分析结果界面,分析结果分为软件依赖关系图和软件评估报告,如 图 22 所示,软件评估报告详细参数描述如 表 13 所示。
说明:
- 用户可以在软件包评估任务的列表中,单击指定已完成分析任务的任务名称查看分析报告。
- 用户可以通过软件依赖关系图,分析软件包的依赖关系及在 openEuler 系统上的替换包。
- 分析报告的名称为扫描的软件包名称和生成报告的时间组合。
参数 说明 评估结果 显示评估软件名称、源操作系统、目标操作系统、系统架构以及评估结果等评估任务信息。 操作建议 依据评估报告中的兼容性结果,提供对应解决方案建议。 依赖包兼容性 显示软件安装所需要的直接依赖以及依赖文件在各个系统上对应的 rpm 包。 - 若查询到的直接依赖的 rpm 的名字和版本都一样,会显示 版本未变更
- 若查询到的直接依赖的 rpm 的版本不一样,但接口无差异,会显示 版本有变更
- 若查询到的直接依赖的 rpm 的包名发生变化,但接口无差异,会显示 包名有变更
- 若源操作系统查到 rpm,目标操作系统没有查到,会显示 缺失
- 若源操作系统没有查到 rpm,目标操作系统有查到,或者所在包有接口变化,则会显示 需要检查
- 若源操作系统和目标操作系统都没有查到 rpm,则会放到 other 里边,并显示 需要检查
接口兼容性(C/C++) - 调用函数名称:表示被评估软件中调用的函数名称。
- 调用的接口程序:表示被评估软件中被存在差异的外部接口调用的程序。
- 结果:
- 已移除:表示缺失的接口。
- 已变更:表示函数入参,返回值,或者实现有变化
- 展开的详细信息中:
- 操作系统:表示迁移评估的系统名称。
- 函数名:接口表示。
- 文件名:表示外部接口所在的文件名。
- 依赖包:表示接口所在的外部 so 库。
- 接口差异项:表示外部接口的变化差异,如果是已移除接口,则此项为空。
接口兼容性(JDK) 表示扫描 Jar 包中调用的 jdk 接口在待迁移的系统上对应满足运行条件的最小 jdk 上发生的变更。
- openEuler jdk:openEuler 上满足 Jar 包运行环境的最小 jdk 版本。
- 对象构建 jdk:扫描 jar 包对应构建的 jdk 版本。
- jar 包名:扫描的 jar 包名称。
- 方法名:存在接口差异的方法名。
- 函数调用签名:存在接口差异的方法函数签名。
- 包名:存在接口差异的方法所在的包(packageName + className)。
- 差异项:接口差异选项。
接口兼容性(Java) Jar 接口差异主要描述了当前 jar 包接口在待迁移的系统上发生的变更。
- 调用的 jar 包:表示当前被调用的 jar 包名称。
- 所属的 rpm 包:表示当前的 jar 包所属的 rpm 包。
- 展开的详细信息中:
- centos7.6 Methods:表示 CentOS 7.6 上不兼容的接口名称。
- package:表示不兼容的接口所属的 jar 包。
- class:表示不兼容的接口所属的类。
- openEuler20.03-LTS-SP1 Change:表示不兼容的接口在 openEuler20.03-LTS-SP1 上发生的变更,这部分变更描述包含了方法的移除,方法返回参数、方法签名、方法修饰、异常等变更。
单击右下角“下载环境信息和日志”获取环境信息和日志文件,单击“导出 HTML 报告”导出当前评估任务的分析结果。
通过命令行使用 x2openEuler 工具
环境准备
下面以 CentOS 7.9 x86_64
系统为例,介绍如何将其升级为 openEuler 22.03-LTS-SP4
。
安装 x2openEuler 工具
执行
7z x x2openEuler-core-*.rpm
获取x2openEuler-upgrade
RPM 包,并上传至待升级的机器。说明: 如果机器运行的是
CentOS 6.x
,请下载x2openEuler-upgrade-for6
,其余系统使用x2openEuler-upgrade
。确保当前系统的
yum
源可用,然后安装软件包:yum install -y x2openEuler-upgrade-*.rpm
说明: 若路径下存在多个 RPM 包,请使用完整的文件名进行安装。
收集信息
执行以下命令以收集本地软件信息:
x2openEuler-client upgrade-check-collect
执行成功后,系统会生成信息文件,示例如下:
2024-10-23 16:43:37,373 - USER_ID:0 - INFO - Collect Success! The Archive file results are saved: /opt/x2openEuler-client/output/collect/collect-<uuid>.tar.gz
保存输出中的
uuid
,该信息将在后续操作中使用。在此示例中,uuid
为:d8cf5ae2-911a-11ef-a25b-00155d306854
。
软件兼容性检查
执行以下命令进行兼容性检查:
x2openEuler-upgrade-check upgrade-check \
-repo <repo 源信息> \
-o <报告输出路径> \
-target_os_name <目标系统版本> \
-os_name <当前系统版本> \
-schema 2
参数说明:
-repo <repo 源信息>
:指定目标系统的 repo 源信息。多个源用逗号分隔。 示例:http://repo.openeuler.org/openEuler-22.03-LTS-SP4/everything/x86_64/,\ http://repo.openeuler.org/openEuler-22.03-LTS-SP4/EPOL/main/x86_64/,\ http://repo.openeuler.org/openEuler-22.03-LTS-SP4/update/x86_64/ \
-o <报告输出路径>
:指定生成的兼容性报告文件输出路径。 示例:/opt/x2openEuler-client/output/collect/collect-<uuid>.tar.gz
-target_os_name <目标系统版本>
:目标系统版本号。 示例:openEuler22.03-LTS-SP4
-os_name <当前系统版本>
:当前系统版本号。可选项有:CentOS6
、CentOS7
、CentOS8
、Ubuntu
、openEuler20.03
、openEuler22.03
。
示例:CentOS7
-schema 2
:指定升级方案 2,请勿修改。
示例:
x2openEuler-upgrade-check upgrade-check \
-repo \
http://repo.openeuler.org/openEuler-22.03-LTS-SP4/everything/x86_64/,\
http://repo.openeuler.org/openEuler-22.03-LTS-SP4/EPOL/main/x86_64/,\
http://repo.openeuler.org/openEuler-22.03-LTS-SP4/update/x86_64/ \
-o /opt/x2openEuler-client/output/collect/collect-d8cf5ae2-911a-11ef-a25b-00155d306854.tar.gz \
-target_os_name openEuler22.03-LTS-SP4 \
-os_name CentOS7 \
-schema 2
升级
执行以下命令进行升级:
bash /opt/x2openEuler-upgrade/upgrade_entrance.sh upgrade \
<备份目录> <排除目录> <备份路径> <内核启动参数> <兼容性报告路径> <依赖文件路径> <当前系统版本> <临时安装路径> <repo文件路径>
参数说明:
- 备份目录:需要备份的系统目录,多个目录用逗号分隔。
示例:
/etc,/usr,/boot,/var,/opt,/bin,/sbin,/lib,/lib64
- 排除目录:备份时要排除的目录,多个目录用逗号分隔。
示例:
/var/cache,/var/tmp
- 备份路径:备份文件存放路径。
示例:
/.osbak
- 内核启动参数:升级时需要的内核参数。
示例:
crashkernel=512M,net.ifnames=0,biosdevname=0
- 兼容性报告路径:软件兼容性检查报告的路径。
示例:
/opt/x2openEuler-upgrade/output/upgrade-check/<uuid>/check_result-<uuid>.json
- 依赖文件路径:升级前生成的软件包依赖列表路径。
示例:
/opt/x2openEuler-upgrade/output/upgrade-check/<uuid>/rpm_dep-<uuid>.txt
- 当前系统版本:在
CENTOS6
、UBUNTU
和OTHERS
(适用于CentOS 7
、CentOS 8
、openEuler
等系统)中选择一项填入。 示例:OTHERS
- 临时安装路径:升级时的临时文件路径。该路径必须在
/root
、/home
、/data
、/oracle
中的某个路径下,且不能与备份路径相同。 示例:/root
- repo文件路径:指定 repo 文件路径,用于新系统的源配置。
示例:
/opt/x2openEuler/repo_files/migrate-oe2203sp4.repo
示例:
bash /opt/x2openEuler-upgrade/upgrade_entrance.sh upgrade \
/etc,/usr,/boot,/var,/opt,/bin,/sbin,/lib,/lib64 \
/var/cache,/var/tmp \
/.osbak \
crashkernel=512M,net.ifnames=0,biosdevname=0 \
/opt/x2openEuler-upgrade/output/upgrade-check/d8cf5ae2-911a-11ef-a25b-00155d306854/check_result-d8cf5ae2-911a-11ef-a25b-00155d306854.json \
/opt/x2openEuler-upgrade/output/upgrade-check/d8cf5ae2-911a-11ef-a25b-00155d306854/rpm_dep-d8cf5ae2-911a-11ef-a25b-00155d306854.txt \
OTHERS \
/root \
/opt/x2openEuler/repo_files/migrate-oe2203sp4.repo
重启
执行以下命令重启机器:
reboot
回退
升级到目标 OS 后,执行以下命令进行回退(执行成功后重启机器):
bash /opt/x2openEuler-upgrade/upgrade_entrance.sh rollback <原系统版本>
原系统版本:在 CENTOS6
、UBUNTU
和 OTHERS
(适用于 CentOS 7
、CentOS 8
、openEuler
等系统)中选择一项填入。
示例:
bash /opt/x2openEuler-upgrade/upgrade_entrance.sh rollback OTHERS