Durante la última década, las unidades de estado sólido (SSD) han generado una nueva forma de administrar el almacenamiento. Los SSD tienen beneficios como un funcionamiento silencioso y más fresco y una especificación de interfaz más rápida, en comparación con sus ancestros giratorios más antiguos. Por supuesto, la nueva tecnología trae consigo nuevos métodos de mantenimiento y gestión. Los SSD tienen una característica llamada TRIM. Este es esencialmente un método para reclamar bloques no utilizados en el dispositivo, que pueden haber sido escritos previamente, pero que ya no contienen datos válidos y, por lo tanto, pueden devolverse al grupo de almacenamiento general para su reutilización. Don Watkins de Opensource.com escribió por primera vez sobre TRIM en su artículo de 2017 "Unidades de estado sólido en Linux:habilitación de TRIM para SSD".
Más recursos de Linux
- Hoja de trucos de los comandos de Linux
- Hoja de trucos de comandos avanzados de Linux
- Curso en línea gratuito:Descripción general técnica de RHEL
- Hoja de trucos de red de Linux
- Hoja de trucos de SELinux
- Hoja de trucos de los comandos comunes de Linux
- ¿Qué son los contenedores de Linux?
- Nuestros últimos artículos sobre Linux
Si ha estado usando esta función en su sistema Linux, probablemente esté familiarizado con los dos métodos que se describen a continuación.
Las viejas costumbres
Descartar
Inicialmente habilité esto con la opción de descarte del comando de montaje. La configuración se coloca en /etc/fstab archivo para cada sistema de archivos.
# cat /etc/fstab
UUID=3453g54-6628-2346-8123435f /home xfs defaults,discard 0 0
La opción de descarte habilita el TRIM automático en línea. Recientemente ha habido un debate sobre si este es el mejor método debido a los posibles impactos negativos en el rendimiento. El uso de esta opción hace que se inicie un TRIM cada vez que se escriben nuevos datos en la unidad. Esto puede introducir actividad adicional que interfiere con el rendimiento del almacenamiento.
Cron
Eliminé la opción de descartar de fstab expediente. Luego creé un trabajo cron para llamar al comando de forma programada.
# crontab -l
@midnight /usr/bin/trim
Este es el método que usé más recientemente en mis sistemas Ubuntu Linux hasta que descubrí otra forma.
Un nuevo servicio TRIM
Recientemente descubrí que existe un servicio systemd para TRIM. Fedora introdujo esto en su distribución en la versión 30 y, aunque no está habilitado de forma predeterminada en las versiones 30 y 31, está previsto que lo esté en la versión 32. Si está trabajando en Fedora Workstation 31 y desea comenzar a usar este característica, puede habilitarla muy fácilmente. También te mostraré cómo probarlo a continuación. Este servicio no es exclusivo de Fedora. La existencia y el estado dependerán de una distribución individual.
Prueba
Me gusta probar primero, para comprender mejor lo que sucede detrás de escena. Hago esto abriendo una terminal y emitiendo el comando que el servicio está configurado para llamar.
/usr/sbin/fstrim --fstab --verbose --quiet
La –ayuda argumento para fstrim describirá estos y otros argumentos.
$ sudo /usr/sbin/fstrim --help
Usage:
fstrim [options] <mount point>
Discard unused blocks on a mounted filesystem.
Options:
-a, --all trim all supported mounted filesystems
-A, --fstab trim all supported mounted filesystems from /etc/fstab
-o, --offset <num> the offset in bytes to start discarding from
-l, --length <num> the number of bytes to discard
-m, --minimum <num> the minimum extent length to discard
-v, --verbose print number of discarded bytes
--quiet suppress error messages
-n, --dry-run does everything, but trim
-h, --help display this help
-V, --version display version
Entonces, ahora puedo ver que el servicio systemd está configurado para ejecutar el recorte en todos los sistemas de archivos montados compatibles en mi /etc/fstab archivo –fstab e imprime el número de bytes descartados –verbose pero suprima cualquier mensaje de error que pueda ocurrir –quiet . Conocer estas opciones es útil para las pruebas. Por ejemplo, puedo empezar con el más seguro, que es el simulacro. También dejaré de lado el argumento silencioso para poder determinar si se producirá algún error con la configuración de mi unidad.
$ sudo /usr/sbin/fstrim --fstab --verbose --dry-run
Esto simplemente mostrará lo que fstrim El comando funcionará en función de los sistemas de archivos que encuentre configurados en su /etc/fstab archivo.
$ sudo /usr/sbin/fstrim --fstab --verbose
Esto ahora enviará la operación TRIM a la unidad e informará sobre la cantidad de bytes descartados de cada sistema de archivos. A continuación se muestra un ejemplo después de mi reciente instalación nueva de Fedora en un nuevo SSD NVME.
/home: 291.5 GiB (313011310592 bytes) trimmed on /dev/mapper/wkst-home
/boot/efi: 579.2 MiB (607301632 bytes) trimmed on /dev/nvme0n1p1
/boot: 787.5 MiB (825778176 bytes) trimmed on /dev/nvme0n1p2
/: 60.7 GiB (65154805760 bytes) trimmed on /dev/mapper/wkst-root
Habilitar
Fedora Linux implementa el servicio de temporizador systemd, programado para ejecutarse semanalmente. Para verificar la existencia y el estado actual, ejecute systemctl status .
$ sudo systemctl status fstrim.timer
Ahora, habilite el servicio.
$ sudo systemctl enable fstrim.timer
Verificar
Luego, puede verificar que el temporizador esté habilitado enumerando todos los temporizadores.
$ sudo systemctl list-timers --all
La siguiente línea se refiere al fstrim.timer aparecerá. Observe que el temporizador en realidad activa fstrim.service . Aquí es donde el verdadero fstrim se llama. Los campos relacionados con el tiempo muestran n/a porque el servicio acaba de habilitarse y aún no se ha ejecutado.
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a n/a n/a fstrim.timer fstrim.service
Conclusión
Este servicio parece ser la mejor manera de ejecutar TRIM en sus unidades. Es mucho más simple que tener que crear su propia entrada crontab para llamar al fstrim dominio. También es más seguro no tener que editar el fstab expediente. Ha sido interesante observar la evolución de la tecnología de almacenamiento de estado sólido y bueno saber que parece que Linux se está moviendo hacia una forma estándar y segura de implementarlo.