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

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

    打开镜像文件
    openeuler22.03实时系统安装及部署_第1张图片

    依次点击启动->写入硬盘映像
    openeuler22.03实时系统安装及部署_第2张图片

  • 启动盘制作完成后,进入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键保存进入安装界面,如下图所示:

openeuler22.03实时系统安装及部署_第3张图片

  • 进入安装图像界面后,按照官网文档操作即可,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

openeuler22.03实时系统安装及部署_第4张图片

实时系统

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

你可能感兴趣的:(软件及系统架构,linux,网络,网络协议,linux)