openeuler22.03实时系统安装及部署

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文件的完整性

  • 使用UltraISO软件制作镜像,建议使用版本uiso9_cn版本进行制作,插入U盘,格式化U盘后,打开软件

    打开镜像文件

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

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

实时系统

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 权限,命令如下:

完成安装后重启设备,在 GRUB 引导界面选择 Preempt_RT 内核即可。启动后查看内核,即完成 openEuler 22.03 LTS Preempt_RT 二进制部署。

实时性能测试

  • 测试环境
版本名称
openEuler 22.03 LTS 内核 openEuler 22.03 LTS 官方源
openEuler 22.03 LTS 内核 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

文章知识点与官方知识档案匹配,可进一步学习相关知识 络技能树首页概览22043 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月18日
下一篇 2022年4月18日

相关推荐