openEuler预言

openEuler特性

  • 融进了中科院软件所贡献的 RISC-V 新指令集架构支持
  • 内核的多核扩展性能力大大增强,提升了 CPU 多核的并行度,性能提升 20%
  • 采用轻量级虚拟化引擎 StratoVirt,一套架构支持虚机、安全容器、Serverless 三种场景,单虚机启动时间小于 50ms
  • 可通过Preempt_RT内核补丁支持实时系统
  • 进程调度优化:优化进程负载均衡算法,减少负载均衡过程中的开销,提升性能
  • 内核动态抢占:新增启动选 preempt=none/voluntary/full,允许内核动态切换抢占模式
  • mremap 性能优化:通过移动 PMD/PUD 级别的表项,加速映射大块内存的速
  • TLB 并发刷新支持:本地 TLB 和远端 TLB 刷新并行,优化 TLB shootdown 流程加速 TLB 刷新,提升业务性能
  • 大页 vmalloc 性能优化:对于超过 huge page 的最小 size 的空间进行 vmalloc() 分配时,将会尝试使用 huge
    page 而不是 base page 来映射内存,改善 TLB 的利用,降低 TLB miss
  • SVA(Shared Virtual Addressing)支持:进程虚拟地址在主机进程和设备间共享,实现资源跨主机与设备免拷
    贝复用,提升跨主机和设备业务通讯性能
  • XDP(eXpress Data Path)支持:基于 ebpf 的一种高性能、用户可编程的网络数据包传输路径,在网络报文还未
    进入网络协议栈之前就对数据进行处理,提升网络性能。可用于 DDOS 防御、防火墙、网络 QOS 等场景
  • OOM 内存回收算法:在发生 OOM 时,优先对低优先级的进程组进行内存回收,保障在线业务的正常运行
  • 支持 PAC (Pointer Authentication Code)特性:在使用寄存器的值作为指针访问数据或代码之前验证其内容,抵
    御 ROP/JOP 攻击
  • 内存可靠性分级技术:通过对不同可靠性等级的内存分级管理,可以支持内核、关键进程、内存文件系统、文件缓
    存使用高可靠内存,避免内存多 bit 故障引起内核复位
  • 动态大页技术:支持对大页进行拆分和合并的功能,从而使得绑定到 memcg 的进程可以使用 1G/2M/4K 三种页。
    当大页资源不足时,可以动态配置大页资源,避免系统重启,减少业务中断时间
  • 内存 RAS 容错增强:支持 copy_from_user 读操作时,发生内存多 bit 错误,系统不复位。可以通过杀掉受影响
    的进程,而避免内核复位
  • per memcg lru lock:采用 per memcg lru_lock,减少云原生容器实例锁竞争,提升系统性能
  • 大页内存管理优化:通过共享映射方式将 HugeTLB 管理页中无实际作用的 tail 页释放掉,降低大页内存管理结构的
    开销
  • 内存分级扩展: 内存分级扩展通过 DRAM 和低速内存介质,如 SCM、AEP,以及 RDMA 远端内存等形成多级内存,通过内存自动调度
    让热数据在 DRAM 高速内存区中运行,让冷数据交换到低速内存区,从而增加内存容量,保证核心业务高效平稳运行。
  • 友好桌面环境 UKUI

安装方式

服务器安装要求

安装 openEuler 22.03-LTS 所需的最小硬件要求如下所示

部件名称 最小硬件要求
CPU 鲲鹏 920(架构为AArch64)x86-64(Skylake以上)
内存 不小于8GB
硬盘 不小于120GB

通过USB盘安装

  • 下载openEuler 22.03 LTS镜像,进入https://repo.openeuler.org/openEuler-22.03-LTS/ISO/x86_64/下载以下文件

    1. openEuler-22.03-LTS-x86_64-dvd.iso
    2. openEuler-22.03-LTS-x86_64-dvd.iso.sha256sum
  • 使用sha256sum命令校验iso文件的完整性

    sha256sum openEuler-22.03-LTS-x86_64-dvd.iso
    cat openEuler-22.03-LTS-x86_64-dvd.iso.sha256sum //对比哈希值是否相同
    
  • 使用UltraISO软件制作镜像,建议使用版本uiso9_cn版本进行制作,插入U盘,格式化U盘后,打开软件

    打开镜像文件

    依次点击启动->写入硬盘映像

  • 启动盘制作完成后,进入U盘,打开isolinux/isolinux.cfg文件, 将openEuler-22.03-LTS-x86_64替换成openEluler-2(启动盘制作完成后的盘名称)

  • 修改完成后,插入服务器,重启服务器,按F2进入BIOS,然后设置U盘优先启动,保存退出

  • 进入安装引导界面,按e键进入编辑页面,将 vmlinuz initrd=initrd.imginst.stage2=hd:LABEL=… quiet 改为:vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet,然后按下F10键保存进入安装界面,如下图所示:

  • 进入安装图像界面后,按照官网文档操作即可,https://docs.openeuler.org/zh/docs/22.03_LTS/docs/Installation/%E5%AE%89%E8%A3%85%E6%8C%87%E5%AF%BC.html 注意:

    1:软件选择时,选择服务器,选中所有软件,安装即可。

    2: 网络和主机名中选择默认网络,配置IP及其它信息。

  • 系统安装完成, 拔出U盘

