本文我们以 PbootCMS 应用为例,详细介绍如何使用 X2Keyarch 迁移工具将其从 CentOS 系统迁移到浪潮信息 KeyarchOS 系统。
背景介绍
众所周知,CentOS 是最流行的红帽克隆版,因为免费,所以它的安装量甚至比红帽本身要大得多。本来是相安无事的,有钱的大企业用付费的 RHEL(Red Hat Enterprise Linux 的缩写),没钱的小公司就用 CentOS,相当于让 CentOS 社区测试、找 Bug、解 Bug,最终回馈到 Red Hat。
然而,红帽作为一家上市公司,在2019年被 IBM 以 340 亿美元的高价收购,成为当年开源界的大瓜。自从被收购以后,IBM 管理层觉得克隆版对红帽的生意有太大冲击了,于是他们又收购了 CentOS,并宣布 CentOS 8 将于 2021 年底结束,而 CentOS 7 将在其生命周期结束后停止维护,以后只有自家的测试版 CentOS Stream。
事情发生后在国内外引起了轰动,由于 CentOS 是许多企业服务器操作系统的首选,大家纷纷寻找解决方案。首先是 CentOS 创始人 Gregory Kurtzer,第一时间宣布创建 Rocky Linux。与此同时,国内市场诞生了两家开源操作系统上游社区 ------ OpenEuler(欧拉)和 OpenAnolis(龙蜥)。而我们今天的主角 KeyarchOS 就是一款基于 OpenAnolis 的服务器操作系统。
名词解释
KeyarchOS
KeyarchOS(简称 KOS,中文"云峦")是浪潮信息基于 Linux Kernel、OpenAnolis 等开源技术自主研发的一款服务器操作系统。历经近 10 年的研发,支持 x86、 ARM、 Power 主流架构处理器,性能和稳定性居于行业领先地位。并面向行业提供服务器操作系统解决方案,具备成熟的 CentOS 迁移和替换能力。

KeyarchOS 可广泛应用于大数据、云计算、人工智能、海量存储等应用场景,支持光盘、U 盘、PXE 等安装方式,可部署在用户物理裸机服务器、虚拟机和容器等环境,同时为用户提供部署、升级和迁移方案,以及完整的生态支持和专业的技术保障。目前主要用在政务、金融、通信等行业。
OpenAnolis
OpenAnolis(中文"龙蜥")是由阿里云公司、统信软件、主流芯片厂商等联合发起成立理事会。联合开发 Anolis OS 社区版本作为对 CentOS 的替代,并实现对 CentOS 8 系统的生态 100% 兼容。
PbootCMS
PbootCMS 是全新内核且永久开源免费的 PHP 企业网站开发建设管理系统,是一套高效、简洁、强悍的可免费商用的 PHP CMS 源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂 HTML 就可快速开发企业网站。
PbootCMS 系统自带完整后台以及一套响应式模板,默认采用 Sqlite 数据库,放入 PHP(7.0+~8.0-)环境即可直接使用。如果你想要使用 MySQL 数据库,则需要导入数据库文件(/static/backup/sql/xxx.sql)并修改数据库连接文件信息(/config/database.php)。本文演示的项目使用 MySQL 数据库。
X2Keyarch
X2Keyarch 是浪潮信息官方提供的可视化迁移工具,可以对软硬件及系统配置给出全方位分析,其原地升级技术将存量 CentOS 7 系统批量统一升级至 KeyarchOS 操作系统,升级后系统参数无需重新配置,同时针对客户业务系统与底层操作系统关联较大的特点,KeyarchOS 对原地迁移工具做了深度优化,经过逻辑调整、自定义开发,从而保证业务系统平滑迁移。
迁移方案说明
面对 CentOS 迁移替换需求,浪潮信息为行业用户提供了从环境调研、迁移评估、迁移验证、迁移实施到运行监控"五步走"的一站式解决方案:
- 环境调研:包括盘点客户环境情况、操作系统版本、业务架构、开发语言、集成/供应商梳理、硬件梳理;
- 迁移评估:包括 100% 自动化系统风险评估、100% 自动化硬件兼容性识别、100% 自动化系统配置评估、100% 自动化系统软件评估;
- 迁移实施:一键系统备份/紧急还原,一键批量自动化迁移,且迁移过程 100% 透明,可追溯;
- 迁移验证:全生命周期管理、监控运维,确保业务 100% 可靠运行,智能化全栈性能调优,安全漏洞修复;
- 系统维护:提供 700+ 深度监控数据、10+ 种运维工具、10+ 年积累的专家知识库、100% 无缝连接云端运维服务。
其中,后四步全部集成在 X2Keyarch 可视化迁移工具。
本次实验,我们将通过 X2Keyarch 原地升级技术,将云服务器从 CentOS 7.6 平滑迁移到 KeyarchOS 5.8,升级后系统参数无需重新配置即可启动原来运行在 CentOS 上的 PbootCMS 应用。如果你有多台云服务器,还可以将存量 CentOS 系统批量升级至 KeyarchOS 操作系统,极大地提高了迁移效率,降低了客户的迁移成本。
迁移前验证
浏览器输入 PbootCMS 应用的域名或 IP 地址(这里是 101.43.137.144
),可以看到的当前的网站内容,如下所示:

