CentOS to 浪潮信息 KeyarchOS 迁移体验与优化建议
浪潮信息KeyarchOS简介
KeyarchOS即云峦操作系统(简称KOS), 是浪潮信息研发的一款面向政企、金融等企业级用户的 Linux 服务器操作系统。它基于Linux内核、龙蜥等开源技术,支持x86、ARM 等主流架构处理器,其稳定性、安全性、兼容性和性能等核心能力均已得到充分验证。另外,其广泛兼容传统CentOS 生态产品和创新技术产品,可为用户提供整套可视化 CentOS to KeyarchOS 迁移方案。具体兼容能力,如下图所示:

测试背景:
CentOS是一款基于RHEL(Red Hat Enterprise Linux)的免费开源操作系统,以其优异的稳定性与兼容性得到了众多企业的青睐。然而,CentOS已经宣布停止更新和支持。CentOS Linux 8 已于2021年年底停止服务;2024年6月30日,官方对 CentOS Linux7 的支持亦将终止。因此,这些大量使用CentOS系统的企业都将面临一次操作系统的更换。多种操作系统脱颖而出。今天我们就来体验一下CentOS系统迁移至KeyarchOS系统的过程,看看这一款操作系统的迁移与使用效果。
X2Keyarch
为了实现系统的高效迁移,浪潮信息提供了一个迁移工具:X2Keyarch,它是一款可以帮助用户自动化完成CentOS系统向KeyarchOS系统的迁移工具,今天我们重点体验一下该软件的功能。
测试过程:
本次体验将把CentOS操作系统迁移至KeyarchOS操作系统,其上部署的是某安全厂商的身份认证系统,此应用的部署主要以Tomcat、Mysql为主。测试步骤如下:
迁移前,查看原系统基本信息,查看应用状态是否正常。
使用X2Keyarch工具迁移原CentOS系统至KeyarchOS系统,体验迁移过程。
迁移后,查看新系统基本信息,查看应用状态是否正常。
测试的环境已经准备好了,那么现在开始咱们的迁移体验。
迁移前系统验证
通过终端,SSH登录测试用源主机,查看源主机的基本信息:
查看操作系统版本,是CentOS7.9。

文件系统,比较小,比较简单。

硬盘大小,60G,也很小。

内存,2G。

CPU,2vcpu。

源云主机配置是1vcpu,2G内存,60G硬盘,总体来看,是一个供测试使用的配置很低的虚机。
下面查看应用状态,使用浏览器访问身份认证系统网址,登录验证。

输入用户名与密码,进入系统后,点击HOME,可以查看系统的授权和版本情况。
再点击测试一下其他菜单,可以看的出这是一个新部署的应用,还没有纳管资源。但是基本功能都是正常可用的。
使用X2Keyarch工具迁移
直接在浏览器中输入X2Keyarch访问地址,输入用户名、密码和验证码,点击登录即可。
登录后,打开主机管理界面,找到目标源主机,如下图所示:

主机名称test,状态运行中,ip是58.87.70.178。然后点击菜单栏选择“操作系统迁移-迁移评估“
选择主机:58.87.70.178
迁移版本默认为:KOS5.8
Repo配置选择:公网地址
选择评估部分,要同时选择“系统评估”和“硬件评估”,系统评估功能将评估源系统配置与KeyarchOS系统是否兼容,硬件评估可评估系统下硬件与KeyarchOS系统是否兼容。


这里有个不好的体验,评估状态一直是“评估中”,时间太久以至于我一度以为是出故障了。请看截图中的时间,过了5分钟才看到评估进度有变化。这种进度条长时间无变化,无提示的状态在后面迁移过程中也会出现,希望官方有所优化。
评估进度为100%后,可点击后边的查看报告(评估时间大概10分钟),此处的高风险项无需关注,并不影响迁移,只有inhibitor的选项会影响迁移。

点击菜单栏中:操作系统迁移-迁移实施。主机选择58.87.70.178;Repo配置选择公网地址;备份配置选择不备份。此处选择不备份,原因是本次迁移的服务器来自于云服务器,配置较低,备份会很慢。

点击确定,左侧部分会有迁移进度,等进度到100%后,表示迁移完成。迁移的过程比较漫长,大概35分钟。

