第14章 ファイルシステムおよびストレージ

以下の章では、ファイルシステムおよびストレージに関する RHEL 8 と RHEL 9 の間の最も重要な変更点を説明します。

14.1. ファイルシステム

XFS ファイルシステムが、bigtime 機能および inobtcount 機能に対応するようになりました。

XFS ファイルシステムが、ディスク上の新機能 2 つに対応しました。各機能は、RHEL 9 の mkfs.xfs でデフォルトで有効になっています。この 2 つの新機能は以下のとおりです。

  • 2038 年以降のタイムスタンプへの対応 (bigtime)
  • inode btree counters (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

inode btree カウンターを有効にするには

  • xfs_admin -O inobtcount=1 /dev/device

両方を同時に有効にするには、以下のコマンドを実行します。

  • xfs_admin -O bigtime=1,inobtcount=1 /dev/device

詳細は、man ページの xfs_admin(8) を参照してください。

exFAT ファイルシステムが RHEL 9 に対応しました。

exFAT ファイルシステムが RHEL 9 で対応するようになりました。これは、外部の USB ストレージと、他のオペレーティングシステムとの相互運用性およびデータ交換用に設計されたファイルシステムです。ファイルシステムは、汎用、パフォーマンスに優れた、スケーラブルな Linux ファイルシステムを目的としていません。exFAT ファイルシステムは、exfatprogs をインストールし、mkfs.exfat utility を使用して作成できます。

詳細は、man ページの mkfs.exfat(8) を参照してください。

ext4 ファイルシステムが 2038 年以降のタイムスタンプに対応するようになりました。

ext4 ファイルシステムは、2038 年以降のタイムスタンプに対応するようになりました。この機能は完全に自動であるため、ユーザーがこれを利用するためのアクションを行う必要はありません。唯一の要件は、inode のサイズが 128 バイトを超えることです。これはデフォルトで使用されています。

新しい nfsv4-client-utils パッケージ

最小限のデーモンと、NFSv4 にのみ対応するのに必要なツールを含む新しいパッケージ nfsv4-client-utils が追加されました。これは、スタンダードの nfs-utils パッケージに代わるものです。

GFS2 ファイルシステムが、フォーマットバージョン 1802 で作成されるようになる

RHEL 9 の GFS2 ファイルシステムは、フォーマットバージョン 1802 で作成されます。これにより、以下の機能が有効になります。

  • trusted 名前空間の拡張属性 ("trusted.* xattrs") は、gfs2gfs2-utils で認識されます。
  • rprlvb は、デフォルトで有効になっています。これにより、gfs2 が更新したリソースグループデータを DLM ロック要求に割り当てることができるため、ロックを取得しているノードは、ディスクからリソースグループ情報を更新する必要がありません。これにより、場合によってはパフォーマンスが改善されます。

新しいフォーマットバージョンで作成されたファイルシステムは、以前のバージョンの RHEL にマウントできなくなり、古いバージョンの fsck.gfs2 ユーティリティーではこれらをチェックできなくなります。

オプション -o format=1801mkfs.gfs2 コマンドを実行すると、古い形式バージョンのファイルシステムを作成できます。

マウントを解除したファイルシステムで、tunegfs2 -r 1802 device を実行している古いファイルシステムのフォーマットバージョンをアップグレードできます。フォーマットバージョンのダウングレードには対応していません。

一貫したユーザーエクスペリエンスのために、Samba ユーティリティーのオプションの名前が変更され、削除されました。

Samba ユーティリティーが改善され、一貫したコマンドラインインターフェイスが提供されるようになりました。この改善には、オプションの名前変更や削除が含まれます。そのため、更新後の問題を回避するには、Samba ユーティリティーを使用するスクリプトを確認し、必要に応じてスクリプトを更新します。

Samba 4.15 では、Samba ユーティリティーに以下の変更が加えられました。

  • Samba コマンドラインユーティリティーは、不明なオプションを暗黙的に無視していました。予期しない動作を防ぐために、ユーティリティーが、不明なオプションを常に拒否するようになりました。
  • いくつかのコマンドラインオプションには、デフォルト値を制御するのに対応する smb.conf が追加されました。コマンドラインオプションに smb.conf 変数名があるかどうかを確認するには、ユーティリティーの man ページを参照してください。
  • デフォルトで、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 以降のバージョンではサポートされなくなりました。このカーネルは mandmount オプションを無視し、そのオプションを使用するとシステムログに警告が生成されます。

Xds v2 はサポート対象外に

RHEL 9 クライアントおよびサーバーは NFSv2 をサポートしなくなりました。

Stratis ストレージマネージャーが利用可能になる

Stratis はローカルストレージマネージャーです。ユーザーへの追加機能を備えたストレージプールに管理されたファイルシステムを提供します。

  • スナップショットおよびシンプロビジョニングを管理する
  • 必要に応じてファイルシステムのサイズを自動的に大きくする
  • ファイルシステムを維持する
  • プールレベルの暗号化
  • TMP2 および NBDE のサポート

Stratis ストレージを管理するには、バックグランドサービス stratisd と通信する stratis ユーティリティーを使用します。

詳細は、Stratis のドキュメント を参照してください。Stratis ファイルシステムの設定

DAX マウントオプションと reflink が互換性を持つようになりました

reflink されたファイルと DAX モードに互換性が確保されました。ファイルシステムの DAX マウントオプション -o dax=always は、reflink が有効なファイルシステムと互換性があります。reflink されたファイルは、inode フラグを使用して DAX モードに設定できます。詳細は、xfs(5) の man ページを参照してください。