FSTRIM

Section: System Administration (8)
Updated: May 2019
Index Return to Main Contents
 

名前

fstrim - マウントされているファイルシステムの未使用ブロックを破棄する。  

書式

fstrim [-Aa] [-o offset] [-l length] [-m minimum-size] [-v] mountpoint

 

説明

fstrim はマウントされているファイルシステムに対して使用され、 ファイルシステムで使われていないブロックを破棄 (または切り詰め "trim") する。 これは、ソリッドステートドライブ (SSD) とシンプロビジョニングされたストレージで役立つ。

デフォルトでは、 fstrim はファイルシステム上の全ての未使用ブロックを破棄する。 以下に示すように、この挙動はオプションを使って範囲やサイズに基づくように 変更できる。

mountpoint 引き数は、ファイルシステムがマウントされるディレクトリのパス名である。

fstrim を頻繁に実行したり、 mount -o discard を使うことですら、品質の悪い SSD デバイスに対しては、寿命に悪影響を与える可能性がある。 大部分のデスクトップとサーバーシステムでは、 切り詰めの頻度は 1 週間に 1 回で充分である。 全てのデバイスがキューイングされた切り詰め (queued trim) をサポートしている訳ではないので、 各切り詰めコマンドで、その時々にディスクを使おうとするので、性能上の ペナルティーを招く。

 

オプション

offset, length, minimum-size 引き数には、 倍数のサフィックス KiB (=1024), MiB (=1024*1024), GiB, TiB, PiB, EiB, ZiB, YiB を付けることができる ("iB" はオプションであり、例えば "K" は "KiB" と同じ意味である)。 またサフィックス KB (=1000), MB (=1000*1000), GB, TB, PB, EB, ZB, YB を 付けることもできる。

-A, --fstab
/etc/fstab にあるマウントされている全てのファイルシステムに対して、 デバイスが破棄操作をサポートしている場合は、切り詰めを行う。 このファイルにルートファイルシステムが書かれていない場合は、 カーネルのコマンドラインで決定する。 --offset, --length, --minimum などの他に指定されたオプションは、全てのデバイスに適用される。 破棄操作をサポートしていないファイルシステム、読み込みのみの デバイス、読み込みのみのファイルシステムからのエラーは、 黙って無視される。
-a, --all
マウントされている全てのファイルシステムに対して、 デバイスが破棄操作をサポートしている場合は、切り詰めを行う。 --offset, --length, --minimum などの他に指定されたオプションは、全てのデバイスに適用される。 破棄操作をサポートしていないファイルシステム、読み込みのみの デバイス、読み込みのみのファイルシステムからのエラーは、 黙って無視される。
-n, --dry-run
このオプションでは、実際に FITRIM ioctl を呼び出さない以外は、全てを実行する。
-o, --offset offset
破棄する空きブロックの検索を開始する、ファイルシステムのバイト オフセット。 デフォルト値は 0 であり、ファイルシステムの先頭から開始する。
-l, --length length
破棄する空きブロックの検索を行う (開始点からの) バイト数。 指定した値がファイルシステムの終端を越した場合、 fstrim はファイルシステムサイズの境界で停止する。 デフォルト値はファイルシステムの終端までである。
-m, --minimum minimum-size
破棄する連続した最小の空き範囲 (バイト数)。 (この値は、内部的には、ファイルシステムブロックサイズの倍数に 切り上げられる。) 指定した値より小さい空き範囲は無視される。 指定した値がデバイスの最小値より小さい場合、fstrim は最小値を調整し、 ユーザー空間に (fstrim_range.minlen) を返す。 ひどく断片化した空きスペースがあるファイルシステムに対して、 この値を大きくすると、fstrim 操作の完了が速くなるが、 全てのブロックが破棄される訳ではなくなる。 デフォルト値は 0 であり、全ての空きブロックを破棄する。
-v, --verbose
詳細なメッセージを出して実行する。 このオプションを指定すると、 fstrim は破棄される可能性があるためにファイルシステムから、 ブロックスタックを介して、デバイスに渡されたバイト数を表示する。 これはストレージデバイスの観点からみた、破棄される総量の最大値 である。 なぜなら、繰り返しの FITRIM ioctl 呼び出しでは、繰り返し破棄するために、同じセクタを送り続けるから である。

fstrim は破棄の可能性のある同じバイトを毎回表示するが、 破棄の間に書き込まれたセクタのみが、ストレージデバイスによって 実際に破棄される。 さらに、カーネルのブロックレイヤには、破棄範囲を調整する機能がある。 これは、RAID ストライプジオメトリ、または LVM 設定で切り詰め不可にされたデバイスに合わせるためである。 これによるバイト数の減少は、fstrim_range.len (--length オプション) に反映されない。

--quiet
エラーメッセージを抑止する。 このオプションは、systemd サービスファイル、または cron スクリプトで 既知の問題に起因する警告を隠すために使われる。 既知の問題とは、デバイスが読み込みのみでマウントされた場合、 またはファイルシステムが ioctl FITRIM の呼び出しをサポートしていない場合、 NTFS ドライバが 不正なファイルディスクリプタ (bad file descriptor) であることを表示することなどである。
-V, --version
バージョン情報を表示して、終了する。
-h, --help
ヘルプを表示して、終了する。

 

返り値

0
成功
1
失敗
32
全て失敗
64
一部のファイルシステムでの破棄は成功して、一部では失敗した

コマンド fstrim --all は 0 (全て成功), 32 (全て失敗), 64 (一部失敗、一部成功) を返す。

 

著者

Lukas Czerner <lczerner@redhat.com>
Karel Zak <kzak@redhat.com>
 

関連項目

blkdiscard(8), mount(8)  

入手方法

fstrim コマンドは util-linux パッケージの一部であり、 https://www.kernel.org/pub/linux/utils/util-linux/ から入手できる。


 

Index

名前
書式
説明
オプション
返り値
著者
関連項目
入手方法

This document was created by man2html, using the manual pages.
Time: 14:30:48 GMT, April 22, 2020