网络配置

cd /etc/sysconfig/network-scripts目录,打开ifcfg-eth0网络配置文件,添加或者修改信息,按照如下配置进行修改

TYPE="Ethernet"
DEVICE="eth0"
UUID="6ed6a6f2-8538-42fc-9a00-7cedb666c49c"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="10.156.4.234"
NETMASK="255.255.255.0"
GATEWAY="10.156.4.254"
IPV6INIT="yes"
DNS1="10.151.6.6"

修改完成后,一次执行如下命令

nmcli c reload
nmcli d connect  eth0

安装UKUI图像界面

UKUI是麒麟软件团队历经多年打造的一款Linux 桌面,主要基于 GTK 和 QT开发。与其它UI界面相比,UKUI更加注重易用性和敏捷度,各元件相依性小,可以不依赖其它套件而独自运行,给用户带来亲切和高效的使用体验。

  • 首先执行
sudo dnf update
  • 然后执行
sudo dnf install ukui
  • 最后以图形界面启动配置, 重启系统,之后就可以看到界面。
systemctl set-default graphical.target

实时系统

openEuler 22.03 LTS 版本新增了 Preempt_RT 内核实时补丁,提供软实时特性。该特性由 Industrial-Control SIG 引入,并得到 Kernel SIG、Embedded SIG 和 Yocto SIG 配合与支持,已经被集成到openEuler 22.03 LTS Server 和 openEuler 22.03 LTS Embedded 中

当前 Preempt_RT 主要特性

  • 临界区可抢占
  • 中断处理程序可抢占
  • 关中断代码序列可抢占
  • 带有优先级继承机制的内核自旋锁和信号量
  • 线程化处理 RCU
  • 降低延迟措施

部署方法

二进制部署

二进制部署可以安装 openEuler 22.03 LTS 官方源中 rpm 包,需要 root 权限,命令如下:

#yum install kernel-rt

完成安装后重启设备,在 GRUB 引导界面选择 Preempt_RT 内核openEuler (5.10.0-60.18.0.rt62.52.oe2203.aarch64) 22.03 LTS即可。启动后查看内核,即完成 openEuler 22.03 LTS Preempt_RT 二进制部署。

#uname -r
5.10.0-60.18.0.rt62.52.oe2203.aarch64

实时性能测试

  • 测试环境
版本名称 来源
openEuler 22.03 LTS kernel 内核 openEuler 22.03 LTS 官方源
openEuler 22.03 LTS kernel-rt 内核 openEuler 22.03 LTS 官方源
  • 测试硬件环境
硬件型号 硬件配置信息 备注
飞腾 D2000 CPU:8 核 内存:8GB 存储设备:SSD 台式机
树莓派 4B CPU:Cortex-A72 * 4 内存:8GB 存储设备:SanDisk Ultra 16GB micro SD 开发板
飞腾 2000 CPU:4 核 内存:16GB 存储设备:SSD 台式机
  • 测试软件
测试软件 功能 软件版本
rt-test(cyclictest) 通过 cyclictest 工具,每项测试 1000 万次,输出平均延迟(Avg)和最大延迟(MAX) 1.00
stress 压力测试工具,用于模拟测试 CPU 负载,内存负载,IO 负载等 1.0.4
iperf3 网络测试工具,用于模拟测试网络负载 3.6
memtester 内存测试工具,用于模拟测试内存负载 4.5.1
shell 脚本 用于轮询测试,测试信息的收集整理
  • 测试结果
平台 CPU 负载 内存负载 IO 负载 网卡负载
飞腾 D2000(非 RT 内核) 5.2 43.1 212.8 2.7
树莓派 4B(非 RT 内核) 0.8 2.7 1.0 0.7
飞腾 2000(非 RT 内核) 0.8 18 26.8 1.9
飞腾 D2000(RT 内核) 1.0 19.2 26.2 20.6
树莓派 4B(RT 内核) 0.9 1.2 4.2 1.0
飞腾 2000(RT 内核) 1.0 2.2 4.5 1.7

由上表可知,在有负载的情况下,RT内核实时性较为稳定(值越小越稳定)

FAQ

安装时,其它问题FAQ, 可参考官网FAQ说明,FAQ网址:

