Solución:
Realmente no es necesario desfragmentar manualmente los sistemas de archivos Btrfs.
Sí, Btrfs es COW (copy-on-write), lo que implicaría que fragmenta los archivos mucho más que Ext, pero esto se aborda en varios aspectos del diseño, incluida la capacidad de desfragmentar fácilmente el sistema de archivos mientras está en línea. Este extracto proporciona más detalles (el énfasis es mío):
Desfragmentación automática
Los sistemas de archivos COW (copy-on-write) tienen muchas ventajas, pero también algunas desventajas, por ejemplo, la fragmentación. Btrfs presenta los datos secuencialmente cuando los archivos se escriben en el disco por primera vez, pero un diseño COW implica que cualquier modificación posterior al archivo no debe escribirse sobre los datos antiguos, sino colocarse en un bloque libre, que causar fragmentación (las bases de datos RPM son un caso común de este problema). Además, sufre los problemas de fragmentación comunes a todos los sistemas de archivos.
Btrfs ya ofrece alternativas para combatir este problema: primero, admite la desfragmentación en línea mediante el comando
btrfs filesystem defragment
. En segundo lugar, tiene una opción de montaje,-o nodatacow
, que desactiva COW para los datos. Ahora btrfs agrega una tercera opción, la-o autodefrag
opción de montaje. Este mecanismo detecta pequeñas escrituras aleatorias en archivos y las pone en cola para un proceso de desfragmentación automática, por lo que el sistema de archivos se desfragmentará mientras se usa. Todavía no es adecuado para la virtualización o grandes cargas de trabajo de bases de datos, pero funciona bien para archivos más pequeños como rpm, SQLite o bases de datos bdb.
Por lo tanto, siempre que no planee ejecutar software intensivo en E / S como una base de datos con una carga significativa, debería estar bien, siempre y cuando monte sus sistemas de archivos con el autodefrag
opción.
Para verificar la fragmentación de archivos, puede usar la utilidad filefrag:
$ find /path -type f -exec filefrag {} + >frag.list
# Now you can use your favourite tools to sort the data
En los sistemas Systemd, /var/log/journal/
probablemente será el más fragmentado. También puedes mirar ~/.mozilla
y otras bases de datos de navegadores.
Para desfragmentar, use:
$ sudo btrfs fi defrag -r /path