Chapter 14. File systems and storage
This chapter lists the most notable changes to file systems and storage between RHEL 8 and RHEL 9.
14.1. File systems
The XFS filesystem now supports bigtime
and inobtcount
features
The XFS filesystem now supports two new on-disk features, each of which is enabled by default by mkfs.xfs
in RHEL 9. These two new features are:
-
Timestamp support beyond the year 2038 (
bigtime
). -
Inode btree counters (
inobtcount
), to reduce mount time on large filesystems.
As a result of this update, filesystems created with default mkfs.xfs
parameters will not be mountable on RHEL 8 systems.
To create a new filesystem that will be compatible with the RHEL 8 kernel, disable these new features by adding -m bigtime=0,inobtcount=0
to the mkfs.xfs
command line. A filesystem created in this way will not support timestamps beyond the year 2038.
A filesystem created in RHEL 8 which does not support these features may be upgraded using the xfs_admin
utility on the unmounted block device containing the filesystem. It is recommended to check the filesystem for consistency prior to this operation. The command will also cause an xfs_repair
to be run on the device after the change.
To enable bigtime
support:
-
xfs_admin -O bigtime=1 /dev/device
To enable inode btree counters:
-
xfs_admin -O inobtcount=1 /dev/device
To enable both at the same time:
-
xfs_admin -O bigtime=1,inobtcount=1 /dev/device
See the xfs_admin(8)
man page for details.
The exFAT filesystem is now supported in RHEL 9
The exFAT filesystem is now supported in RHEL 9. This is a filesystem designed for external USB storage and interoperability and data exchange with other operating systems. The filesystem is not intended as a general-purpose, performant, or scalable Linux filesystem. An exFAT filesystem may be created by installing the exfatprogs
package and using the mkfs.exfat utility
.
See the mkfs.exfat(8)
man page for details.
ext4 filesystem now supports timestamps beyond the year 2038
The ext4 filesystem is now supporting timestamps beyond the year 2038. This feature is fully automatic and does not require any user action to leverage it. The only requirement is that the inode size is larger than 128 bytes, which it is by default.
New nfsv4-client-utils
package
New package nfsv4-client-utils
, which contains a minimal set of the demons and tool required to support only NFSv4 has been added. This is a replacement for the standard nfs-utils
package.
GFS2 file systems are now created with format version 1802
GFS2 file systems in RHEL 9 are created with format version 1802. This enables the following features:
-
Extended attributes in the
trusted
namespace ("trusted.* xattrs") are recognized bygfs2
andgfs2-utils
. -
The
rgrplvb
option is active by default. This allowsgfs2
to attach updated resource group data to DLM lock requests, so the node acquiring the lock does not need to update the resource group information from disk. This improves performance in some cases.
File systems created with the new format version will not be able to be mounted under earlier RHEL versions and older versions of the fsck.gfs2
utility will not be able to check them.
Users can create a file system with the older format version by running the mkfs.gfs2
command with the option -o format=1801
.
Users can upgrade the format version of an older file system running tunegfs2 -r 1802 device
on an unmounted file system. Downgrading the format version is not supported.
Options in Samba utilities have been renamed and removed for a consistent user experience
The Samba utilities have been improved to provide a consistent command-line interface. These improvements include renamed and removed options. Therefore, to avoid problems after the update, review your scripts that use Samba utilities, and update them, if necessary.
Samba 4.15 introduces the following changes to the Samba utilities:
- Previously, Samba command-line utilities silently ignored unknown options. To prevent unexpected behavior, the utilities now consistently reject unknown options.
-
Several command-line options now have a corresponding
smb.conf
variable to control their default value. See the man pages of the utilities to identify if a command-line option has ansmb.conf
variable name. -
By default, Samba utilities now log to standard error (
stderr
). Use the--debug-stdout
option to change this behavior. -
The
--client-protection=off|sign|encrypt
option has been added to the common parser. The following options have been renamed in all utilities:
-
--kerberos
to--use-kerberos=required|desired|off
-
--krb5-ccache
to--use-krb5-ccache=CCACHE
-
--scope
to--netbios-scope=SCOPE
-
--use-ccache
to--use-winbind-ccache
-
The following options have been removed from all utilities:
-
-e
and--encrypt
-
-C
removed from--use-winbind-ccache
-
-i
removed from--netbios-scope
-
-S
and--signing
-
To avoid duplicate options, certain options have been removed or renamed from the following utilities:
-
ndrdump
:-l
is no longer available for--load-dso
-
net
:-l
is no longer available for--long
-
sharesec
:-V
is no longer available for--viewsddl
-
smbcquotas
:--user
has been renamed to--quota-user
-
nmbd
:--log-stdout
has been renamed to--debug-stdout
-
smbd
:--log-stdout
has been renamed to--debug-stdout
-
winbindd
:--log-stdout
has been renamed to--debug-stdout
-
cramfs
module has been removed
Due to lack of users, the cramfs
kernel module is removed. squashfs
is recommended as an alternative solution.
Mandatory file locking support has been removed from RHEL 9
Mandatory file locking is no longer supported in RHEL 9 and later versions. The mand
mount option is ignored by this kernel and its use generates a warning in the system log.
NFSv2 is no longer supported
RHEL 9 NFS client and server no longer support NFSv2.
14.2. Storage
VDO Management software has been removed
The python-based VDO Management software is no longer available in RHEL 9. Instead of this software, use the LVM-VDO implementation for managing VDO volumes.
Multiple write policies from VDO has been removed
VDO no longer has multiple write policies. VDO now uses the async
write policy exclusively. The 'sync' and 'async-unsafe' write policies have been removed.