Red Hat Training

A Red Hat training course is available for RHEL 8

第 12 章 文件系统和存储

12.1. 文件系统

12.1.1. Btrfs 已删除

Red Hat Enterprise Linux 8 删除了 Btrfs 文件系统。这包括以下组件:

  • btrfs.ko 内核模块
  • btrfs-progs 软件包
  • snapper 软件包

您无法再创建、挂载或者安装 Red Hat Enterprise Linux 8 的 Btrfs 文件系统。Anaconda 安装程序和 Kickstart 命令不再支持 Btrfs。

12.1.2. XFS 现在支持共享的 copy-on-write 数据扩展

XFS 支持共享的 copy-on-write 数据扩展功能这个功能可让两个或者多个文件共享一组通用的数据块。当任何一个共享通用块更改的文件时, XFS 会破坏到通用块的链接并创建新文件。这与其他文件系统中找到的 copy-on-write(COW)功能类似。

共享复制时写入数据扩展:

速度快
创建共享副本不会利用磁盘 I/O。
空间效率
共享块不消耗额外的磁盘空间。
透明
共享常见块操作的文件,类似常规文件。

用户空间工具可以使用共享的复制时写入数据扩展:

  • 高效文件克隆,比如使用 cp --reflink 命令
  • 针对文件的快照

内核子系统(如 Overlayfs 和 NFS)也使用这个功能来更有效地操作。

xfsprogs 软件包版本 4.17.0-2.el8 开始,在创建 XFS 文件系统时默认启用共享复制时的数据扩展。

请注意,直接访问(DAX)设备目前不支持带有共享写时复制数据扩展的 XFS。要创建没有这个功能的 XFS 文件系统,请使用以下命令:

# mkfs.xfs -m reflink=0 block-device

Red Hat Enterprise Linux 7 可以使用共享复制时写入数据扩展以只读模式挂载 XFS 文件系统。

12.1.3. ext4 文件系统现在支持元数据 checksum

在这个版本中,ext4 元数据受校验和的保护。这可让文件系统识别损坏的元数据,从而避免损坏并增加文件系统的弹性。

12.1.4. /etc/sysconfig/nfs 文件和旧的 NFS 服务名称不再可用

在 Red Hat Enterprise Linux 8.0 中,NFS 配置已从 /etc/sysconfig/nfs 配置文件移至 /etc/nfs.conf

/etc/nfs.conf 文件使用不同的语法。Red Hat Enterprise Linux 8 尝试在从 Red Hat Enterprise Linux 7 升级时自动将所有选项从 /etc/sysconfig/nfs 转换为 /etc/nfs.conf

这两个配置文件在 Red Hat Enterprise Linux 7 中都被支持。红帽建议您使用新的 /etc/nfs.conf 文件在所有 Red Hat Enterprise Linux 版本与自动配置系统兼容时进行 NFS 配置。

另外,以下 NFS 服务别名已被删除,并使用它们的上游名称替换:

  • nfs.service,被 nfs-server.service 替换
  • nfs-secure.service,被 rpc-gssd.service 替换
  • rpcgssd.service,被 rpc-gssd.service 替换
  • nfs-idmap.service,被 nfs-idmapd.service 替换
  • rpcidmapd.service,被 nfs-idmapd.service 替换
  • nfs-lock.service,被 rpc-statd.service 替换
  • nfslock.service,被 rpc-statd.service 替换