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.僵死进程产生的原因或者条件: 什么是僵死进程? 当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程. 简而言之,就是子进程先结束,并且父进程没有获取它的退出码; 那么僵死进程产生的原因或者条件就是:子进程先于父进程结束,并且父进程没有获取…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
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": …...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
