【云驻共创】从CentOS 到 HCE OS:华为云欧拉操作系统的快速上手与切换实践
一、前言
2020 年 12 月 08 日,CentOS 官方宣布了停止维护 CentOS 7和 CentOS Linux 8 的计划。这一决定在整个行业引起了巨大的震动。具体信息,请阅读CentOS官方公告(点击这里)。
长期以来,Linux 一直是服务器操作系统市场的主要支柱。然而,CentOS 发行版生命周期的意外改变不仅迫使许多行业用户重新思考他们应该选择什么替代方案,还加速了服务器操作系统市场的变革进程。
今天本博主将介绍又一国产操作系统的重量级产品 – Huawei Cloud EulerOS (简称“HCE OS”)操作系统。
二、CentOS 退役背景下的国产化操作系统
近年来,国产基础软件取得了显著进展。特别是操作系统,作为数字基础设施的核心组成部分,已成为推动产业数字化和智能化发展的不可或缺的支撑力量,引发了广泛期待。然而,值得注意的是,2022年国产化率仅为4.7%
,预计 2023 年国产化率将达5.1%
,可以说是在操作系统领域,国产化率非常低。
据信通院 2021 年对企业操作系统迁移意愿的调查数据显示,在给定的四款开源服务器操作系统中,行业中的绝大多数愿意将 RHEL 作为第一选择,同时 openEuler 作为全国产化操作系统,也被行业大多数积极接受。
根据上表中各行业操作系统迁移意愿调查数据,可以明显看出,人们对国产开源操作系统 openEuler(由华为提供)表现出了极高的接受度,并期望将其作为替代 CentOS 的首选解决方案。
三、认识国产自主创新的云上操作系统 Huawei Cloud EulerOS
3.1 什么是Huawei Cloud EulerOS
Huawei Cloud EulerOS(简称HCE OS),是基于openEuler构建的云上操作系统。
HCE OS打造云原生、高性能、高安全、易迁移等能力,加速用户业务上云,提升用户的应用创新空间,可替代CentOS、EulerOS等公共镜像。
3.2 EulerOS、openEuler与Huawei Cloud EulerOS 的关系
在上述开篇的时候博主提到过CentOS 退役后,大家接受替换方案的意愿,其中就包含openEuler,可能到这里,有的小伙伴会有疑问:我之前听说过EulerOS,也听说过openEuler,而现在又出来一个Huawei Cloud EulerOS,现在有点傻傻分不清了,那么他们到底都是什么关系。在这里博主为了大家方便理解,绘制了如下图表方便大家认识与理解。
EulerOS 是基于开源技术的开放的企业级Linux操作系统软件,具备高安全性、高可扩展性、高性能等技术特性,能够满足客户IT基础设施和云计算服务等多业务场景需求
EulerOS 是基于开源操作系统 openEuler 进行开发的华为内部的商用操作系统,并不对外承载开源义务
openEuler 脱胎于 EulerOs,EulerOS 是华为公司自2010年起研发使用的服务器操作系统,Linux发行版之一,名字来源于著名数学家莱昂哈德·欧拉(Leonhard Euler);
2019年9月,EulerOS正式开源,命名为 openEuler。
2021年9月25日,openEuler 全新发布,升级为统一的面向数字基础设施的开源操作系统,通过一套操作系统架构,南向支持多样性设备,北向覆盖全场景应用,横向对接鸿蒙通过能力共享实现生态互通。
2021年11月 openEuler 正式捐献至开放原子开源基金会
2022年华为推出 Huawei Cloud EulerOS,该系统是基于 openEuler 构建的云上操作系统。
3.3 传统 OS 面临的挑战与HCE OS 的产品优势
传统操作系统在云上使用,会面临弹性、安全、运维等全方位技术的挑战。
总结起来会面临如下三方面的挑战:
- 云原生资源的隔离与弹性
- 云上系统海量数据的安全性
- 百万规模系统升级与运维
华为云的 HCE OS 针对资源无法隔离、数据安全隐患、运维困难等问题做了关键优化应运而生。
四、Huawei Cloud EulerOS 特性解读
4.1 基于在线、离线混部技术,解决了云原生资源隔离与弹性问题
在云原生环境中,HCE OS与CCE相结合,成功实施了在线和离线业务的混合部署技术,将资源利用率从15%提升至40%。
HCE OS 结合云服务进行了深度的定制优化:
• 在CPU调度层面,采用在线抢占、离线Kill、负载均衡增强和SMT调度技术,以保障在线业务的CPU资源优先使用。
• 在内存管理方面,通过优先级内存回收和动态水位线控制技术,确保在线业务的内存需求得到优先满足。
• 在Cache QoS层面,利用Cache干扰预测和Cache租户面隔离技术,保证在线业务以高性能运行。
• 在网络QoS方面,我们采用流量标签管理和租户带宽的动态分配,以确保在线业务的流量稳定运行。
4.2 基于“应用加速”功能,提升了基础性能和满足了各种场景需求
HCE OS 在多个关键领域采取了一系列措施,以全面提升系统性能。
在IO性能优化方面,引入了IO_URING、IO智能缓存、高性能协议栈、SMMU、eBPF文件预取和XDP等技术,有效提高了整个系统的IO吞吐能力。
在内存优化方面,支持PB级大内存管理和分级内存管理,从而显著减少了内存性能的损耗。
在编译器方面,通过采用毕昇编译器和毕昇JDK,提高了各种用户应用在各类硬件设备上的性能表现。
4.3 基于全栈自主创新和严格的安全合规措施,确保了云上系统中海量数据的安全性。
在政府机构、金融机构等大型系统及民生相关业务中,系统安全性的自主创新、安全合规便成为两个核心关注点,HCE在这两方面目前均符合国家相关安全要求。
• 在安全合规方面:
o 支持国密算法,包括SM2、SM3、SM4等,用户可基于HCE开发、部署符合规范的应用
o 通过国家等级保护2.0三级标准认证,满足承载政务云核心业务要求
• 在全栈可控方面:
o 自主可控:实现在鲲鹏等平台的全栈自主创新
o 评测认证:软件自助率&知识产权自主,通过国密认证
4.4 基于全新升级框架,成功解决了百万规模系统的升级问题。
为了实现规模系统升级问题,HCE OS与华为云OSM等服务的深度配合,打造全新升级系统,实现 OS 升级补丁流程自动化,以及组件灵活热升级。
在升级框架方面,实现了数据采集、滚动升级、Repo管理、合规管理和基线管理等功能,实现用户对整体升级过程的可视化管理。
在HCE OS内部,通过四大关键技术,实现补丁升级过程业务不感知,中断时间秒级,以及灵活的热升级,具体的关键技术有
- OSM2.0升级框架+SUT技术,支持rpm包全网批量快速部署和异常回滚
- HCE内核热替换技术,业务改造后支持无损秒级热替换
- HCE内核热补丁技术,支持高危漏洞快速修复
- HCE外围包热升级,支持systemd、dbus等常驻服务不中断升级
借助这些关键技术为基础,我们能够通过组合不同的升级技术,满足客户在不同场景下的各种升级需求。
五、开发者如何快速上手 Huawei Cloud EulerOS
5.1 Koolabs 沙箱实验室实操体验
华为云提供 Koolabs沙箱实验室,华为云的沙箱实验室是开箱即用的实操环境,可以助力开发者迅速掌握开发技巧。
访问华为云Koolabs沙箱实验室:
• https://lab.huaweicloud.cn/testlist.html
可以看到在Koolabs沙箱实验室中拥有众多的实操体验项目
5.2 华为云欧拉操作系统开发者认证
在华为云认证体系中,现阶段HCE操作系统有华为云欧拉操作系统入门级开发者认证(HCCDA – Huawei Cloud EulerOS),官方链接为:
• https://edu.huaweicloud.cn/certificationindex/developer/9bf91efb086a448ab4331a2f53a4d3a1
该认证现阶段只有初级认证,非常适合入门学习与实操。
注意,现阶段华为云考试认证改版后,理论与上机都只有一次机会。
结合认证,华为云提供配套的学习课程与其实验,具体课程内容参看下表:
5.3 入门训练营等其他实操活动
华为云不定期会组织训练营,针对 Huawei Cloud EulerOS 华为云也有不定期的训练营,类似之前的活动:
六、基于Huawei Cloud EulerOS 部署 OA系统实践
经过博主的一番介绍后,你已经对华为云的HCE OS已经有了一定的了解与认识,接下来进行实践讲解,我们结合华为云的Koolabs两步切换国产操作系统Huawei Cloud EulerOS
• Koolabs实验室地址:https://lab.huaweicloud.cn/experiment-detail_2384
6.1 使用HCE评估工具评估兼容性
在开始迁移/替换 CentOS前,先要进行服务器评估,具体操作步骤如下
6.1.1 准备评估工具
(1)登录HCE系统弹性云服务器
选择服务列表-弹性云服务器,在服务器列表中点击ecs-HCE
注意:评估工具需在ecs-HCE节点上安装,查看ecs-HCE绑定的弹性ip
(2)下载评估工具及应用
① 使用dnf命令安装实验用的评估工具
[root@ecs-hce ~]# dnf install -y git x2hce-ca-hce
Last metadata expiration check: 0:00:29 ago on Wed 18 Oct 2023 02:06:01 AM CST.
Dependencies resolved.
将跑在CentOS上的应用克隆到HCE环境中。下图已展示待迁移的ecs-CentOS上安装的应用:showcase1以及一个测试脚本run_test.sh
[root@ecs-hce ~]# cd ~; git clone https://codehub.devcloud.cn-east-3.huaweicloud.com/HCE00001/hello_hce.git
Cloning into 'hello_hce'...
remote: Enumerating objects: 31, done.
remote: Counting objects: 100% (31/31), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 31 (delta 11), reused 31 (delta 11), pack-reused 0
Unpacking objects: 100% (31/31), 4.22 KiB | 1.41 MiB/s, done.
输入如下命令可以看到应用已经下载完成。
[root@ecs-hce ~]# ls
hello_hce
[root@ecs-hce ~]# cd hello_hce && ls
LICENSE README.md run_test.sh showcase1
6.1.2 对应用进行评估
(1)使用评估工具进行评估
执行以下命令对showcase1应用进行评估
[root@ecs-hce hello_hce]# python /usr/local/x2hce-ca/x2hce-ca.pyc scan -os_name centos8.2 /root/hello_hce/showcase1
2023-10-18 02:13:47,836 - USER_ID:0 - INFO - Log save directory: /var/log/x2hce-ca
2023-10-18 02:13:47,836 - USER_ID:0 - INFO - x2hce-ca scan /root/hello_hce/showcase1 -os_name centos8.2 -target_os_name hce2.0 -arch x86_64
2023-10-18 02:13:47,844 - USER_ID:0 - INFO - Start analyse /root/hello_hce/showcase1
2023-10-18 02:13:47,868 - USER_ID:0 - INFO - Start scanning Jar Package...
2023-10-18 02:13:47,868 - USER_ID:0 - INFO - No jars found
2023-10-18 02:13:47,887 - USER_ID:0 - INFO - The report for "showcase1" saved: /opt/x2hce-ca/output/software/showcase1-centos8.2-hce2.0-20231018021347/showcase1.html
2023-10-18 02:13:47,902 - USER_ID:0 - INFO - The excel report is saved: /opt/x2hce-ca/output/software/showcase1-centos8.2-hce2.0-20231018021347/showcase1-20231018021347.xls
2023-10-18 02:13:47,902 - USER_ID:0 - INFO - Analyse finished, total 1 items, 1 success, 0 failed
得到结果如下图,可以看到评估报告的存储位置:
(2)查看评估报告
在执行完评估后,可以看到评估报告的具体位置,我们这里直接下载这个评估报告的html到我们的本机并查看,如下图所示:
6.2 用 Huawei Cloud EulerOS(HCE OS)替代CentOS
此环节中分为两步,第一步为做迁移前的工具准备和条件检测,第二步为系统迁移
6.2.1 做系统替换前的准备
(1)下载迁移工具
① 选择服务列表-弹性云服务器 ECS,进入弹性云服务器控制台,找到“ecs-CentOS”绑定的弹性ip,打开终端输入登录命令,此处略过。
② 在ecs-CentOS中下载并安装HCE迁移工具
在命令窗口执行下面命令进行下载git:
yum install -y git
进行下载 HCE 迁移工具:
[root@ecs-centos ~]# wget https://repo.huaweicloud.com/hce/2.0/updates/x86_64/Packages/centos2hce2-1.0.0-0.0.27.hce2.x86_64.rpm;rpm -ivh centos2hce2-1.0.0-0.0.27.hce2.x86_64.rpm --nodeps
--2023-10-18 02:25:15-- https://repo.huaweicloud.com/hce/2.0/updates/x86_64/Packages/centos2hce2-1.0.0-0.0.27.hce2.x86_64.rpm
Resolving repo.huaweicloud.com (repo.huaweicloud.com)... 218.68.58.24, 218.68.58.26, 218.68.58.22, ...
Connecting to repo.huaweicloud.com (repo.huaweicloud.com)|218.68.58.24|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16663393 (16M) [application/x-redhat-package-manager]
Saving to: ‘centos2hce2-1.0.0-0.0.27.hce2.x86_64.rpm’
centos2hce2-1.0.0-0.0.27.hce2.x86_64.rpm 100%[=======================================================================================================>] 15.89M 34.1MB/s in 0.5s
2023-10-18 02:25:16 (34.1 MB/s) - ‘centos2hce2-1.0.0-0.0.27.hce2.x86_64.rpm’ saved [16663393/16663393]
warning: centos2hce2-1.0.0-0.0.27.hce2.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8def926: NOKEY
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:centos2hce2-1.0.0-0.0.27.hce2 ################################# [100%]
(2)准备迁移工具需要的依赖包
① 配置默认的python运行环境为python3
[root@ecs-centos ~]# ln -s /usr/bin/python3 /usr/bin/python
[root@ecs-centos ~]# python --version
Python 3.6.8
如下图所示:
② 修改迁移工具的配置文件“etc/centos2hce2.conf”,将web_link_dir的值修改为HCE的yum repo源。
sed -i 's|^web_link_dir.*$|web_link_dir = "https://repo.huaweicloud.cn/hce/2.0/os/x86_64/;https://repo.huaweicloud.cn/hce/2.0/updates/x86_64/"|' /etc/centos2hce2.conf
③ 执行如下命令,系统自动安装迁移工具必要依赖。
centos2hce2.py --install all
安装过程需等待几分钟,安装成功如下图:
(3)检查当前系统是否满足迁移条件
执行下面的命令检查当前系统是否满足迁移条件
centos2hce2.py --check all
如下图所示,输出最后提示“Enviroment check passed!”时,表示满足迁移条件,可开始执行迁移操作。
6.2.2 迁移系统至HCE OS 2.0
① 查看操作系统版本,当前为CentOS 8.2版本
[root@ecs-centos ~]# cat /etc/system-release
CentOS Linux release 8.2.2004 (Core)
② 执行如下命令,开始迁移操作
centos2hce2.py --upgrade all
迁移时长约3-4分钟,迁移成功后显示如下图:
③ 执行结束后,执行如下命令重启系统,以生效迁移后配置
reboot
大约等待2-3分钟系统重启,输入ssh命令和密码重新登录(若未重启完成会显示登录失败)
④ 检查操作系统名称
[root@ecs-centos ~]# cat /etc/hce-release
Huawei Cloud EulerOS release 2.0 (West Lake)
如下图所示,系统已经迁移至 HCE OS:
执行如下命令,检查应用运行状况:
[root@ecs-centos ~]# sh ~/hello_hce/run_test.sh
**** Begin to run showcase1
Hello, HCE!
**** Run showcase1 successfully.
得到结果如下图:
显示应用正常运行。到此步骤后,成功替换CentOS为 HCE OS!开始您的国产化操作系。
七、文末总结
本篇文章将带你深入了解华为云欧拉操作系统(HCE OS)——一款具有自主创新特色的国产云上操作系统,剖析其强大的特性和显著优势。在 CentOS 退役之际,HCE OS 崭露头角,为我们提供了一个有力的替代选择,不仅解决了关键问题以及现阶段行业痛点,还推动了云原生技术的飞速发展,包括资源隔离、性能提升和安全合规等领域。
对于开发者而言,本文提供了多种快速上手 HCE OS的途径,结合 Koolabs 实践操作,成功切换 CentOS 到 HCE OS,这将让你在短时间内熟练上手 HCE OS,充分发挥其潜力,为云上创新提供坚实的支撑。
本文参与华为云社区【内容共创】活动第24期。
任务24:2023华为开发者大赛 · 大赛大咖说系列直播:轻松上手HCE OS,撬动云上创新杠杆
- 点赞
- 收藏
- 关注作者
评论(0)