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