第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 ファイルシステムでサポートされます。
推奨事項
バッチまたは定期的な破棄を使用します。
以下の場合にのみ、オンライン破棄を使用してください。
- システムのワークロードでバッチ破棄が実行できない場合
- パフォーマンス維持にオンライン破棄操作が必要な場合