发行说明

 

本文介绍 TurboLinux Enterprise Server 15 版本的发行说明。

 

目录

法律声明.............................................................................................................. 1

版本发行说明....................................................................................................... 2

简介..................................................................................................................... 3

基础参数说明....................................................................................................... 3

技术特性.............................................................................................................. 6

5.1系统安装 ..................................................................................................... 6

5.2镜像制作....................................................................................................... 6

5.3文件系统 ..................................................................................................... 7

5.4内核.............................................................................................................. 8

5.5系统管理..................................................................................................... 11

5.6编译器......................................................................................................... 12

5.7系统安全..................................................................................................... 14

5.10容器.......................................................................................................... 18

5.11支持鲲鹏生态............................................................................................ 23

 

一 法律声明

商标声明

 

版权所有© 2020 北京拓林思软件有限公司。Turbolinux是北京拓林思软件有限公司的注册商标。Linux是Linus Torvalds先生的注册商标。openEuler为华为技术有限公司的商标。本文档提及的其他所有商标或注册商标,由各自的所有人拥有。所有其它商标归其相应的所有者所有。

免责声明


    本文档仅供信息参考,这里提供的信息可能有所变化,将不另行通知。Turbolinux公司不承诺对于本文档有关的任何保证负责。

二 版本发行说明

      
 

TurboLinux Enterprise Server 15是一款基于openEuler开源源码开发的开源操作系统。当前TurboLinux Enterprise Server 15内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。同时,TurboLinux Enterprise Server 15是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。

本次发行版本为 TurboLinux Enterprise Server 15 v1.0 release 版本。本次发行说明提供了版本相关基础能力的介绍,主要包括:

  • 简介
  • 基础参数说明
  • 技术特性
  • 发布包说明

 

三 简介

 

TurboLinux Enterprise Server 15 v1.0 release 版本是基础版本,包含了运行通用系统的核心组件。该版本基于 Linux 主线内核 4.19 版本,进行了 bug 修改、漏洞修复等工作,并加入了一些具备创新性的功能特性。

最小硬件要求

安装 TurboLinux Enterprise Server 15 所需的最小硬件要求如下表所示。

部件名称

最小硬件要求

说明

CPU

