openEuler 初探

119次阅读
没有评论

共计 3698 个字符,预计需要花费 10 分钟才能阅读完成。

背景

由于 CentOS 7 项目生命周期终止,已于 2024年6月30日 停止维护。我司现在提出计划,调研 openEuler 是否可替代 CentOS。

openEuler 介绍

是什么

  1. 基本定义
  • openEuler是一个开源的Linux发行版
  • 由华为主导开发并捐赠给开放原子开源基金会
  • 是一个开源社区,同时也是一个操作系统
  1. 技术特点
  • 多架构支持
    • x86_64架构
    • ARM64架构
    • RISC-V架构
  • 性能优化
    • 支持多样性计算
    • 提供A-Tune智能优化系统
    • 针对云计算场景优化
  • 安全特性
    • 提供安全加固方案
    • 支持国密算法
    • 完整性保护机制
  1. 主要应用场景
  • 服务器环境
  • 云计算平台
  • 边缘计算
  • 嵌入式系统
  • 个人桌面系统
  1. 核心优势
  • 开源开放
    • 完全开源的代码
    • 开放的社区治理
    • 支持社区贡献
  • 自主可控
    • 支持国产化硬件
    • 适配国产软件生态
    • 安全可信
  • 高性能
    • 优化的系统性能
    • 支持云原生架构
    • 智能调优能力
  1. 版本策略
  • LTS版本
    • 每2年发布一次
    • 提供4年支持期
    • 适合稳定性要求高的环境
  • 创新版本
    • 每半年发布一次
    • 提供6个月支持期
    • 包含最新特性
  1. 生态系统
  • 软件包支持
    • 提供丰富的软件仓库
    • 支持主流开发语言
    • 兼容主流应用程序
  • 开发工具
    • 提供完整的开发环境
    • 支持容器化部署
    • 提供API和SDK
  1. 社区支持
  • 技术支持
    • 文档资源
    • 问题解答
    • 技术培训
  • 社区协作
    • 代码贡献
    • 问题反馈
    • 特性建议
  1. 主要特性
  • iSula容器引擎
  • A-Tune智能优化系统
  • StratoVirt虚拟化平台
  • secGear安全框架
  • 鲲鹏加速引擎
  1. 发展目标
  • 打造安全可靠的操作系统
  • 建设活跃的开源社区
  • 推动产业生态发展
  • 支持数字化转型
  1. 使用场景示例
  • 政府部门
  • 金融机构
  • 电信运营商
  • 互联网企业
  • 科研教育机构

发展历史

  1. 起源(2019年)
  • 2019年12月31日,openEuler正式开源,华为捐赠源代码
  • 这标志着openEuler社区正式成立
  1. 早期发展(2020年)
  • 2020年3月:发布openEuler 20.03 LTS版本
    • 这是第一个长期支持版本
    • 支持周期为4年
    • 面向服务器场景
  • 2020年9月:发布openEuler 20.09创新版本
    • 引入更多新特性
    • 支持多样性计算
  1. 稳步推进(2021年)
  • 2021年3月:发布openEuler 21.03创新版本
    • 增加了对树莓派的支持
    • 优化ARM架构支持
  • 2021年9月:发布openEuler 21.09创新版本
    • 引入A-Tune智能优化系统
    • 增强云原生特性
  1. 快速发展(2022年)
  • 2022年3月:发布openEuler 22.03 LTS版本
    • 第二个LTS版本
    • 支持周期为4年
    • 全面支持多样性计算
  • 2022年9月:发布openEuler 22.09创新版本
    • 增强边缘计算能力
    • 优化云原生体验
  1. 最新进展(2023年)
  • 2023年3月:发布openEuler 23.03创新版本
    • 提供更好的桌面体验
    • 增强安全特性
  • 2023年9月:发布openEuler 23.09创新版本
    • 进一步优化性能
    • 增强生态兼容性

版本命名规则:

  1. 版本号格式:YY.MM
    • YY表示年份
    • MM表示月份
  2. 版本类型:
  • LTS版本:长期支持版本,每两年发布一次,支持期4年
  • 创新版本:每半年发布一次,支持期6个月

主要特点:

  1. 发布周期稳定
  • LTS版本:每2年发布一次
  • 创新版本:每半年发布一次
  1. 版本支持策略清晰
  • LTS版本提供4年支持
  • 创新版本提供6个月支持
  1. 持续创新
  • 创新版本引入新特性
  • LTS版本注重稳定性

测试

