Я использую и использую Ubuntu на btrfs. Это ноутбук с SSD на 1 ГБ. Это рабочий компьютер, поэтому он используется большую часть дня (и ночи). Я довольно часто использую снимки btrfs. Я запускаю сценарии btrfsmainenance, которые в моем случае запускают службы через таймеры systemd. Есть четыре сценария: обрезка, дефрагментация, балансировка и очистка. В конфигурации скрипта есть некоторые интервалы по умолчанию, но когда я читал об обслуживании btrfs в целом, похоже, не было особого консенсуса относительно того, какие и как часто выполнять задачи обслуживания. В моем случае мы не говорим о рейдах или каких-либо задачах загрузки базы данных сервера, а просто о нормальном рабочем использовании в течение дня, поэтому мне было интересно, может ли кто-нибудь указать, что и как часто запускать. В настоящее время балансировка и дефрагментация выполняются ежемесячно, а очистка и обрезка - еженедельно. Системная служба fstrim вообще не запускается. У меня есть автоматическая дефрагментация для файловой системы btrfs, но я не отказываюсь от нее.
На дефрагментации знать дефрагментация не является снимком, знающим ни с каким современным ядром, и израсходует больше пространства, когда разрывает связь к снимкам.
Посмотрите страницу BTRFS Gotchas на Wiki.
Например (никогда не делавшийся это прежде так осуществило проверку):
root@moggie:/lib# btrfs fi df /
Data, single: total=9.01GiB, used=8.73GiB
root@moggie:/lib# btrfs dev us /
/dev/nvme0n1p3, ID: 1
Data,single: 9.01GiB
Unallocated: 173.25GiB
root@moggie:/lib# btrfs fi defrag -r /
root@moggie:/lib# btrfs dev us /
/dev/nvme0n1p3, ID: 1
Data,single: 15.01GiB
Unallocated: 167.25GiB
root@moggie:/lib# btrfs fi df /
Data, single: total=15.01GiB, used=11.74GiB
Если у Вас есть много пространства, или снимки периодически удаляются, это не может быть значительной проблемой. Можно также рассмотреть снимки удаления перед дефрагментацией, выключить COW на некоторых файлах или проигнорировать фрагментацию (BTRFS на SSD не затронут слишком ужасно умеренной фрагментацией),