第 14 章 文件系统和存储
以下章节包含对 RHEL 8 和 RHEL 9 之间文件系统和存储的最显著的更改。
14.1. 文件系统
XFS 文件系统现在支持 bigtime
和 inobtcount
功能
XFS 文件系统现在支持两个新的 on-disk 功能,它们各自在 RHEL 9 的 mkfs.xfs
中被默认启用。这两个新功能包括:
-
超过 2038 年的时间戳支持(
bigtime
)。 -
索引节点 btree 计数器(
inobtcount
),以减少大型文件系统的挂载时间。
在这个版本中,使用默认 mkfs.xfs
参数创建的文件系统无法在 RHEL 8 系统中挂载。
要创建一个与 RHEL 8 内核兼容的新文件系统,请通过在 mkfs.xfs
命令行中添加 -m bigtime=0,inobtcount=0
来禁用这些新功能。以这种方式创建的文件系统将不支持超过 2038 年的时间戳。
在 RHEL 8 中创建并不支持这些功能的文件系统,可以使用包含文件系统的卸载块设备中的 xfs_admin
实用程序升级。建议在此操作前检查文件系统一致性。该命令还会在更改后在设备上运行 xfs_repair
。
启用 bigtime
支持。
-
xfs_admin -O bigtime=1 /dev/device
启用内节点 btree 计数器:
-
xfs_admin -O inobtcount=1 /dev/device
同时启用这两者:
-
xfs_admin -O bigtime=1,inobtcount=1 /dev/device
详情请查看 xfs_admin(8)
手册页。
RHEL 9 现在支持 exFAT 文件系统
RHEL 9 现在支持 exFAT 文件系统。这是设计用于外部 USB 存储和与其他操作系统间的互操作性和数据交换的文件系统。文件系统并不能是通用的、性能或可扩展的 Linux 文件系统。可通过安装 exfatprogs
软件包并使用 mkfs.exfat
创建 ex FAT 文件系统。
详情请查看 mkfs.exfat(8)
man page。
ext4 文件系统现在支持年超过 2038 的时间戳
ext4 文件系统现在支持超过 2038 年的时间戳。这个功能是完全自动的,不需要任何用户操作就能使用它。唯一的要求是内节点要大于 128 字节,这是默认值。
新的 nfsv4-client-utils
软件包
添加了新软件包 nfsv4-client-utils
,其中包含只支持 NFSv4 的 demons 和工具集合。这是标准的 nfs-utils
软件包的替代。
现在,使用版本 1802 创建 GFS2 文件系统
RHEL 9 中的 GFS2 文件系统采用格式版本 1802 创建。这可启用以下功能:
-
trusted
命名空间的扩展属性 ("trusted.* xattrs") 可被gfs2
和gfs2-utils
识别。 -
rgrplvb
选项默认为活动状态。这允许allowgfs2
将更新的资源组数据附加到 DLM 锁定请求,因此获取锁定的节点不需要从磁盘更新资源组信息。这在某些情况下提高了性能。
使用新格式版本创建的文件系统将无法被挂载到以前的 RHEL 版本以及 fsck.gfs2
工具的旧版本下,将无法对其进行检查。
用户可以运行带有 -o format=1801
选项的 mkfs.gfs2
命令,创建采用较旧版本的文件系统。
用户可以在卸载的文件系统中通过运行 tunegfs2 -r 1802 device
来升级旧文件系统的格式版本。不支持降级格式版本。
Samba 工具中的选项已被重命名和删除,以获得一致的用户体验
Samba 工具已被改进,来提供一致的命令行界面。这些改进包括重命名和删除的选项。因此,为了避免更新后出现问题,请查看使用 Samba 工具的脚本,并在需要时更新它们。
Samba 4.15 在 Samba 工具中引进了以下更改:
- 在以前的版本中,Samba 命令行工具会悄悄忽略未知选项。为防止意外行为,工具现在一致拒绝未知选项。
-
现在,几个命令行选项有一个对应的
smb.conf
变量来控制它们的默认值。请参阅工具的手册页来识别命令行选项是否有smb.conf
变量名。 -
默认情况下,Samba 工具现在记录到标准错误(
stderr
)。使用--debug-stdout
选项更改此行为。 -
--client-protection=off|sign|encrypt
选项已添加到通用解析程序中。 在所有工具中已重命名了以下选项:
-
--Kerberos
变为--use-kerberos=required|desired|off
-
--krb5-ccache
变为--use-krb5-ccache=CCACHE
-
--scope
变为--netbios-scope=SCOPE
-
--use-ccache
变为--use-winbind-ccache
-
以下选项已从所有工具中删除:
-
-e
和--encrypt
-
从
--use-winbind-ccache
中删除了-c
-
从
--netbios-scope
中删除了-i
-
-S
和--signing
-
要避免重复选项,某些选项已从以下工具中删除或重命名了:
-
ndrdump
:-l
对于--load-dso
不再可用 -
net
:-l
对于--long
不再可用 -
sharesec
:-V
对于--viewsddl
不再可用 -
smbcquotas
:--user
已重命名为--quota-user
-
nmbd
:--log-stdout
已重命名为--debug-stdout
-
smbd
:--log-stdout
已重命名为--debug-stdout
-
winbindd
:--log-stdout
已重命名为--debug-stdout
-
cramfs
模块已被删除
由于缺少用户,已删除了 cramfs
内核模块。建议使用 squashfs
作为替代解决方案。
RHEL 9 中删除了强制文件锁定支持
RHEL 9 及更新的版本不再支持强制文件锁定。该内核会忽略 mand
挂载选项,其使用会在系统日志中生成警告。
NFSv2 不再被支持
RHEL 9 NFS 客户端和服务器不再支持 NFSv2。
Stratis 存储管理器现在可用
Stratis 是一个本地存储管理器。它在存储池的上面为用户提供额外的功能:
- 管理快照和精简配置
- 根据需要自动增大文件系统大小
- 维护文件系统
- 池级加密
- TMP2 和 NBDE 支持
要管理 Stratis 存储,使用 stratis
工具来与 stratisd
后台服务进行通信。
如需更多信息,请参阅 Stratis 文档:设置 Stratis 文件系统。
DAX 挂载选项和 reflink 现在兼容
重新链接的文件现在通常与 DAX 模式兼容。文件系统 DAX 挂载选项 -o dax=always
与启用了重新链接的文件系统兼容。已重新链接的文件可以使用 inode 标记设置为 DAX 模式。详情请查看 xfs (5)
手册页。