再起動後、fstrimがmdraidイメージのすべての空き領域をクリーンアップするのはなぜですか? [コピー]

再起動後、fstrimがmdraidイメージのすべての空き領域をクリーンアップするのはなぜですか? [コピー]

SSDが2つあるサーバーがあります。

Model Family:     Intel 520 Series SSDs
Device Model:     INTEL SSDSC2BW240A3F
Firmware Version: 400i
User Capacity:    240,057,409,536 bytes [240 GB]
Sector Size:      512 bytes logical/physical

EXT4ファイルシステムでフォーマットされた3つのmdraidミラーデバイス(md0、1、2)があります。私はgptではなくmbrパーティションテーブルを使用しています。 3つのファイルシステムはすべて次のようにマウントされます。捨てるインストールオプション。

/dev/md0 on / type ext4 (rw,discard,errors=remount-ro)
/dev/md2 on /vservers type ext4 (rw,discard)
/dev/md1 on /var type ext4 (rw,discard)

問題は、サーバーを再起動するたびにfstrim -v /any_mountpoint未使用のスペースをすべて整理する必要があると言います。ファイルシステムの完全なfstrimを実行すると、次の再起動まですべてが期待どおりに機能します。再起動後にfstrimを再実行すると、ファイルシステム全体がクリーンアップされます。

誰かが私が間違っていることを説明できますか?私の考えでは、ext4は整理されたファイルシステムの部分を覚えていると思います(私のデスクトップではSSDが1つなのでそうです)。これは3.13.0-23一般的なカーネルを持つUbuntu 14.04にあります。

答え1

しばらく前に私は同様の質問をしたことがあります。fstrimは、廃棄マウントされたパーティションを使用してもパーティションのサイズを半分以上減らします。。この質問で何が起こっているのかについての詳細な説明/議論がありますが、基本的にクリーンアップされたコンテンツfstrim(および基本FITRIM ioctl)の記録はディスクには記録されず、カーネルメモリに保存されます。fstrim再起動後に実行されるたびに、FITRIM ioctl可能な範囲全体の s が解放されます。

関連情報