web-dev-qa-db-ja.com

btrfs-transactiは30秒ごとにディスクに書き込みます

4 8 TB RAID1のSeagateドライブでbtrfsを使用してUbuntu16.04.2LTSを実行しています。30秒ごとにbtrfs-transactiが約80M/sで15秒間iotopに表示されます。 、システムが使用されていない場合でも、システムは1日1回のバックアップの保存にのみ使用されますが、1日中ディスクアクティビティがあります。

これらの書き込みピークの原因を特定するにはどうすればよいですか?また、それを停止するにはどうすればよいですか?

3
Christian

私はそれがbtrfsautodefragだと信じています。私もそれらを取得します。これはfstabで明示的に設定する必要があるオプションですが、特に回転するRustハードドライブ。SSDはコピーによって生成されたフラグメントを実際には気にしません-オンライト。

次に、/ var/logディレクトリがbtrfsにある場合、systemdジャーナルファイルを頻繁にデフラグすることになります。

Fedoraが行うことの1つですが、Ubuntuについてはよくわかりません。それは、/ var/log/journalディレクトリとすべてのサブディレクトリおよびファイルをchattr +Cでマークすることです。 'C'属性は、コピーオンライトではないことを示します。つまり、btrfsは、ext4またはxfsと同じように読み取りと書き込みを行います。

「C」属性を使用すると、大量の断片化や自動デフラグ書き込みを防ぐことができますが、ファイルがチェックサムで保護されていないことも意味します。

正確な状況はわかりませんが、btrfsに/ var/log/journalがあり、autodefragが設定されていて、C属性がないことが最善の推測です。これは、1日を通して一定の書き込みがあり、btrfs-transactionスレッドで大量に使用されていることを説明します。

2
Zan Lynx