CentOS to KeyarchOS 系统迁移体验
1. KOS(KeyarchOS)——云峦操作系统简介
KeyarchOS 即云峦操作系统(简称 KOS)是浪潮信息基于 Linux 内核、龙蜥等开源技术自主研发的一款服务器操作系统,支持x86、ARM 等主流架构处理器,广泛兼容传统 CentOS 生态产品和创新技术产品,可为用户提供整套可视化 CentOS to KeyarchOS 迁移方案。KeyarchOS 是一款面向政企、金融等企业级用户的 Linux 服务器操作系统,面向行业提供服务器操作系统解决方案。其在 OpenAnolis 社区版的基础上,加入自主研发的软件,其稳定性、安全性、兼容性和性能等核心能力均已得到充分验证。
KeyarchOS 具备稳定可靠、高效软硬件协同、全天候运维、安全可信等特性,增强了对云计算、人工智能等场景的支持,性能稳定性领先,生态完善,符合金融、政务、能源、交通、通信、教育、医疗等关键行业的应用要求。在服务器操作系统领域,从最早的 KUX 开始,浪潮信息已经有 10 余年的研发和技术经验,相关产品在关键行业广泛应用,支持光盘、U 盘、PXE 等安装方式,可部署在用户物理裸机服务器、虚拟机和容器等环境,同时为用户提供部署、升级和迁移方案,以及完整的生态支持和专业的技术保障,累计装机超 20 万台。

2. 迁移背景
目前大部分企业中还仍然使用 CentOS 7 作为主要开发使用的操作系统,而官方已公布 CentOS 7 将于 2024 年 6 月停止更新,在国家大力发展操作系统背景下,近年来中国操作系统通用市场规模(亿元)同比增长超 20%。


目前主流国产服务器操作系统厂商均抛弃 CentOS 技术路线,选择受国家级专项支持的龙蜥和欧拉社区。
而本文介绍的 KeyarchOS 操作系统是基于龙蜥社区的 OpenAnolis 社区版基础上,加入自主研发的软件衍生而来,同时面临 CentOS 的停更背景下,KeyarchOS 的操作系统迁移工具 X2Keyarch 应运而生,如下图为 X2Keyarch 迁移工具的功能架构图,主要功能包含主机管理、迁移评估、迁移实施,在此工具的加持下能够在保留原系统的环境下快速、安全、便捷的从 CentOS 系统迁移至 KeyarchOS 系统。

3. 使用 X2Keyarch 迁移操作系统
此处所使用的操作系统为 CentOS 7 并在其上部署了用于验证系统迁移的开源软件,迁移工作的大致流程为:
- 迁移前检验原系统的所有功能;
- 使用 X2Keyarch 对该主机进行迁移评估;
- 若不存在影响迁移的风险后,使用 X2Keyarch 对该主机进行操作系统迁移;
迁移完成后验证迁移后的操作系统原有的所有功能是否正常。
3.1. 迁移前的系统功能查看
当前迁移的系统为 CentOS 7,当前家目录的目录结构如下。

其系统基本信息如下,可以看到当前系统为 CentOS Linux 7。

在该系统上部署了开源的 blog 平台 wordpress,下面是在待迁移系统的 CentOS 7 中打开该 blog 平台,并发布了一篇测试使用的博客。

3.2. 对待迁移主机进行迁移评估
进入安装好的浪潮信息 KeyarchOS 迁移工具平台。

主页面可以看到由 X2Keyarch 工具管理的主机集群。

迁移前首先需要使用迁移工具进行整体评估,评估当前系统是否存在迁移风险。进入“操作系统迁移/迁移评估”页面,选择待迁移的主机,点击“开始评估”即可进行迁移评估。
[注]:根据机器性能不同评估所用时间不同,一般性能机器评估时间相对较长需耐心等待。(一般大约10mins)

等待“评估进度”到 100% 则表示评估工作完成,同时生成相应的评估报告。

点击“查看报告”可查看评估后的各项详情内容以及由评估工具提出的相应操作建议。点击不同的评估项可切换到不同的报告内容,即使未评估完成或者评估失败,也可以查看某⼀项已经评估完成的内容。
3.3. 迁移风险评估板块
评估工具会扫描所有可能会影响系统迁移的配置项并给出风险等级评定和执行的操作建议,以供使用者快速查看在当前环境下迁移会造成什么影响。
| 评估报告 | 参数 | 说明 |
|---|---|---|
| ⻛险评估 | ⻛险项 | 迁移过程中可能出现的⻛险问题 |
| ⻛险 | ⻛险等级 | |
| 建议操作 | 可按照该操作处理当前⻛险 | |
| 评估结果 | 如果不存在阻塞迁移的⻛险,则评估通过,如果存在阻塞迁移的⻛险,则需要用户手动介⼊处理⻛险。 |