迁移完成后,SSH连接系统并查看系统版本变为KOS5.8。

迁移后功能验证
查看应用状态,使用浏览器访问身份认证系统网址,登录验证。
页面正常显示,点击一下各个菜单,流畅丝滑。当然了,也是因为没有业务压力的原因。可见,迁移前后系统正常,Tomcat和Mysql等应用插件迁移成功。
体验总结
测试过程很顺利,根据操作手册可以非常顺畅的完成。除了评估过程进度条不友好,让人以为出问题;受公网网络的影响,迁移过程太慢,让我以为断网了,都还是比较顺畅的。
整个过程只是功能测试,初步的体验一下KeyarchOS系统与X2Keyarch迁移工具。KeyarchOS系统使用还是很流畅稳定的,使用方式与CentOS没有明显区别,可以让用户无感知过渡。X2Keyarch工具使用起来也很方便,与人工通过镜像导入导出的迁移的方式相比,实在是太方便了。它为用户提供了简单而可靠的解决方案,用于将现有的应用程序和数据从旧的系统迁移到新的系统上。云主机迁移过程中的难点,比如程序代码、数据库与中间件的迁移,X2Keyarch都可以完美实现,确保迁移过程的完整性和一致性。但是这次体验只是浅尝辄止,测试系统没有业务压力,也没有业务连续性的要求,结合实际应用情况的迁移效果,还需要进一步的验证。
改进建议
X2Keyarch迁移工具是一款非常高效好用的主机迁移工具,但有些地方也需要优化。
主机迁移过程中信息不够清晰,迁移前主机配置信息,在迁移后就看不到了,页面上只有新的主机信息,不便于追溯。
迁移过程中的进度条显示太不友好,很让人怀疑是过程中断了,需要添加提示,让用户耐心等待。
这次测试的迁移速度可能是受公网网络的影响,与实际生产环境的迁移相比,太慢了。60G的虚机迁移需要35分钟,一般实际生产环境的300G的主机大概迁移20分钟。当然,这个受实际硬件条件限制,尤其是网络带宽。
本次测试的云主机是在intel的硬件环境上运行的,对信创硬件环境(海光、鲲鹏等cpu)的主机迁移功能还有待验证。
总体来说,浪潮信息X2Keyarch迁移工具是一款高效好用的主机迁移工具,在CentOS停服后的系统替换进程中将会发挥重要的作用。
相关文章:
CentOS to 浪潮信息 KeyarchOS 迁移体验与优化建议
浪潮信息KeyarchOS简介 KeyarchOS即云峦操作系统(简称KOS), 是浪潮信息研发的一款面向政企、金融等企业级用户的 Linux 服务器操作系统。它基于Linux内核、龙蜥等开源技术,支持x86、ARM 等主流架构处理器,其稳定性、安全性、兼容性和性能等核心能力均已…...
Go解析soap数据和修改其中数据
一、解析soap数据 package main import ("fmt" "encoding/xml" ) type Envelope struct { XMLName xml.Name Header Header } type Header struct { XMLName xml.Name xml:"Header" Security Security xml:"Security" } type Secu…...
LeetCode98. Validate Binary Search Tree
文章目录 一、题目二、题解 一、题目 Given the root of a binary tree, determine if it is a valid binary search tree (BST). A valid BST is defined as follows: The left subtree of a node contains only nodes with keys less than the node’s key. The right sub…...
【LeetCode】206. 反转链表
206. 反转链表 难度:简单 题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输…...
飞天使-通过GET 和POST进案例演示
文章目录 GETPOST GET def index(request):# 在url中获取学号sno request.GET.get("sno", None)print("学号为:",sno)# 判断学号如果有值,执行查询if sno:results get_student_by_sno(sno)# 展示在页面return render(request, ind…...
【MySql】12- 实践篇(十)
文章目录 1. 为什么临时表可以重名?1.1 临时表的特性1.2 临时表的应用1.3 为什么临时表可以重名?1.4 临时表和主备复制 2. MySql内部临时表使用场景2.1 union 执行流程2.2 group by 执行流程2.3 group by 优化方法 -- 索引2.4 group by 优化方法 -- 直接排序 3. Me…...
<C++> 反向迭代器
我们知道正向迭代器的设计:begin迭代器指向第一个数据,end迭代器指向最后一个数据的下一个位置 。移向下一个数据,解引用得到数据的值,并根据容器储存方式的不同,容器有不同类型的迭代器。 注意:rbegin迭代…...
【EI会议征稿】第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024)
第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024) 2024 3rd International Conference on Cyber Security, Artificial Intelligence and Digital Economy 第三届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2024&#…...
格力报案称“高管遭自媒体侮辱诽谤”
我是卢松松,点点上面的头像,欢迎关注我哦! 王自如的一番话引来了众多围攻,格力已报警,高管遭到侮辱诽谤。这应该是近年来少见的大企业和网络大v之间公开翻脸互撕的场景了! 就在今天格力就高管遭自媒体侮辱诽谤报案。…...
HBase之Compaction
目录 Compaction触发条件相关参数 文件选取策略ExploringCompactionPolicy常见优化 Compaction 随着memstore的不断flush,storefile的数量将会不断增加。compaction将通过合并storefile来减少文件数量,并提高读性能。conpaction以store为单位 Compacti…...
设计模式之结构型模式
这些模式关注对象之间的组合和关联方式,以便形成更大的结构和功能。 适配器模式(Adapter Pattern)桥接模式(Bridge)装饰器模式(Decorator)组合模式(Composite)外观模式&a…...
centOs 6.10 编译 qt 5.15.11
安装依赖库 xcb 依赖库 qt xcb 需要的依赖 如何要用 x11, 就要在编译的时候加上 -xcb 选项,就要安装 xcb 相关的库。 到时可以在 config.log 文件查看,缺少哪个库就安装哪个。 下面是我手动安装的库和对应版本: xcb-proto-1.14.tar.gz x…...
Redis对象的数据结构及其原理汇总
本文首发于公众号:Hunter后端 原文链接:Redis对象的数据结构及其底层实现原理汇总 当我们被问到 Redis 中有什么数据结构,或者说数据类型,我们可能会说有字符串、列表、哈希、集合、有序集合。 其实这几种数据类型在 Redis 中都由…...
@RestController 注解网页返回 [] ,出现的bug
RestController 注解网页返回 [] ,出现的bug RestController RequestMapping("emp") public class EmployeeController {Autowiredprivate EmployeeService employeeService;GetMapping("find")public List<Employee> find(){List<Employee> …...
C语言指针详解(1)(能看懂字就能明白系列)文章超长,慢慢品尝
目录 1、内存和地址 2、指针简介 与指针相关的运算符: 取地址操作符(&) 解引用操作符(间接操作符)(*) 编辑 指针变量的声明 指针变量类型的意义 指针的基本操作 1、指针与整数相加…...
为什么别人年薪30W+?同样为测试人,“我“的测试之路...
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、软件测试员&am…...
【Unity】XML文件的解析和生成
目录 使用XPath路径语法解析 使用xml语法解析 XML文件的生成 XML文件是一种常用的数据交换格式,它以文本形式存储数据,并使用标签来描述数据。解析和生成XML文件是软件开发中常见的任务。 解析XML文件是指从XML文件中读取数据的过程。在.NET中&#…...
Vue h5页面手指滑动图片
场景: 四张图,要求随着手指滑动而滑动 代码: imgs是父盒子 poster-item是每个图片 .imgs {white-space: nowrap;overflow: hidden;overflow-x: auto;margin-bottom: 17px;.poster-item {display: inline-block;vertical-align: middle;wid…...
Python类属性下划线的意义
在Python中,类属性(class attribute)前面带有下划线的命名约定有一些特殊的含义,但它并不会影响属性的实际行为。这是一种命名约定,用于指示属性的用途和访问级别。以下是一些常见的下划线命名约定: 1. 单…...
DbUtils概述
概述 JDBC实用工具组件 Commons DbUtils库是一个小的类集,旨在使使用JDBC更容易。JDBC资源清理代码是平凡的,容易出错的工作,所以这些类从代码中抽象出所有的清理任务,留给你真正想用JDBC做的事情:查询和更新数据。 …...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
