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.僵死进程产生的原因或者条件: 什么是僵死进程? 当子进程先于父进程结束,父进程没有获取子进程的退出码,此时子进程变成僵死进程. 简而言之,就是子进程先结束,并且父进程没有获取它的退出码; 那么僵死进程产生的原因或者条件就是:子进程先于父进程结束,并且父进程没有获取…...

Vue-Leaflet地图组件开发(三)地图控件与高级样式设计
第三篇:Vue-Leaflet地图控件与高级样式设计 1. 专业级比例尺组件实现 1.1 比例尺控件集成 import { LControl } from "vue-leaflet/vue-leaflet";// 在模板中添加比例尺控件 <l-control-scaleposition"bottomleft":imperial"false&qu…...

【Linux】Ubuntu 创建应用图标的方式汇总,deb/appimage/通用方法
Ubuntu 创建应用图标的方式汇总,deb/appimage/通用方法 对于标准的 Ubuntu(使用 GNOME 桌面),desktop 后缀的桌面图标文件主要保存在以下三个路径: 当前用户的桌面目录(这是最常见的位置)。所…...
Linux环境-通过命令查看zookeeper注册的服务
假设前置条件如下: 1.root权限用户名:zookeeper 2.zookeeper所在服务器地址:168.7.3.254(非真实ip) 3.zookeeper的bin文件路径:/opt/zookeeper/bin 4.确保zookeeper注册中心已启动 查看注册中心服务如下&a…...
UDP:简洁高效的报文结构解析与关键注意事项
UDP(User Datagram Protocol)以其无连接、低开销的特性,成为实时应用(如视频、游戏、DNS)的首选传输协议。深入理解其报文结构和注意事项,是高效利用UDP的基础。 一、UDP报文结构:简洁的四段式 …...

Unity3D 开发中的创新技术:解锁 3D 开发的新境界
在 3D 开发的广袤天地里,Unity3D 一直是众多开发者的得力伙伴。可如今,普通的开发方式似乎难以满足日益增长的创意与效率需求。你是否好奇,凭什么别家团队能用 Unity3D 打造出令人拍案叫绝的 3D 作品,自己却总感觉差了那么一点火候…...
BeanFactory 和 FactoryBean 有何区别与联系?
导语: Spring 是后端面试中的“常青树”,而 BeanFactory 与 FactoryBean 的关系更是高频卡人点。很多候选人混淆两者概念,答非所问,轻则失分,重则直接被“pass”。本文将从面试官视角,深入剖析这一经典问题…...
delphi7 链表 使用方法
在 Delphi 中,链表是一种常见的数据结构,用于存储一系列的元素,其中每个元素都包含一个指向列表中下一个元素的引用。在 Delphi 7 中,你可以手动实现链表,或者使用一些现有的集合类,例如 TList 或者 TLinke…...

【ArcGIS技巧】—村庄规划规划用地规划状态字段生成工具
"国土空间规划后续也是走向数据治理,数据建库已经是涉及到城市规划、建筑、市政、农业、地理信息、测绘等等方方面面。不得不说以后数据库建设跟维护,是很多专业的必修课。小编就湖南省的村庄规划建库过程中规划用地用海中规划状态字段写了个小工具…...

基于微信小程序的车位共享平台的设计与实现源码数据库文档
摘 要 近年来,随着国民经济的飞速发展,城镇化进程的步伐加快,城市人口急剧增长,人们的生活水平持续改善,特别是大中型城市,城市的交通规模日益增大,汽车的保有量不断提高,然而城市的…...
Vue前端篇——Vue 3的watch深度解析
📌 前言 在 Vue.js 的世界中,“数据驱动”是其核心理念之一。而在这一理念下,watch 扮演着一个非常关键的角色。它允许我们监听响应式数据的变化,并在其发生变化时执行特定的业务逻辑。 本文将通过实际代码示例,深入…...