https://docs.openeuler.org/zh/docs/22.03_LTS/docs/Installation/FAQ.html

openeuler22.03实时系统安装及部署相关推荐

  1. openEuler22.03安装zabbix4.0

    以下教程为openEuler22.03安装zabbix4.0,主要原因是openEuler官方和zabbix官方提供的提供的软件源中没有相关软件,因此需要使用zabbix源码进行编译,并且安装过程中会 ...

  2. Netdata---Linux系统性能实时监控平台部署记录

    通常来说,作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况.下面就介绍下一款Linux性能实时监测工具-Netdata,它是Linux系统实时性能监测工具 ...

  3. (转!)Netdata---Linux系统性能实时监控平台部署

    我一直以为人是慢慢变老的,其实不是,人其实是一瞬间变老的. -------村上春树<舞!舞!舞!> 转自https://www.cnblogs.com/kevingrace/p/73001 ...

  4. inotify-tools-3.14+rsync3.1.3实时同步安装部署

    服务版本说明 服务 版本号 备注 rsync rsync-3.1.3 inotify-tools inotify-tools-3.14 部署环境 系统环境:centos7.6 主机名:yhcs_1.y ...

  5. netdata mysql_Netdata---Linux系统性能实时监控平台部署记录

    通常来说,作为一个Linux的SA,很有必要掌握一个专门的系统监控工具,以便能随时了解系统资源的占用情况.下面就介绍下一款Linux性能实时监测工具-Netdata,它是Linux系统实时性能监测工具 ...

  6. 树莓派4BUbuntu server 20.04 Kubernetes-v1.17.x- Docker19.03 keadmv1.10.3部署错误一览

    树莓派4BUbuntu server 20.04  keadmv1.10.3加入主节点报错 execute keadm command failed: failed to exec 'bash -c ...

  7. 国产操作系统openEuler22.03配置yum源

    作者:IT圈黎俊杰 本文选用的操作系统版本是openEuler22.03-LTS.openEuler是指操作系统的品牌英文名,中文名叫"欧拉":22.03是指版本号(openEul ...

  8. 欧拉系统安装与部署NextCloud与常见部署问题解决以及数据盘迁移

    欧拉系统部署NextCloud与常见部署问题解决以及数据盘迁移 一.欧拉系统安装 二.openEuler安装图形界面Ukui 三.yum安装的npm包进行本地保存设置(个人任务需要) 四.部署next ...

  9. 循序渐进丨在openEuler 20.03操作系统上安装部署MogDB 2.1.1数据库

    关于MogDB MogDB是云和恩墨基于openGauss开源数据库的内核进行研发,推出的一款安稳易用的企业级关系型数据库,具备金融级高可用和全密态计算的极致安全.面向多核处理器的极致性能.AI自诊断 ...

最新文章

  1. 打印不同对象的字节表示 ( 对int*强制转换成unsigned char*的理解 )
  2. php星期_高手指点PHP星期几获取方法
  3. (SpringMVC)RestFul和Controller
  4. Java基本sql_常用sql
  5. 服务器怎么把信息发送给用户,java中怎么用tcp/ip将服务器的消息发送给多个用户...
  6. python调用matlab环境配置、非常详细!!!_[python][matlab]使用python调用matlab程序
  7. linux cmake编译安装mysql_Linux源码安装MySQL 5.6.12 (Cmake编译)
  8. python做excel表格教程视频_基于Python实现excel表格读写
  9. Dubbo 新增本地 IDE 插件,快速创建样例工程
  10. 计算鞍点(信息学奥赛一本通-T1122)
  11. 自动化测试之--参数化
  12. flask response Content-Type
  13. Python——装饰器(二)
  14. 5G 是时候商用了?| 程序员硬核评测
  15. delphi 联合体_校园动态 | 西安市碑林区大学南路小学“名校+”教育联合体召开“合木论坛”...
  16. Android MTP 模式 驱动无法安装解决方案
  17. 从10个经典工业设计案例,来看什么是工业设计
  18. P1024 [NOIP2001 提高组] 一元三次方程求解
  19. C语言学习知识总结————第一节课
  20. 拼多多or云集微店,社交电商分轨而驰

热门文章

  1. 电脑登录密码忘记怎么办?
  2. JavaScript第6章上机练习1(制作图书简介页面)
  3. CAD2020许可证过期解决办法,亲测有效
  4. python调用浏览器
  5. android 微信乱码问题怎么解决方法,Android 微信登录昵称乱码问题,及获取微信用户信息...
  6. python变量作用域和生存期_变量的生存期和作用域
  7. 发送邮件附件,通过url获取附件
  8. MySQL 修改表名
  9. 这样的壁纸,你真的需要一张!
  10. blueStacks模拟器竖屏调整