7.5. 文件系统

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

从 Red Hat Enterprise Linux 7.3 开始,直接访问(DAX)作为一个技术预览,为应用程序直接将持久内存映射到其地址空间提供了一种方法。

要使用 DAX,系统必须有某种可用的持久内存,通常使用一个或多个非线内存模块(NVDIMM),且必须在 NVDIMM 上创建支持 DAX 的文件系统。另外,该文件系统必须使用 dax 挂载选项挂载。然后,在 dax 挂载的文件系统中的一个文件 mmap 会把存储直接映射到应用程序的地址空间中。

(BZ#1274459)

pNFS 块布局现在可用

作为技术预览,Red Hat Enterprise Linux 客户端现在可以挂载 pNFS 与块布局功能共享。

请注意,红帽建议使用 pNFS SCSI 布局,该布局类似于块布局,但更易于使用。

(BZ#1111712)

OverlayFS

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

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

与 Docker 一起使用时,在以下限制下可以对 OverlayFS 提供全面支持:

  • OverlayFS 仅支持作为 Docker 图形驱动程序。它只支持容器 COW 内容,而不适用于持久性存储。任何持久性存储都必须放在非 OverlayFS 卷中才能被支持。只能使用默认的 Docker 配置 ; 即,一个级别的 overlay,一个 lowerdir,且低级别和高级别都位于同一个文件系统中。
  • 目前只支持 XFS 作为较低层文件系统使用。
  • 在 Red Hat Enterprise Linux 7.3 及更早版本中,SELinux 必须在物理计算机上以强制模式启用,但在执行容器分离时,必须禁用容器中,即 /etc/sysconfig/docker 文件不得包含 --selinux-enabled。从 Red Hat Enterprise Linux 7.4 开始,OverlayFS 支持 SELinux 安全标签,您可以通过在 /etc/sysconfig/docker 中指定 --selinux-enabled 来启用容器的 SELinux 支持。
  • OverlayFS 内核 ABI 和用户空间的行为被视为不稳定,并可能会在以后的版本中有所变化。
  • 为了让 yum 和 rpm 实用程序在容器内正常工作,该用户应使用 yum-plugin-ovl 软件包。

请注意,OverlayFS 提供一组受限的 POSIX 标准。在使用 OverlayFS 部署前,先测试您的应用程序。

请注意,必须在启用了 -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 相关的已知问题。详情请查看 Linux 内核文档中非标准行为

(BZ#1206277)

btrfs 文件系统

在红帽企业 Linux 7 中,B-Tree 文件系统 Btrfs 作为技术预览提供。

Red Hat Enterprise Linux 7.4 引入了对这个功能的最后计划更新。Btrfs 已被弃用,这意味着红帽不会将 Btrfs 移至完全支持的功能,并将在以后的 Red Hat Enterprise Linux 主要版本中被删除。

(BZ#1477977)