本文我们以 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% 兼容。
- 官网:https://openanolis.cn
PbootCMS
PbootCMS 是全新内核且永久开源免费的 PHP 企业网站开发建设管理系统,是一套高效、简洁、强悍的可免费商用的 PHP CMS 源码,能够满足各类企业网站开发建设的需要。系统采用简单到想哭的模板标签,只要懂 HTML 就可快速开发企业网站。
PbootCMS 系统自带完整后台以及一套响应式模板,默认采用 Sqlite 数据库,放入 PHP(7.0+~8.0-)环境即可直接使用。如果你想要使用 MySQL 数据库,则需要导入数据库文件(/static/backup/sql/xxx.sql)并修改数据库连接文件信息(/config/database.php)。本文演示的项目使用 MySQL 数据库。
- 官网:https://www.pbootcms.com
- 仓库:https://gitee.com/hnaoyun/PbootCMS
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 模块,命令如下:
$ yum remove php* -y
$ yum module install php -y
$ yum install php-mysqlnd -y
$ yum install php-gd -y
安装好之后,执行下面命令重启 Apache 服务:
$ 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 会越做越好,我国软件的生态也会越来越蓬勃!