2.4. 未使用ブロックの破棄
バッチ破棄とオンライン破棄操作は、ファイルシステムで使用されていないブロックを破棄するマウントされたファイルシステムの機能です。これは、ソリッドステートドライブおよびシンプロビジョニングされたストレージの両方に役立ちます。
- バッチ破棄操作 は、ユーザーが fstrim コマンドを使用して明示的に実行します。このコマンドは、ファイルシステム内にある未使用のブロックで、管理者が指定した基準に一致するものをすべて破棄します。
- オンライン破棄操作 は、マウント時に、mount コマンドの一部として
-o discard
オプションを使用するか、/etc/fstab
ファイルのdiscard
オプションで指定します。ユーザーによる介入なしでリアルタイムで実行されます。オンライン破棄操作は、使用中から空きに移行しているブロックのみを破棄します。
どちらの操作タイプも、Red Hat Enterprise Linux 6.2 以降の ext4 ファイルシステムと、Red Hat Enterprise Linux 6.4 以降の XFS ファイルシステムでの使用がサポートされています。また、ファイルシステムの基礎となるブロックデバイスは、物理的な破棄操作に対応している必要があります。
/sys/block/デバイス/queue/discard_max_bytes ファイルに保存されている値がゼロでない場合、物理的な破棄
操作がサポートされます。
fstrim コマンドを以下のいずれかで実行している場合:
- 破棄操作をサポートしていないデバイス、または
- 複数のデバイスで設定され、そのデバイスのいずれかが破棄操作をサポートしていない論理デバイス (LVM または MD)
以下のメッセージが表示されます。
fstrim -v /mnt/non_discard
fstrim: /mnt/non_discard: the discard operation is not supported
注記
mount コマンドを使用すると、-o discard オプションを使用して、破棄操作に対応していないデバイスをマウントできます。
システムのワークロードがバッチ破棄を実行できない場合、またはパフォーマンスを維持するためにオンライン破棄操作が必要な場合を除いて、Red Hat はバッチ破棄操作を推奨します。
詳細は fstrim(8) および mount(8) の man ページを参照してください。