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/device/queue/discard_max_bytes ファイルに格納されている値がゼロでない場合は、物理的な破棄操作に対応しています。
fstrim コマンドを以下で実行している場合:
  • 破棄操作に対応していないデバイス、または
  • デバイスの 1 つが破棄操作に対応していない、複数のデバイスから成る論理デバイス (LVM または MD)。
以下のメッセージが表示されます。
fstrim -v /mnt/non_discard
fstrim: /mnt/non_discard: 破棄操作に対応していません

注記

mount コマンドでは、-o discard オプションを指定することで、破棄操作に対応していないデバイスのマウントが可能になります。
システムのワークロードがバッチ破棄で対応できない場合や、パフォーマンスを維持するためにオンライン破棄オペレーションが必要な場合を除き、バッチ破棄オペレーションを推奨します。
詳細については、fstrim(8)mount(8) man ページを参照してください。