Btrfs Дефрагментация файлов / папок

7

Я только что установил Ubuntu 11.10 в файловую систему Btrfs, и я хочу задать вопрос об дефрагментации файлов.

Нужно ли мне дефрагментировать файлы или всю систему?

Дефрагментация # btrfs дефрагментация файловой системы / пул1 Дефрагментация

Дефрагментация Btrfs

    
задан One Zero 01.12.2011 в 03:57
источник

3 ответа

9

Вам действительно не нужно дефрагментировать файловые системы Btrfs, так же, как вам не нужно дефрагментировать файловые системы Ext2 / 3/4.

Да, Btrfs - это COW (copy-on-write), что подразумевает, что файлы фрагментов намного больше, чем Ext, но это рассматривается в нескольких аспектах дизайна, включая возможность легко дефрагментировать файловую систему, когда она находится в сети , Этот отрывок содержит более подробную информацию:

  

Автоматическая дефрагментация

     

Файловые системы COW (copy-on-write) имеют много преимуществ, но они также имеют некоторые недостатки, например фрагментацию. Btrfs излагает данные последовательно, когда файлы записываются на диск в первый раз, но дизайн COW подразумевает, что любая последующая модификация файла не должна быть написана поверх старых данных, но должна быть помещена в свободный блок, который будет вызывают фрагментацию (базы данных RPM являются распространенным случаем этой проблемы). Кроме того, он сталкивается с проблемами фрагментации, присущими всем файловым системам.

     

Btrfs уже предлагает альтернативы для борьбы с этой проблемой: во-первых, он поддерживает онлайн-дефрагментацию с помощью команды btrfs filesystem defragment . Во-вторых, у него есть опция mount, -o nodatacow , которая отключает COW для данных. Теперь btrfs добавляет третий вариант, вариант -o autodefrag mount. Этот механизм обнаруживает небольшие случайные записи в файлы и ставит их в очередь для автоматического дефрагментации, поэтому файловая система будет дефрагментировать себя, пока она используется. Он еще не подходит для виртуализации или больших рабочих нагрузок базы данных, но хорошо работает для небольших файлов, таких как rpm, SQLite или базы данных bdb.

Итак, до тех пор, пока вы не планируете запускать IO-интенсивное программное обеспечение, такое как база данных при значительной нагрузке, вам все должно быть хорошо.

Чтобы проверить фрагментацию файлов, вы можете использовать утилиту filefrag :

$ find /path | xargs filefrag > frag.list
# Now you can use your favourite tools to sort the data

В системах Systemd /var/log/journal/ , вероятно, будет наиболее фрагментированным. Вы также можете посмотреть базы данных ~/.mozilla и других браузеров.

Для дефрагментации используйте:

$ sudo btrfs fi defrag -r /path

Обратите внимание, что, как вы, вероятно, знаете, текущая (эталонная) реализация Btrfs еще не полностью стабильна, поэтому вы не должны использовать ее для критических данных или больших нагрузок (например, использование на рабочем сервере не самая мудрая вещь); Fedora 16 есть , используя его по умолчанию (или будет), поэтому, похоже, он достиг определенной зрелости.

    
ответ дан Félix Saparelli 03.12.2011 в 12:17
источник
0

Для этой темы я думаю, лучше уточнить, что:

  

Любая файловая система! = утилиты восстановления / управления

Имейте в виду, что файловая система связана с тем, как данные организованы на физическом оборудовании, все другие действия выполняются с помощью дополнительного программного обеспечения и утилит, которые, особенно в GNU / linux, выполняются людьми, которые, вероятно, не связаны с который создал файловую систему.

Это, вероятно, не относится к Btrfs, но иногда мы близки к этому, потому что настольные и корпоративные среды могут предоставлять различные решения с различными уровнями надежности.

Ответ на ваш вопрос «нет», но «нет» связан с нормальным поведением общей файловой системы, и каждая утилита, которую вы можете найти по этому поводу, - это просто другой проект.

Когда вам нужно дефрагментировать вашу файловую систему, имейте в виду, что вы собираетесь использовать внешнее программное обеспечение, которое действительно не связано с жизнью самой файловой системы, со всеми плюсами и минусами.

    
ответ дан Micro 03.12.2011 в 08:34
0

Команда дефрагментации файловой системы btrfs

btrfs filesystem defragment sync -r -v -f [-czlib] / /home
    
ответ дан user615852 06.11.2016 в 05:08