Red Hat Training

A Red Hat training course is available for RHEL 8

5.3. 技术预览

这部分提供了 Red Hat Enterprise Linux 8.0 中所有可用的技术预览列表。

如需有关红帽对技术预览功能支持范围的信息,请参阅 技术预览功能支持范围

5.3.1. 内核

eBPF 作为技术预览

扩展的 Berkeley 数据包过滤(eBPF) 功能作为一个技术预览用于网络和追踪。eBPF 可让用户空间将自定义程序附加到多个点(套接字、追踪点、数据包接收)上,从而接收和处理数据。该功能包括一个新的系统调用 bpf(),它支持创建各种映射类型,并将各种类型的程序插入到内核中。请注意,只有具有 CAP_SYS_ADMIN 能力的用户(如一个 root 用户)才可以成功使用 bpf() syscall。更多信息,请参阅 bpf(2) man page。

(BZ#1559616)

BCC 作为技术预览提供

BPF Compiler Collection(BCC) 是一个用户空间工具工具包,用于创建高效的内核跟踪和操作程序,在 Red Hat Enterprise Linux 8 中作为技术预览提供。BCC 提供用于使用 扩展 Berkeley Packet 过滤(eBPF) 的 Linux 操作系统的 I/O 分析、网络和监控工具。

(BZ#1548302)

Control Group v2 在 RHEL 8 中作为技术预览提供

控制组 v2 机制是统一的层次结构控制组。控制组 v2 以分层方式组织进程,并以受控和可配置的方式在层次结构中分发系统资源。

与上一版本不同,Control Group v2 只具有一个层次结构。这个单一层次结构使 Linux 内核能够:

  • 根据拥有者的角色对进程进行分类。
  • 解决多个分级冲突策略的问题。

控制组 v2 支持大量控制器:

  • CPU 控制器规定了 CPU 周期的分布。这个控制器实现:

    • 常规调度策略的权重和绝对带宽限制模型。
    • 实时调度策略的绝对带宽分配模型。
  • 内存控制器规定了内存分布。目前,会追踪以下类型的内存用量:

    • Userland memory - 页面缓存和匿名内存。
    • 内核数据结构,如密度和内节点。
    • TCP 套接字缓冲。
  • I/O 控制器规定了 I/O 资源的分配。
  • 回写控制器与 Memory 和 I/O 控制器交互,并且特定于 Control Group v2

以上信息基于链接 :https://www.kernel.org/doc/Documentation/cgroup-v2.txt。您可以参考同一链接来获取特定的 Control Group v2 控制器的更多信息。

(BZ#1401552)

在 Red Hat Enterprise Linux 8 中,早期 kdump 作为技术预览提供

早期 kdump 功能允许崩溃内核和 initramfs 加载足够早的负载,以便在早期崩溃时捕获 vmcore 信息。有关 early-kdump 的详情,请查看 /usr/share/doc/kexec-tools/early-kdump-howto.txt 文件。

(BZ#1520209)

ibmvnic 设备驱动程序作为技术预览提供

使用 Red Hat Enterprise Linux 8.0 ,IBM POWER 架构的 IBM Virtual Network Interface Controller(vNIC)驱动程序 ibmvnic 作为技术预览提供。vNIC 是一个提供企业功能并简化网络管理的 PowerVM 虚拟网络技术。当与 SR-IOV NIC 结合,在虚拟 NIC 级别提供带宽控制服务质量(QoS)功能时,它是一种高性能、有效的技术。vNIC 可以显著减少虚拟化开销,从而降低延迟,减少服务器资源,包括网络虚拟化所需的 CPU 和内存。

(BZ#1524683)

soft-RoCE 作为技术预览提供

通过融合以太网的远程直接内存访问(RDMA)是一种网络协议,其通过以太网实现 RDMA。soft-RoCE 是 RoCE 的软件实施,它支持两种协议版本:RoCE v1 和 RoCE v2。在 RHEL 8 中,Soft-RoCE 驱动程序 rdma_rxe 作为不受支持的技术预览提供。

(BZ#1605216)

5.3.2. 图形基础结构

VNC 远程控制台作为 64 位 ARM 架构的一个技术预览提供

在 64 位 ARM 架构中,虚拟网络计算(VNC)远程控制台可作为技术预览使用。请注意,在 64 位 ARM 架构中,目前图形堆栈的其它部分没有被验证。

(BZ#1698565)

5.3.3. 硬件启用

集群感知的 MD RAID1 作为技术预览提供。

默认情况下,在内核空间中不启用 RAID1 集群。如果要尝试使用 RAID1 集群,首先需要构建将 RAID1 集群作为模块的内核,使用以下步骤:

  1. 输入 make menuconfig 命令。
  2. 输入 make && make modules && make modules_install && make install 命令。
  3. 输入 reboot 命令。

(BZ#1654482)

5.3.4. 身份管理

DNSSEC 在 IdM 中作为技术预览提供

带有集成 DNS 的身份管理(IdM)服务器现在支持 DNS 安全扩展(DNSSEC),这是一组增强 DNS 协议安全性的 DNS 扩展。托管在 IdM 服务器上的 DNS 区可以使用 DNSSEC 自动签名。加密密钥是自动生成和轮转的。

建议那些决定使用 DNSSEC 保护 DNS 区的用户读取并遵循这些文档:

请注意,集成了 DNSSEC 的 IdM 服务器验证从其他 DNS 服务器获取的 DNS 答案。这可能会影响未按照推荐的命名方法配置的 DNS 区域可用性。

(BZ#1664718)

身份管理 JSON-RPC API 作为技术预览

一个 API 可用于 Identity Management(IdM)。要查看 API,IdM 还提供了一个 API 浏览器作为技术预览。

在 Red Hat Enterprise Linux 7.3 中,IdM API 被改进来启用多个 API 命令版本。在以前的版本中,增强功能可能会以不兼容的方式改变命令的行为。用户现在可以继续使用已有的工具和脚本,即使 IdM API 发生了变化。这可启用:

  • 管理员要在服务器中使用之前或更高版本的 IdM,而不是在管理客户端中使用。
  • 开发人员使用 IdM 调用的特定版本,即使 IdM 版本在服务器上发生了变化。

在所有情况下,与服务器进行通信是可能的,无论是否一方使用,例如,一个新的版本会为这个功能引进新的选项。

有关使用 API 的详细信息,请参阅使用身份管理 API 与 IdM 服务器通信(TECHNOLOGY PREVIEW)

(BZ#1664719)

5.3.5. 文件系统和存储

Aero 适配器作为技术预览提供

以下 Aero 适配器作为技术预览提供:

  • PCI ID 0x1000:0x00e2 和 0x1000:0x00e6,由 mpt3sas 驱动程序控制
  • PCI ID 0x1000:Ox10e5 和 0x1000:0x10e6,由 megaraid_sas 驱动程序控制

(BZ#1663281)

Stratis 现在可用

Stratis 是一个新的本地存储管理器。它在存储池的上面为用户提供额外的功能。

Stratis 可让您更轻松地执行存储任务,比如:

  • 管理快照和精简配置
  • 根据需要自动增大文件系统大小
  • 维护文件系统

要管理 Stratis 存储,使用 stratis 工具来与 stratisd 后台服务进行通信。

Stratis 作为技术预览提供。

如需更多信息,请参阅 Stratis 文档:建立 Stratis 文件系统

(JIRA:RHELPLAN-1212)

OverlayFS

OverlayFS 是一种联合文件系统。它允许您在另一个文件系统上覆盖一个文件系统。更改记录在上面的文件系统中,而较小的文件系统则未修改。这允许多个用户共享文件系统镜像,如容器或 DVD-ROM,基础镜像使用只读介质。详情请查看 Linux 内核文档:https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt

在大多数情况下,OverlayFS 仍是一个技术预览。因此,当这个技术被激活时,内核会记录警告信息。

与支持的容器引擎(podmancri-obuildah)一同使用时,对 OverlayFS 提供的全面支持包括以下限制:

  • OverlayFS 仅支持作为容器引擎图形驱动程序使用。它只针对容器 COW 内容支持,而不适用于持久性存储。您必须将任何持久性存储放在非OverlayFS 卷中。只有默认容器引擎配置才能使用;即,同一文件系统中有一个覆盖级别、一个较低级别和上级。
  • 目前只支持 XFS 作为较低层文件系统使用。

另外,以下规则和限制适用于使用 OverlayFS:

  • OverlayFS 内核 ABI 和用户空间行为被视为不稳定,将来的更新可能会看到变化。
  • OverlayFS 提供一组受限的 POSIX 标准。在使用 OverlayFS 部署前,先测试您的应用程序。以下情况与 POSIX 不兼容:

    • O_RDONLY 打开的较低文件在读取文件时不会接收 st_atime 更新。
    • 使用 O_RDONLY 打开的较低文件,然后与 MAP_SHARED 映射与后续修改不一致。
    • RHEL 8 中不默认启用完全兼容 st_inod_ino 值,但您可以使用模块选项或挂载选项为它们启用完整的 POSIX 合规性。

      要获得一致的内节点编号,请使用 xino=on 挂载选项。

      您还可以使用 redirect_dir=onindex=on 选项提高 POSIX 合规性。这两个选项使上层的格式与没有这些选项的 overlay 不兼容。也就是说,如果您使用 redirect_dir=onindex=on 创建覆盖,卸载覆盖,然后在没有这些选项的情况下挂载覆盖,则可能会出现意外的结果或错误。

  • 与 XFS 一起使用的命令:

    • 必须在启用了 -n ftype=1 选项的情况下创建 XFS 文件系统,以用作覆盖。
    • 使用 rootfs 和系统安装过程中创建的任何文件系统,在 Anaconda kickstart 中设置 --mkfsoptions=-n ftype=1 参数。
    • 在安装后创建新文件系统时,请运行 # mkfs -t xfs -n ftype=1 /PATH/TO/DEVICE 命令。
    • 要确定现有文件系统是否有资格用作覆盖,请运行 # xfs_info /PATH/TO/DEVICE | grep ftype 命令来查看是否启用了 ftype=1 选项。
  • 使用 OverlayFS 在所有支持的容器引擎中默认启用 SELinux 安全标签。
  • 本发行版本中有几个与 OverlayFS 相关的已知问题。详情请查看 Linux 内核文档中的 非标准行为: https://www.kernel.org/doc/Documentation/filesystems/overlayfs.txt

(BZ#1690207)

现在 ext4 和 XFS 作为技术预览提供文件系统 DAX

在 Red Hat Enterprise Linux 8.0 中,文件系统 DAX 作为技术预览提供。DAX 提供了将持久内存直接映射到其地址空间的方法。要使用 DAX,系统必须有某种可用的持久内存,通常使用一个或多个非线内存模块(NVDIMM),且必须在 NVDIMM 上创建支持 DAX 的文件系统。另外,该文件系统必须使用 dax 挂载选项挂载。然后,在 dax 挂载的文件系统中的一个文件 mmap 会把存储直接映射到应用程序的地址空间中。

(BZ#1627455)

5.3.6. 高可用性和集群

pacemaker podman bundles 作为技术预览

pacemaker 容器捆绑包现在在 podman 容器平台上运行,容器捆绑包功能作为一个技术预览可用。其中一个功能例外于技术预览:红帽完全支持在 Red Hat Openstack 中使用 Pacemaker 捆绑包。

(BZ#1619620)

5.3.7. 网络

XDP 作为技术预览提供

eXpress Data Path(XDP)功能作为技术预览提供。它提供了在内核入口数据路径早期为高性能数据包处理附加扩展 Berkeley Packet Filter(eBPF)程序的方法,从而可以进行高效的可编程数据包分析、过滤和操作。

(BZ#1503672)

用于 tc 的 eBPF 作为技术预览

作为技术预览,流量控制(tc)内核子系统和 tc 工具附加扩展 Berkeley Packet 过滤(eBPF)程序作为数据包分类器,以及用于入口和出站队列规则的操作。这可实现内核网络数据路径内的可编程数据包处理。

(BZ#1699825)

AF_XDP 作为技术预览

Address Family eXpress Data Path (AF_XDP) 是设计用于处理高性能数据包。它包含 XDP,并允许通过编程方式将选定的数据包高效地重定向到用户空间应用,以便进一步处理。

(BZ#1633143)

KTLS 作为技术预览提供

在 Red Hat Enterprise Linux 8 中,KTLS 是作为技术预览提供的。KTLS 使用内核中的对称加密或者解密算法为 AES-GCM 密码处理 TLS 记录。KTLS 还提供将 TLS 记录加密卸载到支持此功能的网络接口控制器(NIC)的接口。

(BZ#1570255)

TIPC 作为技术预览提供

Transparent Inter Process Communication(TIPC)是一种专门为松散配对节点集群内的高效通信而设计的协议。它可作为内核模块使用,并在 iproute2 软件包中提供了一个 tipc 工具,以便设计人员能够快速并可靠地创建与其它应用程序通信的应用程序,而无论它们在集群中的位置。此功能作为技术预览提供。

(BZ#1581898)

systemd-resolved 服务现在作为技术预览提供

systemd-resolved 服务为本地应用程序提供名字解析。该服务实现了缓存和验证 DNS stub 解析器、链接本地多播名称解析(LLMNR)以及多播 DNS 解析器和响应程序。

请注意,即使 systemd 软件包提供了 systemd -resolved,这个服务仍是一个不受支持的技术预览。

(BZ#1906489)

5.3.8. Red Hat Enterprise Linux System Roles

RHEL 系统角色的 postfix 角色作为技术预览

Red Hat Enterprise Linux 系统角色为 Red Hat Enterprise Linux 子系统提供了一个配置界面,这有助于通过包含 Ansible 角色来简化系统配置。这个界面支持在多个 Red Hat Enterprise Linux 版本间管理系统配置,并使用新的主发行版本。

rhel-system-roles 软件包通过 AppStream 软件仓库发布。

postfix 角色是作为技术预览提供的。

以下角色被完全支持:

  • kdump
  • network
  • selinux
  • timesync

如需更多信息,请参阅有关 RHEL 系统角色的知识库文章

(BZ#1812552)

5.3.9. 虚拟化

用于 KVM 虚拟机的 AMD SEV

作为技术预览,RHEL 8 为使用 KVM 管理程序的 AMD EPYC 主机引入了安全加密虚拟化(SEV)功能。如果在虚拟机(VM)上启用,SEV 会加密虚拟机内存,因此主机不能访问虚拟机上的数据。如果主机被恶意软件成功损坏,这可以提高虚拟机的安全性。

请注意,在单一主机上同时可以使用此功能的虚拟机数量是由主机硬件决定的。当前的 AMD EPYC 处理器支持使用 SEV 运行最多 15 个正在运行的虚拟机。

也请注意,对于将 SEV 配置为可以引导的虚拟机,还必须使用硬内存限制配置虚拟机。要做到这一点,请在虚拟机 XML 配置中添加以下内容:

<memtune>
  <hard_limit unit='KiB'>N</hard_limit>
</memtune>

建议 N 的值等于或大于客户机 RAM + 256 MiB。例如:如果为客户端分配 2 GiB RAM,则 N 应该为 2359296 或更高。

(BZ#1501618, BZ#1501607)

Intel vGPU

作为技术预览,现在可以将物理 Intel GPU 设备划分为多个虚拟设备(称为 mediated devices)。然后可将这些 mediated devices 分配给多个虚拟机(VM)作为虚拟 GPU。因此,这些虚拟机共享单个物理 Intel GPU 的性能。

请注意,只有所选 Intel GPU 与 vGPU 功能兼容。另外,为虚拟机分配物理 GPU 使得主机无法使用 GPU,并可能阻止主机的图形显示输出工作。

(BZ#1528684)

IBM POWER 9 上现在可用的嵌套虚拟化

作为技术预览,现在可以使用在 IBM POWER 9 系统上运行的 RHEL 8 主机机器上的嵌套虚拟化功能。嵌套虚拟化使得 KVM 虚拟机(VM)充当虚拟机监控程序,允许在虚拟机内运行虚拟机。

请注意,嵌套虚拟化在 AMD64 和 Intel 64 系统中也是一个技术预览。

另请注意,要使嵌套虚拟化在 IBM POWER 9、主机、客户机和嵌套客户机上工作,目前都需要运行以下操作系统之一:

  • RHEL 8
  • 用于 POWER 9 的 RHEL 7

(BZ#1505999, BZ#1518937)

KVM 虚拟化可用于 RHEL 8 Hyper-V 虚拟机

作为技术预览,现在可将嵌套的 KVM 虚拟化用于 Microsoft Hyper-V hypervisor。因此,您可以在运行在 Hyper-V 主机的 RHEL 8 虚拟机中创建虚拟机。

请注意目前,这个功能仅适用于 Intel 系统。另外,在一些情况下,Hyper-V 中不默认启用嵌套虚拟化。要启用它,请参阅以下文档:

https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

(BZ#1519039)

5.3.10. 容器

podman-machine 命令不被支持

用于管理虚拟机的 podman-machine 命令仅作为技术预览提供。相反,请直接从命令行运行 Podman。

(JIRA:RHELDOCS-16861)