上文是由AI生成,不保真但是与我浏览文档看到的出入不大。

本次测试其实不涉及太多环节,仅仅是从华为云创建 ECS 并修改ansible playbook 适配 openEuler。

华为云提供了 Huawei Cloud EulerOS 镜像

support.huaweicloud.com/productdesc-hce/hce_01_0001.html

openEuler 初探

其中 1.1 版本 100% 兼容 CentOS 7.9,实现了 BUG 级兼容。但是后续版本并不保证 100% 兼容,不过仍是基于 rhel 的发行版。

2.0 版本基于 openEuler 22.03 LTS,而 22.03 主要兼容 CentOS 8,采用了 dnf 作为包管理器。

创建服务器过程略过不谈,下面以 Huawei Cloud EulerOS 2.0 为例。

操作系统版本信息:

# cat /etc/os-release
NAME="Huawei Cloud EulerOS"
VERSION="2.0 (x86_64)"
ID="hce"
VERSION_ID="2.0"
PRETTY_NAME="Huawei Cloud EulerOS 2.0 (x86_64)"
ANSI_COLOR="0;31"

内核版本:

# uname -a
Linux openeuler-test 5.10.0-182.0.0.95.r2220_156.hce2.x86_64 #1 SMP Sat Sep 14 02:34:54 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

包管理器:

# rpm -q dnf yum
dnf-4.10.0-3.r18.hce2.noarch
yum-4.10.0-3.r18.hce2.noarch

SeLinux 默认关闭:

# getenforce 
Disabled

python版本 3.9.9:

# python --version
Python 3.9.9

glibc版本:

# ldd --version
ldd (GNU libc) 2.38
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

上面是一些简单信息展示,基本与 CentOS 8 差别不大。

之前的 ansible 初始化剧本,简单改改就成功运行:

# CentOS 7 
$ tree centos/
centos/
├── files
│   ├── atop.service
│   ├── Centos-7.repo
│   ├── elrepo-release-7.el7.elrepo.noarch.rpm
│   ├── elrepo.repo
│   └── RPM-GPG-KEY-elrepo.org
└── tasks
    ├── atop.yml
    ├── kernel.yml
    ├── main.yml
    ├── ntp.yml
    ├── selinux.yml
    ├── test.hosts
    └── yum.yml

$ cat centos/tasks/main.yml 
---
- import_tasks: selinux.yml

- import_tasks: yum.yml

- import_tasks: atop.yml

- import_tasks: ntp.yml

- import_tasks: kernel.yml

# openEuler
$ tree openeuler/
openeuler/
├── files
│   ├── atop.service
│   ├── Centos-7.repo
│   ├── elrepo-release-7.el7.elrepo.noarch.rpm
│   ├── elrepo.repo
│   └── RPM-GPG-KEY-elrepo.org
└── tasks
    ├── atop.yml
    ├── kernel.yml
    ├── main.yml
    ├── ntp.yml
    ├── selinux.yml
    ├── test.hosts
    └── yum.yml

# 由于selinux默认关闭了,不需要再调整。内核版本也比较新,不执行更新。
$ cat openeuler/tasks/main.yml 
---
#- import_tasks: selinux.yml

#- import_tasks: yum.yml

- import_tasks: yum.yml

- import_tasks: atop.yml

- import_tasks: ntp.yml

#- import_tasks: kernel.yml

# 将yum改为dnf模块
$ cat openeuler/tasks/yum.yml 
---
# 添加源
- name: Dnf | Install Epel Repo
  shell: dnf config-manager --add-repo https://repo.openeuler.org/openEuler-22.03-LTS-SP2/update/x86_64 && dnf clean all && dnf makecache
  args:
    warn: false

# 安装基础包
- name: Dnf | Install Basic Package
  dnf:
    name: "{{ item }}"
    #state: latest
  loop:
    - wget
    - telnet
    - lsof
    - net-tools
    - bind-utils
    - htop
    - nfs-utils
    - iftop
    - atop
    - tree
    - traceroute
    - mtr
    - nc
    - ntpdate
    - lrzsz

总结

本文没有实际部署业务进行测试。事实上我司存量有上千台 CentOS 服务器,想完成验证、测试、替换的周期可能需要几年。

对于不同的服务类型,测试验证的办法也不同,内核参数或各种其他系统配置都需要经过时间检验,任重而道远。

引用链接

正文完
 
pengyinwei
版权声明:本站原创文章,由 pengyinwei 2025-01-15发表,共计3698字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处:https://www.opshub.cn
评论(没有评论)