鲲鹏 920(架构为AArch64

-

内存

不小于8GB

-

硬盘

不小于10GB(为了获得更好的应用体验,建议不小于120GB

支持IDESATASAS等接口的硬盘。

基础参数说明

 

TurboLinux Enterprise Server 15 基础的规格参数,如下表所示:

 

类别

规格

核心参数

Kernel 4.19

Glibc 2.28

GCC 8.3.1

systemd 239

标准符合度

符合POSIX标准

 

架构支持

AArch64

核心支持能力

 

支持的最大内存

AArch642TB

最大文件大小

ext416TB

文件系统默认ext4

最大支持1EB

支持双核及多核处理器

支持并优化 NUMA 体系架构

安装

提供文本/图形安装界面

提供光盘、网络引导安装方式

支持 Kickstart 自动化安装

系统工具

提供软件包升级工具,支持 dnf/yum 软件包管理和 dnf/yum 升级

提供防火墙的配置管理工具

虚拟化支持

提供对 KVM 的虚拟化支持(KVM版本和内核一致)

提供对 Qemu 4.0.0 Libvirt 5.5.0 的支持

提供虚拟化管理工具实现单机环境下的虚拟机创建、配置与管理

容器支持

提供对 Docker 18.09 的支持

提供对安全容器 Kata 1.7.0 的支持

提供对轻量化容器引擎 iSulad 0.1.0 的支持

开发工具

支持 GCC 包含的 CC++Objective CFortran

支持JavaGo

相应支持库(libstdc++libgcj等)

支持 Python2/Python3PerlShell 等脚本语言

 

 

五 技术特性

 

5.1系统安装
 

安装程序

TurboLinux Enterprise Server 15 改进了安装程序 Anaconda,并做了个性化定制和修改,方便用户安装。

  • 提供 TurboLinux Enterprise Server 15 主题的图形安装界面,对时区和语言进行了本地化优化。
  • 支持直接格式化未分区的设备,支持在安装过程中配置临时文件存储设备 tmpfs,支持 LVM 自动精简配置。

引导程序GRUB2

使用 GRUB2 作为启动引导程序,稳定方便。

  • 支持UEFI规范
  • 支持安全启动

 

5.2镜像制作

 

TurboLinux Enterprise Server 15 使用 Lorax 工具构建镜像。Lorax 包含了一系列工具,主要有以下两个:

  1. livemedia-creator:使用 Anaconda 创建 TurboLinux Enterprise Server 15 live CD 镜像。
  2. lorax:使用 Anaconda 创建 TurboLinux Enterprise Server 15 的安装镜像。

Lorax 使用指导请参见其官方文档

 

5.3文件系统
 

支持 ext4 文件系统

TurboLinux Enterprise Server 15 中使用的默认文件系统是 ext4ext4 向下兼容于 ext3/ext2 文件系统,可以将 ext3/ext2 挂载为 ext4 分区。

ext4 的主要特性:

  1. ext4 最大支持的文件系统是 1EB,单一最大文件值是 16TB
  2. ext4 使用 extent 树代替了ext3/ext2 的逻辑块映射,减少了元数据块的使用,提高了处理大型文件的效率。
  3. ext4 使用延迟块分配机制,仅当文件从高速缓存写入磁盘时才真正为数据分配磁盘块,有利于改善大文件的碎片化。
  4. ext4 支持日志校验和,以确认日志块是否遭到损坏,提升可靠性。
  5. ext4 支持惰性初始化,启用 lazyinit 特性后,会在后台挂载过程中逐步初始化inode表,这将显著加快创建 ext4 文件系统的速度。
  6. ext4 支持快速 fsck,在 ext4 中每个 inode 表将会存储未使用的 inode 列表,在 fsck 时将会跳过这些inode,加速 fsck
  7. ext4 支持三种日志模式:journal(可靠性最高)、orderedwriteback(性能最好)。

另外,TurboLinux Enterprise Server 15 也对 ext4 进行了一些bug修复和优化,主要优化点如下:

  1. ext4 sysmonitor相结合,支持 ext4 文件系统的故障告警通知。

支持 XFS 文件系统

TurboLinux Enterprise Server 15 支持高性能的日志文件系统 XFS,并提供了专门用于 XFS 备份和恢复的工具 xfsdump xfsrestore XFS 需要关注的主要特性如下:

  1. XFS 的设计完全基于扩展,最大支持的文件系统和文件大小是8EB - 1字节。
  2. 使用B+树的数据结构来提升IO灵活性,如将B+树用于 inode block 管理等。
  3. 将块设备分割成多个AG(分配组),允许多个线程并行在不同的分配组上进行IO操作,提升并行能力。
  4. 支持延迟分配,在内存中记录事务,在数据真正写入磁盘之前分配磁盘块。
  5. 支持自描述 metadata 的元数据校验,防止在意外断电时元数据遭到损坏。

 

5.4内核

 

TurboLinux Enterprise Server 15 kernel 基于 Linux 社区 kernel 4.19 版本,并在可靠性、安全性、虚拟化、性能等方面做了针对性的增强,更好地支持鲲鹏系列处理器。TurboLinux Enterprise Server 15 基于该版本 kernel 的主要修改如下:

  1. 回合社区增强特性
  2. 回合 Linux 4.19 stable 补丁
  3. 修复 CVE 和其他 Bugfix
  4. 鲲鹏系列处理器适配和增强
  5. 泰山服务器驱动支持
  6.  

5.4.1调测DFx特性增强

 

支持ARM64内核热补丁

支持 ARM64 内核热补丁,可以不用重启修复内核漏洞和BUG

ARM64 kdump 增强

TurboLinux Enterprise Server 15 内核支持预留大于 4G 的内存供 kdump 使用

说明:Linux kernel 社区原生版本只支持预留 4G 以下内存。

ARM64 NMI Watchdog 支持

支持基于 PMU (Performance Monitoring Unit) NMI Watchdog

支持基于 SDEI (Software Delegated Exception Interface) NMI Watchdog

ARM64 RAS 增强

支持 ARM v8.2 RAS 扩展

支持执行路径上内存ECC错误恢复

支持 SAS 盘暴力热插拔

支持 Statistical Profiling Extension 解析增强

通过解析 SPE 事件,支持精确跟踪和记录 branch missLL cache misstlb miss等事件,增强perf调优功能。

5.4.2系统性能优化


系统扩展性(Scale Out

Numa Aware Qspinlock:对现有的qspinlock做增强,将锁的等待队列分成两个,本地NUMA节点等待队列和远程NUMA节点等待队列,本地NUMA节点等待队列的线程有限获取锁,减少跨NUMA节点的Cache/总线冲突,从而提升性能

MMU gather:减少TLB flush,从而提升性能

关键驱动如中断控制器 ITS SMMU 的内存分配 NUMA Aware

IO 性能优化

通过优化 IOVA 页表查找和页表释放算法,提升 IO MMU 子系统性能

减少关键结构体的 cache false sharing,从而提升性能

指令加速

CRC32 checksum 加速

根据 ARM64 指令以及流水线特点,优化 CRC32 checksum 实现,大幅提升数据校验性能。

5.4.3资源管控

 

Cache与内存带宽的分配与监控:支持 ARM v8.4 MPAMMemory System Resource Partitioning and Monitoring)特性。

内存热添加:支持动态添加虚拟内存。

CPU热插拔:支持动态添加虚拟机CPU

支持限制 page cache 占用内存的比例:支持限制 page cache 占用内存的比例,避免系统因Page Cache 过多而影响业务的性能或者 OOM

5.4.4鲲鹏芯片驱动支持或增强

支持鲲鹏处理器相关的驱动:

支持 HiSilicon SAS 驱动

支持 HNS HNS3 板载网卡

支持 hinic 智能网卡

5.5系统管理

TurboLinux Enterprise Server 15 使用 systemd 进行系统和服务的管理,systemd SysV Linux 标准的 init 脚本兼容。systemd 具备下列优势:

  1. 更快的启动速度:systemd 提供了并行启动能力,采用了socket/D-Bus activation 等技术启动服务。
  2. 按需启动守护进程:systemd 提供按需启动的能力,只有在某个服务被请求的时候才启动它。当该服务结束后,systemd 可以关闭它,等待下次需要时再次启动它。
  3. 采用 CGroup 来跟踪和管理进程的生命周期:systemd 则利用 Linux 内核的 CGroup 特性来完成跟踪的任务。停止服务时,通过查询 CGroupsystemd 可以确保找到所有的相关进程,从而干净地停止服务。
  4. 能够对系统进行快照和恢复:systemd 快照提供将当前系统的运行状态保存并恢复的能力。
  5. 日志服务:systemd 自带日志服务 journald,相比于 syslog 服务具备一些优点,比如:采用二进制格式保存所有日志信息,更安全;无需自己编写复杂脆弱的字符串分析处理程序。用户可以使用 journalctl 命令来查看日志信息。

TurboLinux Enterprise Server 15 修复问题:

  1. 修复 udev 重命名冲突,加入等待和 retry 机制,确保命名成功。

 

5.6编译器


GCC

GCC 8.3.1 包括了 CC++Fortran 的前端,也包括了这些语言的库(如libstdc++libgcc等),TurboLinux Enterprise Server 15 配套编译器为 GCC 8.3.1,并在此基础上进行了特性增强和漏洞修复,其主要更新如下:

特性增强

  1. 针对鲲鹏920 TaishanV110 核,支持该TaiShan核微架构下的流水线优化
  2. 支持 AArch64 后端下的长跳转(Long Call)功能
  3. 支持循环优化 loop unroll and jam,将多层循环中的外层循环展开,并将展开后的多个内层循环合并
  4. 支持循环优化 loop interchange,将多层循环中的内外层循环进行交换

安全漏洞修复

  1. 修复ARM后端下栈保护功能在特殊场景中能够被黑客绕过保护的安全漏洞(CVE-2018-12886
  2. 修复POWER9后端下多次调用__builtin_darn函数的返回值相同的安全漏洞(CVE-2019-15847

OpenJDK

JDKJava Development Kit)是 Java 开发者进行 Java 开发所必须的软件包,包含 JREJava Runtime Environment)和编译、调测工具。TurboLinux Enterprise Server 15 配套 JDK OpenJDK 8 并在此基础上进行了 GC 优化、并发稳定性增强、安全性增强等,提高了 Java 应用程序在 ARM 上的性能和稳定性,其主要特性和更新如下:

特性

  1. 兼容Java SE 8 & JDK 8

特性增强

  1. 删除 GC 中冗余的 read/write barrier
  2. 针对 ARM 弱内存模型进行了稳定性增强

问题修复

  1. ARM v8.1上默认禁用UseLSE选项
  2. 避免了因为没有提前加载ClassLoader.findLibrarySystem.loadLibrary而导致的潜在的死锁问题 (JDK-8231584)
  3. 解决了一个容易遇到的javac检查超类时无限递归的bugJDK-8214345
  4. 修复了在heapdump时可能遇到的crash问题(JDK-8194246
  5. 修复了getCanonicalPath在处理"//"时遇到的crash问题(JDK-8194154
  6. 修复了一个AbstractQueuedSynchronizer可能存在的锁竞争问题(JDK-8191483
  7. 修复创建一个NTLM连接抛空指针异常的问题(JDK-8151788
  8. DateTimeFormatter支持"yyyyMMddHHmmssSSS"日期格式解析(JDK-8031085

5.7系统安全

TurboLinux Enterprise Server 15 提供多重安全手段,包括身份识别与认证、安全协议、强制访问控制、完整性保护、安全审计等安全机制,保障操作系统的安全性,为各类上层应用提供安全基础。

  1. 提供 openssh/pam/sssd/krb5 等支持本地及远程集中身份识别与认证机制
  2. 提供 openssl-1.1.1 版本支持 TLSv1.3
  3. 提供基于 TPM 2.0 TPM 驱动及 TPM-TSS 协议栈,支持使能可信启动和安全启动
  4. 支持 AUDIT 审计框架,对系统进行安全审计

 

5.8系统调测
 

支持kdump

Kdump Linux 内核态异常后的一种转储内存数据的机制。Kdump 服务启动时预先加载的 kdump 内核,通过这个小内核,重新挂载系统分区,通过 kdump工具,将崩溃内核的内存以转储vmcore文件的方式保存到系统盘上,开发和维护工程师可以利用 crash 工具打开 vmcore,分析系统崩溃原因。

能够触发 kdump 包含:内核地址访问异常(oops)、系统内核严重异常(panic)、内核态死循环(软件狗狗叫)、长时间关中断(NMI狗狗叫)、系统内存耗尽(oom)。

特性增强

  1. 支持 AArch64 架构下同时使用高低端内存启动 kdump 服务
  2. 支持传递更长的启动参数给 kdump 内核(由512字符增加到1536字符)
  3. 支持更大的物理内存地址空间(100TB

支持性能调测工具(Perf

Perf 是一个功能强大的性能分析工具,可以实现对程序硬件事件、软件事件、内核 tracepoint 及硬件断点等性能指标的监视,这些性能指标可以帮助程序员定位性能瓶颈,方便进行性能调优。

通过 Perf 工具,应用程序可以利用 PMUtracepoint 和内核中的特殊计数器来进行性能统计。Perf 工具不但可以分析指定应用程序的性能问题 ,也可以用来分析内核的性能问题,可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。

支持blktrace工具

blktrace 是一个针对 Linux 内核中块设备I/O层的跟踪工具,用来收集磁盘IO信息中当IO进行到块设备层时的详细信息(如 IO 请求提交、入队、合并、完成等等一些列的信息)。

通过使用这个工具,使用者可以获取I/O请求队列的各种详细的情况,包括进行读写的进程名称、进程号、执行时间、读写的物理块号、块大小等等,是一个 Linux下分析 I/O 相关内容的很好的工具。

5.9虚拟化
 

Qemu

TurboLinux Enterprise Server 15 中配套 Qemu 4.0.0 版本,相比早期版本修复了诸多缺陷并进行了特性和设备支持能力的增强,重要更新如下:

特性增强

  1. 热迁移 postcopy 支持 hugpages hugetlbfs
  2. 支持 GICv3 KVM 的热迁移
  3. 热迁移 postcopy 支持限速,支持 migrate_pause,支持 migrate_recover
  4. 虚拟机内呈现 CPU frequencyGuestOS 需要 4.19 以及更高版本内核)
  5. 虚拟机内部呈现 CPU topologycache信息

设备支持

  1. PCI/PCIe:支持新的 pcie-root-port 设备,新的 virt 类型主板默认 disable PCIe-to-PCI-bridge 上的 SHPC
  2. 支持 SMMUv3 模拟(soft-iommu)
  3. virt 类型主板开始支持 512 虚拟CPU (注意不支持单个虚拟机的CPU数量超过所在的物理机的CPU数量)
  4. PCIe ECAM Region 扩大到 256M,支持更多的 PCI 设备
  5. virt4.0 guest machine type 支持超过 1TB RAM

性能优化

  1. I/O 线程性能优化,提升多磁盘并发读写场景下的性能

KVM

基于 4.19 版本内核的KVM进行 bug 修复、社区新特性回合和特性增强,重点能力如下:

虚拟机动态IPA

TurboLinux Enterprise Server 15 通过修改 Stage2 页表的分级、布局,支持用户态配置动态的IPA位数,可以支持最多48IPA

Perf性能统计支持ARM虚拟化

支持命令“perf kvm stat record/report”,在虚拟机或 vCPU 粒度统计 exittrap 的类型、次数和时间

IRQfd路径注入中断优化

优化通过 IRQfd 路径注入的中断,降低 vhost-uservhost-netGICv3+ 直通设备(网卡、磁盘)等场景下 CPU 资源消耗。

Open vSwitch

TurboLinux Enterprise Server 15 中配套的 Open vSwitch 为开源社区的 2.11.1 版本,仅进行了 TurboLinux Enterprise Server 15 的内核版本适配。

5.10容器

TurboLinux Enterprise Server 15 中提供容器运行的基础平台 iSulaiSula 基础容器平台同时提供 Docker engine 与轻量化容器引擎 iSulad,用户可根据需要自主选择。

同时,iSula 容器平台还支持运行 kata-containerDockercontainerdrunckata-container 均在社区版本的基础上进行了稳定性增强与 bugfix

iSulad

iSula 在居住于中南美洲亚马逊丛林的巴西原住民眼里,它是一种非常强大的蚂蚁,学术上称为子弹蚁,因为被它咬一口,犹如被子弹打到那般疼痛,它是世界上最强大的昆虫之一。iSulad 作为轻量化的容器底座,可以为多种场景提供最灵活、最稳定、最安全的底层支撑,与子弹蚂蚁小个头、大能量的形象不谋而合。

iSula 通用容器引擎(iSulad)是一种新的容器解决方案,提供统一的架构设计来满足CTIT领域的不同需求。轻量级容器具有轻、灵、巧、快的特点,不受硬件规格和架构的限制,底噪开销更小,可应用领域更为广泛。

iSulad重点能力如下:

容器镜像管理

容器镜像是容器运行的基础,在主机上以分层的形式存放,运行前通过联合挂载的方式挂载成统一视图的rootfs供容器使用。容器的镜像管理包括镜像的拉取、导入、删除以及查询。

容器管理

容器管理功能提供用户创建、运行、停止、删除、重启等操作容器的能力。

CNI网络

实现CRI接口对接CNI网络的能力,包括CNI网络配置文件的解析、CNI网络的加入和退出。

CRI接口

CRI API 接口是由kubernetes 推出的容器运行时接口,CRI定义了容器和镜像的服务接口。iSulad支持CRI接口,实现和kubernetes 的对接。

容器资源管理

对容器使用资源进行动态管理:

  1. namespace共享
  2. 限制运行时的CPU资源
  3. 限制运行时的内存资源
  4. 限制运行时的IO资源
  5. 限制容器rootfs存储空间
  6. 限制容器内文件句柄数
  7. 限制容器内可以创建的进程/线程数
  8. 配置容器内的ulimit

Docker

Docker 的英文本意是码头工人,码头工人的工作就是将商品打包到 Container(集装箱)并且搬运 Container、装载 Container。从 Docker 字面上的解释就可以看出 Docker 是干什么的, 对应到 Linux 中,Docker 就是将App打包到 Container,通过 Container 实现 App 在各种平台上 的部署,运行。Docker 通过 Linux Container 技术将 App 变成一个标准化的、可移植的、自管理的组件,实现了应用的 build oncerun everywhereDocker 技术特点是:应用快速发布、应用部署和扩容简单、更高的应用密度、应用管理更简单。

TurboLinux Enterprise Server 15 集成 moby 18.09 版本,并在版本基础上进行了 bugfix 和稳定性增强。

安全容器

安全容器是虚拟化技术和容器技术的有机结合,相比普通 Linux 容器,安全容器具有更好的隔离性。

普通 Linux 容器利用 namespace 进行进程间运行环境的隔离,并使用 CGroup 进行资源限制;因此普通 Linux 容器本质上还是共用同一个内核,单个容器有意或无意影响到内核都会影响到整台宿主机上的容器。

安全容器是使用虚拟化层进行容器间的隔离,同一个主机上不同的容器间运行互相不受影响。

iSula 容器平台支持创建安全容器,使用 kata-container 作为容器的运行时。

TurboLinux Enterprise Server 15 集成了 kata-container 1.7 版本,该版本主要特性如下:

  1. 在社区版本的基础上,进行了稳定性和可靠性加固
  2. 重构了社区Host Cgroup资源限制方案,支持CPUMemoryBlkio资源限制,更适用于生产环境
  3. 更灵活的网络配置方案,支持通过kata-network接口创建和更新网卡和路由表
  4. 支持DPDK/SPDK高性能网络
  5. 支持容器网络状态信息监控

系统容器

系统容器主要应对在重计算、高性能、大并发的场景下,重型应用和业务云化的问题,相比较虚拟化技术,系统容器可直接继承物理机特性,同时具备性能更优良,较少底噪的优点。从系统资源分配来看,系统容器在有限资源上相比虚拟机可分配更多计算单元,降低成本,通过系统容器可以构建产品的差异化竞争力,提供计算密度更高,价格更便宜,性能更优良的的计算单元实例。

iSula 容器平台支持创建系统容器,并能支持在系统容器内动态调整设备、运行资源,且提供更优秀的 user namespace 隔离。

系统容器相比于普通容器,提供了如下增强特性:

本地文件系统启动

普通容器只能通过远端pull镜像到本地启动,pull镜像过程可能会因网络问题导致耗时较长,而系统容器支持本地文件系统启动,可实现快速部署

容器内运行systemd

系统容器与普通容器最大的差异就在于容器的init进程启动,普通容器无法实现容器启动时自动拉起systemd,而系统容器具备这个能力

增强隔离性

  1. 支持使用lxcfs插件实现容器内资源视图隔离,同时支持lxcfs插件热插拔和高可用
  2. 支持多对应user namespace,实现容器和主机uid/gid隔离
  3. 支持配置容器内namespace化内核参数可读写,在容器内可动态配置namespace化内核参数值

控制容器访问权限

支持通过TLS认证方式来对用户身份进行验证,并通过对接authz插件服务控制用户的操作权限

容器资源动态管理

  1. 动态添加/删除/更新容器内的设备
  2. 动态添加/删除/更新容器内的网卡
  3. 动态添加/删除容器内的路由
  4. 动态添加/删除容器内的卷

其它特性列表

  1. 环境变量持久化
  2. 限制容器内句柄数
  3. 执行reboot/shudown命令
  4. 动态加载内核模块
  5. 共享内存通信

5.11支持鲲鹏生态

TurboLinux Enterprise Server 15 与鲲鹏处理器协同设计开发,提供OS、虚拟化、容器、工具链等基础软件栈能力,打造高安全、高性能、鲲鹏原生等核心 OS 基础设施竞争力。

  1. 多核/重核加速技术:提升鲲鹏芯片多核计算性能。
  2. 芯片级加速技术:HPRE SEC 加速器的软件全栈支持,大幅提升加解密运算、压缩解压缩运算的性能。