[注]:这里的建议操作中的 hint 项并不会影响迁移工作(即便是高风险),只有高风险出现 inhibitor 的提示才会对迁移有影响。
3.4. 系统配置评估板块
评估工具会扫描系统当前的环境变量、系统服务、内核配置等信息,并根据扫描结果展示当前系统环境的状态以及评估结果。
| 评估报告 | 参数 | 说明 |
|---|---|---|
| 系统评估 | 环境变量 | 展示系统环境变量及其评估结果 |
| 系统服务 | 展示系统服务状态及其评估结果 | |
| 系统命令 | 展示系统命令列表及其评估结果 | |
| 内核模块 | 展示内核模块列表及其评估结果 | |
| 系统调用 | 展示系统调用列表及其评估结果 | |
| 内核启动参数 | 展示内核启动参数及其评估结果 | |
| 内核动态配置 | 展示内核动态参数及其评估结果 | |
| 内核静态配置 | 展示内核静态参数及其评估结果 | |
| KABI | 展示KABI接口列表及其评估结果 |

[注]:一般此处的缺失表示当前系统该项未配置,并不影响迁移工作。
3.5. 硬件评估板块
评估工具会扫描主机的基本物理信息,包含各类板卡信息、驱动信息等。
| 评估报告 | 参数 | 说明 |
|---|---|---|
| 硬件评估 | 整机信息 | 被评估主机的⼀些基本物理硬件信息 |
| 设备名称 | 主机包含的板卡的设备名称 | |
| bdf 、vid、did 、svid、sdid | 板卡硬件各类ID信息 | |
| 驱动评估结果 | 基于驱动信息评估的结果, 支持表示存在支持该板卡的驱动 | |
| 操作 | 点击可跳转到龙蜥兼容适配网站进行自主验证 |

3.6. 迁移实施
当判断评估结果不存在影响迁移任务时即可进入 “操作系统迁移/迁移实施”页面,进行下一步的具体迁移工作。

点击“批量实施”,然后选择“主机列表”中所需要进行迁移的主机,实施过程支持“NFS备份”。

完成后点击“确定”,便开始迁移系统,等待左侧主机列表选择的迁移主机进度条到 100% 则说明迁移完成。

3.7. 迁移后的系统功能验证
首先查看当前用户的目录结构,可以看出迁移不会影响用户目录结构。

再查看系统发行基本信息,可以看到已经变成KOS5.8,说明已经迁移完成。

再来验证原系统上部署的 wordpress 博客平台可以正常打开,原有内容也正常显示,说明迁移不会影响原系统部署的应用软件。

4. 迁移小结
通过对迁移后的操作系统的基本功能的验证,并与原系统对比,没有发现异常现象,原有系统使用的软件,在迁移完成后也能够正常使用,相应的目录结构、系统服务、环境变量等配置均已成功迁移,使用体验上与原系统并没有太大的差别,总体来讲迁移工作完成的很成功。

5. 整体的亮点
在使用 X2Keyarch 迁移工具完成整体的操作系统迁移工作是非常便捷的,该工具最大的亮点在同时兼备主机集群化管理和批量迁移评估与实施,既能便捷的管理大批量主机系统,又同时能保证迁移系统的安全性、可靠性以及时效性。而其中的日志管理功能,为用户提供所有操作产生的日志,在提供一键式操作的同时又通过日志的方式将所有的操作展示出来,使得所有操作对用户都是透明化的,让用户可以更加信任这样的工具。

