Tengo los siguientes dispositivos con Linux Mint 18.1 en computadoras portátiles y GNU / Linux Debian 9 en el servidor.
(Todos son de 64 bits y con escritorio Cinnamon)
Todos los dispositivos de disco están formateados con sistema de archivos ext4 ; RAID 1 se realiza utilizando mdadm
.
-
Laptop con 1 SSHD (que no debe confundirse con HDD).
-
Laptop con 3 unidades: 2 HDD de consumo en RAID 1 y 1 x SSD.
-
Servidor con 5 unidades: 4 HDD empresariales en dos tiempos RAID 1 y 1 x SSD.
Tengo el sistema en esos SSD y nunca desfragmentaría un SSD.
La pregunta es sobre HHD y SSHD.
Encontré un PDF antiguo que describe algunas características más de e4defrag
.
-
¿Por qué se debe montar el sistema de archivos, según este mensaje de error cuando se intenta desfragmentar un sistema de archivos desmontado? Quiero entender por qué es eso:
Filesystem is not mounted
-
Me gustaría haber implementado la desfragmentación de espacio libre. AFAIK, ahora está bajo revisión. ¿Es posible para mí, p. Ej. compilar
e4defrag
de la fuente con estas opciones disponibles o de todos modos?e4defrag -f /deviceOrDirectory
-
Yo también me gusta usar la función de datos relevantes:
e4defrag -r /deviceOrDirectory
Tengo muchas razones relevantes para creer que la fragmentación en estas máquinas se está ralentizando la velocidad de lectura, ejemplo:
-
Tomado del servidor con RAID 1 HDD:
[2556/30987]/raid1a/bitcoind/blocks/rev00820.dat: 100% extents: 16 -> 1 [ OK ]
-
Tomado de la computadora portátil con RAID 1 HDD:
[29405/50810]/raid1/movies/SGA-HEVC/S04E01 - Adrift.mp4: 100% extents: 31 -> 6 [ OK ]
Como puede ver, la desfragmentación ni siquiera pudo poner el archivo de 31 bloques en una sola pieza. Por supuesto, podría argumentar que es un archivo de película, por lo que no importa. Cierto, pero solo en este caso.
El comando que utilizo para iniciar la desfragmentación:
-
En el servidor:
sudo e4defrag -v /dev/md1
-
En la computadora portátil:
sudo e4defrag -v /raid1/
Sí no parece importar, ya sea que invoque el comando usando el nombre del dispositivo o un directorio.
¿Puede indicarme la dirección correcta?
Comentarios
- ¿Tiene resultados de medición que apuntan a la desfragmentación como la fuente del acceso lento? Si es así, ¿cuáles? En la mayoría de los casos, no ‘ necesita realizar una desfragmentación manual en los sistemas de archivos ext4, siempre que haya ‘ suficiente espacio libre para que el algoritmo de asignación lo desfragmente automáticamente durante el funcionamiento normal.
- @dirkt No se han tomado medidas hasta ahora. No ‘ t discuto si es o no efectivo desfragmentar el sistema de archivos
ext4
. Las preguntas son claras: Cómo hacere4defrag -r
ye4defrag -f
.
Responder
e4defrag
necesita que el sistema de archivos esté montado porque solicita al controlador del sistema de archivos del kernel que realice la desfragmentación, no lo hace t hacerlo por sí mismo.
En cuanto a la desfragmentación de espacio libre y la desfragmentación de archivos relevantes, los parches nunca se completaron; la última mención en la lista de correo relevante se remonta a 2014 :
El
e4defrag
está ene2fsprogs
, y el código aún se mantiene y mejora. Dmitry Monakhov, en particular, ha añadido una gran cantidad de «pruebas de tortura» y ha encontrado una serie de condiciones de raza en el código del núcleo subyacente. Recientemente también envió un refactor de código del kernel que lo mejoró significativamente y (redujo el tamaño de ext4 en 550 líneas de código).Dicho esto, no ha habido ningún desarrollo de características reales para
e4defrag
en bastante tiempo. Se ha debatido acerca de cuáles podrían ser las API del kernel para admitir esta función, pero nunca se ha finalizado una propuesta de API, y mucho menos una implementación.
Así que dudo que haya algo que valga la pena probar actualmente.
e4defrag --version
dicee4defrag 1.45.5 (07-Jan-2020)
.e4defrag
en el tiempo. Sigue siendo una parte totalmente compatible de Ext4, pero no se puede utilizar en todos los casos (los sistemas de archivos con bigalloc no se pueden desfragmentar, el registro de datos en diario es incompatible con la desfragmentación y los inodos de DAX y los archivos cifrados no se pueden mover).