LVMとdm-cryptを含む500G SSDディスクを持つUbuntu 18.04サーバーがあります。最近、ディスクに書き込まれたバイト数が(またはで報告されているvmstat -d
ようにiostat
)非現実的に高いことがわかりました。システムI / OIを監視した後、fstrim.service
ランタイム中に週に1回のディスク書き込みが大幅に急増することがわかりました。
fstrim
ログを見ると、システムはほぼアイドル状態で、最大1週間に10 Gb未満が記録されていますが、デフォルトで利用可能なすべてのスペースがディスクに書き込まれたことを毎週実行報告するようです。
これが予想される動作ですか?私はfstrim
毎回空きスペース全体を破棄するのではなく、最後の実行以降に新しい空きブロックだけを破棄する必要があると常に考えました。これにより、SSDに異常に高い摩耗が発生します(ディスクで報告されたメディアの摩耗値によって判断されます)。それとも存在と関係がありますかdm-crypt
?
ディスクはTRIMをサポートします。
hdparm -I /dev/sda | grep TRIM
* Data Set Management TRIM supported (limit 8 blocks)
* Deterministic read ZEROs after TRIM
また、ドロップ転送も有効になりましたdm-crypt
。
dmsetup table
silverbox--vg-swap: 0 19529728 linear 253:0 917964800
silverbox--vg-root: 0 917962752 linear 253:0 2048
sda3_crypt: 0 937496576 crypt aes-xts-plain64 00...0 0 8:3 4096 1 allow_discards
答え1
ATAtrim
コマンドはディスクドライブのメタデータのみを変更し、ストレージデバイスへの低レベルの書き込みはまったく行いません。ディスクがdeterministic trim
トリミングブロックをサポートしている場合は0が返されますが、これはコマンドの実行時にセルが実際に消去されたためではなく、新しいメタデータの状態に基づいてコントローラによって実行されますtrim
。
trim
残念ながら、私が知っているすべてのカーネル統計では、このコマンドは書き込みと見なされます。だから、週iostat
にsar
/sys/fs/ext4/*/lifetime_write_kbytes
実際の書き込みと剪定の合計。また、見ることができますスーパーユーザーに関する質問。
fstrim
週に 1 回このタスクを実行すると、未使用のディスク容量全体が解放されるようです。たとえば、50%使用された1 TBディスクがある場合、デフォルトのアクティビティfstrim
は統計に1週間あたり500 GBの書き込みまたは1日の書き込みで70 GBとして表示されます。
結論は次のとおりです。書き込み統計は、特に適切に満たされたファイルシステムでは、書き込みとして計算されるクリーンアップによって容易に支配されます。。