TLES V15.00
本文介绍 TurboLinux Enterprise Server 15 版本的发行说明。
目录
商标声明
版权所有© 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 所需的最小硬件要求如下表所示。
TurboLinux Enterprise Server 15 基础的规格参数,如下表所示:
类别 |
规格 |
核心参数 |
Kernel 4.19 |
Glibc 2.28 |
|
GCC 8.3.1 |
|
systemd 239 |
|
标准符合度 |
符合POSIX标准
|
架构支持 |
AArch64 |
核心支持能力
|
支持的最大内存 AArch64:2TB |
最大文件大小 ext4:16TB |
|
文件系统默认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 包含的 C、C++、Objective C、Fortran 支持Java、Go 相应支持库(libstdc++、libgcj等) |
支持 Python2/Python3、Perl、Shell 等脚本语言 |
安装程序
TurboLinux Enterprise Server 15 改进了安装程序 Anaconda,并做了个性化定制和修改,方便用户安装。
使用 GRUB2 作为启动引导程序,稳定方便。
TurboLinux Enterprise Server 15 使用 Lorax 工具构建镜像。Lorax 包含了一系列工具,主要有以下两个:
Lorax 使用指导请参见其官方文档。
TurboLinux Enterprise Server 15 中使用的默认文件系统是 ext4,ext4 向下兼容于 ext3/ext2 文件系统,可以将 ext3/ext2 挂载为 ext4 分区。
ext4 的主要特性:
另外,TurboLinux Enterprise Server 15 也对 ext4 进行了一些bug修复和优化,主要优化点如下:
TurboLinux Enterprise Server 15 支持高性能的日志文件系统 XFS,并提供了专门用于 XFS 备份和恢复的工具 xfsdump 和 xfsrestore 。XFS 需要关注的主要特性如下:
TurboLinux Enterprise Server 15 kernel 基于 Linux 社区 kernel 4.19 版本,并在可靠性、安全性、虚拟化、性能等方面做了针对性的增强,更好地支持鲲鹏系列处理器。TurboLinux Enterprise Server 15 基于该版本 kernel 的主要修改如下:
支持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 miss,LL cache miss,tlb miss等事件,增强perf调优功能。
Numa Aware Qspinlock:对现有的qspinlock做增强,将锁的等待队列分成两个,本地NUMA节点等待队列和远程NUMA节点等待队列,本地NUMA节点等待队列的线程有限获取锁,减少跨NUMA节点的Cache/总线冲突,从而提升性能
MMU gather:减少TLB flush,从而提升性能
关键驱动如中断控制器 ITS 和 SMMU 的内存分配 NUMA Aware
通过优化 IOVA 页表查找和页表释放算法,提升 IO MMU 子系统性能
减少关键结构体的 cache false sharing,从而提升性能
CRC32 和 checksum 加速
根据 ARM64 指令以及流水线特点,优化 CRC32 及 checksum 实现,大幅提升数据校验性能。
Cache与内存带宽的分配与监控:支持 ARM v8.4 MPAM(Memory System Resource Partitioning and Monitoring)特性。
内存热添加:支持动态添加虚拟内存。
CPU热插拔:支持动态添加虚拟机CPU。
支持限制 page cache 占用内存的比例:支持限制 page cache 占用内存的比例,避免系统因Page Cache 过多而影响业务的性能或者 OOM。
支持鲲鹏处理器相关的驱动:
支持 HiSilicon SAS 驱动
支持 HNS 和 HNS3 板载网卡
支持 hinic 智能网卡
TurboLinux Enterprise Server 15 使用 systemd 进行系统和服务的管理,systemd 与 SysV 和 Linux 标准的 init 脚本兼容。systemd 具备下列优势:
TurboLinux Enterprise Server 15 修复问题:
GCC 8.3.1 包括了 C、C++、Fortran 的前端,也包括了这些语言的库(如libstdc++、libgcc等),TurboLinux Enterprise Server 15 配套编译器为 GCC 8.3.1,并在此基础上进行了特性增强和漏洞修复,其主要更新如下:
特性增强
安全漏洞修复
JDK(Java Development Kit)是 Java 开发者进行 Java 开发所必须的软件包,包含 JRE(Java Runtime Environment)和编译、调测工具。TurboLinux Enterprise Server 15 配套 JDK 为 OpenJDK 8, 并在此基础上进行了 GC 优化、并发稳定性增强、安全性增强等,提高了 Java 应用程序在 ARM 上的性能和稳定性,其主要特性和更新如下:
特性
特性增强
问题修复
TurboLinux Enterprise Server 15 提供多重安全手段,包括身份识别与认证、安全协议、强制访问控制、完整性保护、安全审计等安全机制,保障操作系统的安全性,为各类上层应用提供安全基础。
5.8系统调测
Kdump 是 Linux 内核态异常后的一种转储内存数据的机制。Kdump 服务启动时预先加载的 kdump 内核,通过这个小内核,重新挂载系统分区,通过 kdump工具,将崩溃内核的内存以转储vmcore文件的方式保存到系统盘上,开发和维护工程师可以利用 crash 工具打开 vmcore,分析系统崩溃原因。
能够触发 kdump 包含:内核地址访问异常(oops)、系统内核严重异常(panic)、内核态死循环(软件狗狗叫)、长时间关中断(NMI狗狗叫)、系统内存耗尽(oom)。
特性增强
支持性能调测工具(Perf)
Perf 是一个功能强大的性能分析工具,可以实现对程序硬件事件、软件事件、内核 tracepoint 及硬件断点等性能指标的监视,这些性能指标可以帮助程序员定位性能瓶颈,方便进行性能调优。
通过 Perf 工具,应用程序可以利用 PMU,tracepoint 和内核中的特殊计数器来进行性能统计。Perf 工具不但可以分析指定应用程序的性能问题 ,也可以用来分析内核的性能问题,可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。
blktrace 是一个针对 Linux 内核中块设备I/O层的跟踪工具,用来收集磁盘IO信息中当IO进行到块设备层时的详细信息(如 IO 请求提交、入队、合并、完成等等一些列的信息)。
通过使用这个工具,使用者可以获取I/O请求队列的各种详细的情况,包括进行读写的进程名称、进程号、执行时间、读写的物理块号、块大小等等,是一个 Linux下分析 I/O 相关内容的很好的工具。
5.9虚拟化
TurboLinux Enterprise Server 15 中配套 Qemu 为 4.0.0 版本,相比早期版本修复了诸多缺陷并进行了特性和设备支持能力的增强,重要更新如下:
特性增强
设备支持
性能优化
基于 4.19 版本内核的KVM进行 bug 修复、社区新特性回合和特性增强,重点能力如下:
虚拟机动态IPA
TurboLinux Enterprise Server 15 通过修改 Stage2 页表的分级、布局,支持用户态配置动态的IPA位数,可以支持最多48位IPA
Perf性能统计支持ARM虚拟化
支持命令“perf kvm stat record/report”,在虚拟机或 vCPU 粒度统计 exit、trap 的类型、次数和时间
IRQfd路径注入中断优化
优化通过 IRQfd 路径注入的中断,降低 vhost-user、vhost-net、GICv3+ 直通设备(网卡、磁盘)等场景下 CPU 资源消耗。
TurboLinux Enterprise Server 15 中配套的 Open vSwitch 为开源社区的 2.11.1 版本,仅进行了 TurboLinux Enterprise Server 15 的内核版本适配。
TurboLinux Enterprise Server 15 中提供容器运行的基础平台 iSula。iSula 基础容器平台同时提供 Docker engine 与轻量化容器引擎 iSulad,用户可根据需要自主选择。
同时,iSula 容器平台还支持运行 kata-container。Docker、containerd、runc、kata-container 均在社区版本的基础上进行了稳定性增强与 bugfix。
iSula 在居住于中南美洲亚马逊丛林的巴西原住民眼里,它是一种非常强大的蚂蚁,学术上称为“子弹蚁”,因为被它咬一口,犹如被子弹打到那般疼痛,它是世界上最强大的昆虫之一。iSulad 作为轻量化的容器底座,可以为多种场景提供最灵活、最稳定、最安全的底层支撑,与子弹蚂蚁“小个头、大能量”的形象不谋而合。
iSula 通用容器引擎(iSulad)是一种新的容器解决方案,提供统一的架构设计来满足CT和IT领域的不同需求。轻量级容器具有轻、灵、巧、快的特点,不受硬件规格和架构的限制,底噪开销更小,可应用领域更为广泛。
iSulad重点能力如下:
容器镜像管理
容器镜像是容器运行的基础,在主机上以分层的形式存放,运行前通过联合挂载的方式挂载成统一视图的rootfs供容器使用。容器的镜像管理包括镜像的拉取、导入、删除以及查询。
容器管理
容器管理功能提供用户创建、运行、停止、删除、重启等操作容器的能力。
CNI网络
实现CRI接口对接CNI网络的能力,包括CNI网络配置文件的解析、CNI网络的加入和退出。
CRI接口
CRI API 接口是由kubernetes 推出的容器运行时接口,CRI定义了容器和镜像的服务接口。iSulad支持CRI接口,实现和kubernetes 的对接。
容器资源管理
对容器使用资源进行动态管理:
Docker 的英文本意是码头工人,码头工人的工作就是将商品打包到 Container(集装箱)并且搬运 Container、装载 Container。从 Docker 字面上的解释就可以看出 Docker 是干什么的, 对应到 Linux 中,Docker 就是将App打包到 Container,通过 Container 实现 App 在各种平台上 的部署,运行。Docker 通过 Linux Container 技术将 App 变成一个标准化的、可移植的、自管理的组件,实现了应用的 build once、run everywhere。Docker 技术特点是:应用快速发布、应用部署和扩容简单、更高的应用密度、应用管理更简单。
TurboLinux Enterprise Server 15 集成 moby 18.09 版本,并在版本基础上进行了 bugfix 和稳定性增强。
安全容器是虚拟化技术和容器技术的有机结合,相比普通 Linux 容器,安全容器具有更好的隔离性。
普通 Linux 容器利用 namespace 进行进程间运行环境的隔离,并使用 CGroup 进行资源限制;因此普通 Linux 容器本质上还是共用同一个内核,单个容器有意或无意影响到内核都会影响到整台宿主机上的容器。
安全容器是使用虚拟化层进行容器间的隔离,同一个主机上不同的容器间运行互相不受影响。
iSula 容器平台支持创建安全容器,使用 kata-container 作为容器的运行时。
TurboLinux Enterprise Server 15 集成了 kata-container 1.7 版本,该版本主要特性如下:
系统容器主要应对在重计算、高性能、大并发的场景下,重型应用和业务云化的问题,相比较虚拟化技术,系统容器可直接继承物理机特性,同时具备性能更优良,较少底噪的优点。从系统资源分配来看,系统容器在有限资源上相比虚拟机可分配更多计算单元,降低成本,通过系统容器可以构建产品的差异化竞争力,提供计算密度更高,价格更便宜,性能更优良的的计算单元实例。
iSula 容器平台支持创建系统容器,并能支持在系统容器内动态调整设备、运行资源,且提供更优秀的 user namespace 隔离。
系统容器相比于普通容器,提供了如下增强特性:
本地文件系统启动
普通容器只能通过远端pull镜像到本地启动,pull镜像过程可能会因网络问题导致耗时较长,而系统容器支持本地文件系统启动,可实现快速部署
容器内运行systemd
系统容器与普通容器最大的差异就在于容器的init进程启动,普通容器无法实现容器启动时自动拉起systemd,而系统容器具备这个能力
增强隔离性
控制容器访问权限
支持通过TLS认证方式来对用户身份进行验证,并通过对接authz插件服务控制用户的操作权限
容器资源动态管理
其它特性列表
TurboLinux Enterprise Server 15 与鲲鹏处理器协同设计开发,提供OS、虚拟化、容器、工具链等基础软件栈能力,打造高安全、高性能、鲲鹏原生等核心 OS 基础设施竞争力。