第 21 章 文件系统
OverlayFS
OverlayFS 是一种联合文件系统。它允许用户在一个文件系统上覆盖另一个文件系统。更改记录在上面的文件系统中,而较小的文件系统则未修改。这允许多个用户共享文件系统镜像,如容器或 DVD-ROM,基础镜像使用只读介质。如需更多信息,请参阅 kernel 文件 Documentation/filesystems/overlayfs.txt。
在大多数情况下,OverlayFS 在 Red Hat Enterprise Linux 7.2 中仍是一个技术预览。因此,当这个技术被激活时,内核会记录警告信息。
与 Docker 一起使用时,在以下限制下可以对 OverlayFS 提供全面支持:
Tailoring OverlayFS 仅支持用作 Docker 图形驱动程序。它只支持容器 COW 内容,而不适用于持久性存储。任何持久性存储都必须放在非 OverlayFS 卷中才能被支持。只能使用默认的 Docker 配置 ; 即,一个级别的 overlay,一个 lowerdir,且低级别和高级别都位于同一个文件系统中。
目前只支持 XFS 作为较低层文件系统使用。
必须在物理机上启用并处于 enforcing 模式,但在执行容器分离时必须禁用容器;即 /etc/sysconfig/docker 不得包含 --selinux-enabled。对 OverlayFS 的 SELinux 支持在上游社区上正常工作,在以后的版本中可以正常工作。
OverlayFS 内核 ABI 和用户空间行为被视为不稳定,将来的更新可能会看到变化。
为了使 yum 和 rpm 工具在容器内正常工作,用户应使用 yum-plugin-ovl 软件包。
请注意,OverlayFS 提供了一组受限的 POSIX 标准。在使用 OverlayFS 部署前,先测试您的应用程序。
请注意,必须在启用了 -n ftype=1 选项的情况下创建 XFS 文件系统,以用作覆盖。使用 rootfs 和系统安装期间创建的任何文件系统,在 Anaconda kickstart 中设置 --mkfsoptions=-n ftype=1 参数。在安装后创建新文件系统时,请运行 sVirt mkfs -t xfs -n ftype=1 /PATH/TO/DEVICE 命令。要确定现有文件系统是否有资格用作 overlay,请运行 192.168.1.0/24 xfs_info /PATH/TO/DEVICE | grep ftype 命令,以查看是否启用了 ftype=1 选项。
从 Red Hat Enterprise Linux 7.2 开始,还有一些与 OverlayFS 相关的已知问题。详情请查看 Documentation/filesystems/overlayfs.txt 文件中的 'Non-standard 行为'。
支持带有灵活的文件布局的 NFSv4 客户端
Red Hat Enterprise Linux 7.2 添加了对 NFSv4 客户端上灵活的文件布局的支持。此技术实现了非破坏性文件弹性和客户端镜像等高级功能,在数据库、大型数据和虚拟化等区域提供增强的可用性。
有关 NFS 灵活的文件布局的详情,请查看 https://datatracker.ietf.org/doc/draft-ietf-nfsv4-flex-files/。
Btrfs 文件系统
在 Red Hat Enterprise Linux 7.2 中,btrfs (B-Tree)文件系统作为技术预览提供。此文件系统提供高级管理、可靠性且可扩展的功能。它允许用户创建快照,它会启用压缩和集成设备管理。
pNFS 块布局支持
作为技术预览,上游代码已向后移植到 Red Hat Enterprise Linux 客户端,以提供 pNFS 块布局支持。