6. 建议与意见
整体而言 X2Keyarch 工具做的非常不错,但在迁移风险评估完成后,希望能够增加一键式的风险处理操作,这样可以使用户更方便的处理大批量带有迁移风险问题的主机。同样的,在迁移实施完成后,希望能够增加一个迁移完成度(系统恢复程度)以及迁移结果校验或评估的功能,这样对于大批量的系统迁移完成后,能够以最短的时间了解到所有系统的软件环境完整程度和原系统功能的完备性。
#附
此处附上迁移实施过程产生的日志,其中记录了迁移实施过程中的所做的动作,包含遍历检查当前系统软件和软件依赖、更新软件源、安装KeyarchOS 内核、重启系统等工作,感兴趣的小伙伴可以展开详细查看。
具体见连接:https://c1cuonktlx8.feishu.cn/docx/XF7udU6WfoKGEzxWv9bcLiE7nCb
相关文章:
CentOS to KeyarchOS 系统迁移体验
1. KOS(KeyarchOS)——云峦操作系统简介 KeyarchOS 即云峦操作系统(简称 KOS)是浪潮信息基于 Linux 内核、龙蜥等开源技术自主研发的一款服务器操作系统,支持x86、ARM 等主流架构处理器,广泛兼容传统 CentOS 生态产品和创新技术产品,可为用户…...
如何从零开始制作一本企业宣传画册?
最近公司领导要求为公司制作一本企业宣传画册,用来展示我们的产品和服务,增加品牌影响力。可是,像我这种零基础的小白,完全不知道如何制作啊?对此我感到很焦虑,怕做不好影响公司形象,也怕耽误时…...
Android问题笔记四十六:解决open failed: EACCES (Permission denied) 问题
点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列点击跳转>ChatGPT和AIGC 👉关于作者 专…...
Universal adversarial perturbations(2017 CVPR)
Universal adversarial perturbations----《普遍对抗扰动》 通俗UAP算法步骤理解:对于 x i ∈ X {x_i} \in X xi∈X 的每个采样数据点,比较 k ^ ( x i v ) \hat k({x_i} v) k^(xiv) 与 k ^ ( x i ) \hat k({x_i}) k^(xi) ,如果 k…...
前台查看日志功能
前台 <template><div id="logContent"><div class="onlinlog"><div class="left"><div class="number">显示字符数:<span><el-selectv-model="strNumber"placeholder="50000…...
mysqlbinlog使用记录
首先要确认mysql启用了binlog功能。一般默认启用。 mysql> select log_bin; ----------- | log_bin | ----------- | 1 | ----------- 然后确认binlog目录 mysql> select log_bin_basename; ---------------------------- | log_bin_basename | -----…...
学习c#的第十八天
目录 C# 文件的输入与输出 C# I/O 类 FileStream 类 文本文件的读写 StreamReader 类 StreamWriter 类 实例 二进制文件的读写 BinaryReader 类 BinaryWriter 类 实例 Windows 文件系统的操作 DirectoryInfo 类 FileInfo 类 实例 C# 文件的输入与输出 一个 文件…...
element + vue3,级联选择器实现省市区
由于es6支持哈希,所以数据量只要不太大,就不需要对el-cascader进行点击后在调接口出现下一级,很简单的就是直接获取所有数据。 <template><div><el-cascader :modelValue"modelValue" :props"innerProps"…...
程序员的护城河-并发编程
👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码🔥如果感觉博主的文章还不错的话,请👍三连支持&…...
外卖小程序系统:数字化餐饮的编码之道
在当今数字化时代,外卖小程序系统成为了餐饮业的一项技术巨制。这个系统不仅提供了便捷的点餐体验,更通过先进的技术手段,实现了高效订单处理、实时配送追踪以及个性化推荐。让我们深入了解外卖小程序系统的技术魔法,一起揭秘数字…...
单链表相关面试题--1.删除链表中等于给定值 val 的所有节点
/* 解题思路:从头节点开始进行元素删除,每删除一个元素,需要重新链接节点 */ struct ListNode* removeElements(struct ListNode* head, int val) {if(head NULL)return NULL;struct ListNode* cur head;struct ListNode* prev NULL;while…...
一生一芯18——Chisel模板与Chisel工程构建
Chisel模板链接如下: 链接: https://pan.baidu.com/s/1DNDKpz5VnTxPgoZBBOd-Ww?pwdrevg 提取码: revg Chisel转Verilog模板如下: 链接: https://pan.baidu.com/s/1T9JQL5BccxqI4bscfU-JyA?pwd7rw2 提取码: 7rw2 以下使用sbt作为构建工具 Chisel项目构…...
ES6 class类
基本介绍 1. constructor constructor()方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。 一个类必须有constructor()方法,如果没有显式定义,一个空的constructor()方法会被默认添加。如: class Po…...
Java的IO流-打印流
打印流 PrintStream public void println()自动换行 PrintWriter package com.itheima.println;import java.io.FileInputStream; import java.io.PrintStream; import java.io.PrintWriter;public class Test2 {public static void main(String[] arg…...
如何使用$APPEALS法,分析用户期待?
$APPEALS分析法是一种用于分析用户期待和需求的方法,它可以帮助企业全方位多角度地了解客户对产品的期望,有助于企业多维度有侧重地调整市场规划和产品改进策略,帮助企业打造优势产品,提高市场竞争力。 下面是使用$APPEALS分析法来…...
南京工程学院数据结构考试纲要
...
C++中将 sizeof() 用于类
C中将 sizeof() 用于类 您知道,通过使用关键字 class 声明自定义类型,可封装数据属性和使用数据的方法。运算符 sizeof( )用于确定指定类型需要多少内存,单位为字节。这个运算符也可用于类,在这种情况下,它将指出类声…...
Android studio访问选程https接口(.crt handshake)
如果服务器是https的,访问受限怎么办?有两种方法,一种是接受一切证书个人官方正式非正式,当然这样就牺牲了安全性,网上方法很多,我现在教大家如何去验证crt文件 首先服务器是https的,必然有几个…...
设计模式(一)-设计原则(1)
六大设计原则 1、单一职责原则 特点: 类和方法属性等,都应当遵守单一职责。尽可能保持统一性,单一性。 含义: (1)统一性,定义一个模块就必须要符合所有对象的行为特征。比如声明一个 Animal 类…...
Linux|僵死进程
1.僵死进程产生的原因或者条件: 什么是僵死进程? 当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程. 简而言之,就是子进程先结束,并且父进程没有获取它的退出码; 那么僵死进程产生的原因或者条件就是:子进程先于父进程结束,并且父进程没有获取…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
