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做的事情:查询和更新数据。 …...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
