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)