第25章 未使用ブロックの破棄
破棄操作に対応するブロックデバイスで破棄操作を実行するか、そのスケジュールを設定できます。ブロック破棄操作では、マウントされたファイルシステムによって使用されなくなったファイルシステムブロックを、基盤となるストレージに伝達します。ブロック破棄操作により、SSD はガベージコレクションルーチンを最適化でき、シンプロビジョニングされたストレージに未使用の物理ブロックを再利用するように通知できます。
要件
ファイルシステムの基礎となるブロックデバイスは、物理的な破棄操作に対応している必要があります。
/sys/block/<device>/queue/discard_max_bytes
ファイルの値がゼロではない場合は、物理的な破棄操作はサポートされます。
25.1. ブロック破棄操作のタイプ リンクのコピーリンクがクリップボードにコピーされました!
以下のような、さまざまな方法で破棄操作を実行できます。
- バッチ破棄
-
fstrim
コマンドに、このタイプの破棄が含まれています。ファイルシステム内にある未使用のブロックで、管理者が指定した基準に一致するものをすべて破棄します。Red Hat Enterprise Linux 10 は、XFS および ext4 でフォーマットされおり、物理的な破棄操作に対応するデバイスでのバッチ破棄をサポートします。 - オンライン破棄
このタイプの破棄操作は、discard オプションを指定してマウント時に設定します。この操作は、ユーザーの介入なしにリアルタイムで実行されます。ただし、未使用から空き状態に移行しているブロックのみを破棄します。Red Hat Enterprise Linux 10 では XFS および ext4 フォーマットのデバイスでオンライン破棄をサポートしています。
パフォーマンスを維持するためにオンライン破棄が必要な場合、またはシステムのワークロードに対してバッチ破棄が実行不可能な場合を除き、バッチ破棄を使用します。
- 定期的な破棄
-
systemd
サービスが定期的に実行するバッチ操作です。
すべてのタイプは、XFS ファイルシステムおよび ext4 ファイルシステムでサポートされます。
推奨事項
バッチまたは定期的な破棄を使用します。
以下の場合にのみ、オンライン破棄を使用してください。
- システムのワークロードでバッチ破棄が実行できない場合
- パフォーマンス維持にオンライン破棄操作が必要な場合