PbootCMS 后台默认访问路径是 http://域名/admin.php
,输入管理员账号和密码,可以登录到后台。此时,你可以新建并发布文件,一切都是正常的。注意:迁移后我们需要验证 PbootCMS 后台的所有功能是否正常。

我们还可以通过 SSH 登录部署 PbootCMS 应用的云服务器(IP 地址:101.43.137.144),查看当前的系统信息。可以看到,当前 Linux 系统发行版是 CentOS 7.6 版本。

迁移过程
登录浪潮信息 KOS 迁移平台
打开网页浏览器,输入管理员账号和密码,登录浪潮信息 KeyarchOS 迁移平台。当前使用的是最新的 X2Keyarch 操作系统迁移软件 V2.0 版本。

登录进入首页后,会显示你所管理的主机列表,可对主机进行编辑、删除、远程连接等操作。

在"主机发行版本"一列,可以看到该主机当前运行的操作系统,例如 CentOS 或者 KeyarchOS 。
迁移评估
为了确保安全,在迁移之前我们需要先进行迁移评估。不要被这个名字吓到,迁移评估其实很简单!
首先,点击 X2Keyarch 上方菜单栏"操作系统迁移 -> 迁移评估",进入迁移评估页面。

选择你要迁移的主机(这里是 101.43.137.144
),选择迁移的目标系统版本(这里是 KOS 5.8),Repo 配置选择"公网地址"。
选择评估部分,风险评估是必选的,同时建议勾上"系统评估"和"硬件评估"。其中,系统评估为评估系统配置信息与 KeyarchOS 系统是否兼容,硬件评估可评估系统下硬件与 KeyarchOS 系统是否兼容。

点击"开始评估"按钮即可启动评估流程,可通过列表中的"评估进度"一列查看进度。评估时间与系统性能及服务多少有关,我这里大概花了 10 分钟。

当评估进度为 100% 后,即可点击右边的"查看报告"查看评估结果。包括迁移风险评估、系统配置评估、硬件评估三部分。

提示:此处的高风险项无需关注,并不影响迁移,只有 inhibitor 的选项会影响迁移。
迁移实施
评估没问题后,就可以开始迁移了。点击上方菜单栏"操作系统迁移 -> 迁移实施",打开迁移实施页面。

在左侧主机列表找到要迁移的主机,点击"批量实施"按钮。

在弹出的对话框中,设置主机、迁移版本等信息,如下所示。备份配置选择不备份,主要原因是本次迁移的服务器来自于云服务器,配置较低,如果开启备份的话会很慢。

点击确定,左侧部分会有迁移进度。迁移过程需要耐心等待,你可以休息喝杯茶~

等进度到 100% 后,表示迁移完成,此时可以看到主机信息中的系统版本已经变为 kos5.8 啦!
迁移后验证
迁移完成后,SSH 登录到服务器后台,查看系统版本信息。可以看到已经从 CentOS 7.6 变成 KOS 5.8。

打开浏览器,再次访问 PbootCMS 应用,按 Ctrl+R 刷新网页,可以看到网页访问是正常的。

但是,当我们切换到 PbootCMS 后台时,发现出现错误,无法登录后台。

解决办法是重新安装部分 PHP 模块,命令如下:
bash
$ yum remove php* -y
$ yum module install php -y
$ yum install php-mysqlnd -y
$ yum install php-gd -y

安装好之后,执行下面命令重启 Apache 服务:
bash
$ systemctl restart httpd
浏览器打开 http://101.43.137.144/admin.php
,重新登录 PbootCMS 后台。经检查,迁移前的所有文章都还在,新建、发布等功能均正常,本次迁移完成。

小结
本文以 PbootCMS 应用为例,给大家演示了如何快速将服务器系统从 CentOS 迁移至 KeyarchOS 系统。在过去,服务器系统迁移是一件非常繁琐的工作,但是今天我们使用 X2Keyarch 迁移工具,非常轻松地完成从 CentOS 到 KeyarchOS 的迁移。感谢像浪潮信息这样的云服务商,为我们提供可靠、高效的工具,让迁移工作和系统运维变得更加简单。真心感慨云计算时代给我们带来的便捷。
不过呀,整个迁移过程体验下来,其实还是有一些不足的地方。首先是用户体验方面,无论是迁移评估还是迁移实施,都需要一段时间,但是在此期间进度条显示颗粒度不够,导致可能会在 0%、33% 等位置停留很久,如果能够细化颗粒度、增加预估剩余时间,会更加友好一些。然后是迁移报告不够详细,对于一些高风险的项,并没有给出操作建议,以及明确是否满足迁移条件的信息。另外,虽然操作流程并不复杂,但对于新手来说还是有些疑惑,比如是否需要勾选某些选项、是否启用备份等等,如果能在选项旁边增加一些提示信息,说明不同选项的区别,引导用户做出合适的选择会更好。最后,在迁移完成后,我们切换到 PbootCMS 后台时出现无法登录的情况,需要重新安装部分 PHP 模块才能解决,说明 KeyarchOS 系统迁移工作并没有做到十分完美,仍然存在一些兼容性问题。
最后,如果你还在使用 CentOS,担心停服后面临的各种问题,不妨试一下浪潮信息 KeyarchOS 系统。相信越多人使用,KeyarchOS 会越做越好,我国软件的生态也会越来越蓬勃!