Implementación de Linux fstrim en SSD con software md-raid

14

Actualmente estoy construyendo un nuevo servidor Ubuntu 13.04 con 2 SSD de 256GB en un raid mirror para ejecutar una instancia de MariaDB. Por lo general, colocamos LVM encima del cifrado dm-crypt encima de una matriz md raid 1 , pero no hemos usado SSD en esta configuración anteriormente.

Mi pregunta es, dado que usaremos un kernel más nuevo (3.8), debería permitir que fstrim se aplique directamente al volumen de incursión tal como lo entiendo. ¿Puedo ahora simplemente confiar en que esto funcione correctamente a fstrim -v /través de un trabajo cron, tal como lo haría si la redada no estuviera en su lugar? ¿Es esto cierto incluso con LVM encima del volumen de ataque? Planeamos usar el cifrado de hardware presente en las unidades, por lo que no necesitaremos dm-crypt aquí.

NOTA: Soy consciente de que hay varias preguntas similares que involucran el backport de versiones actualizadas del kernel y la implementación de descarte con el volumen md; estoy preguntando específicamente si fstrimfunciona contra md-raid sin más modificaciones en los núcleos más nuevos.

ACTUALIZACIÓN: solo quería hacer un seguimiento y publicar que esto funcionó bien. Ahora hay un trabajo en cron.daily que ejecuta fstrim /y /bootfunciona perfectamente. Además, resultó que el cifrado de hardware en los SSD (Samsung 840 Pros) parece requerir soporte TPM, que no tenemos, por lo que lo configuramos con cifrado de software como se muestra en el enlace. Al agregar discarda las opciones en /etc/crypttab( no a /etc/fstab) y issue_discards = 1a la sección de dispositivos de /etc/lvm/lvm.conf, fstrim funciona bien incluso a través de LVM, cifrado y capas RAID. Más información sobre la configuración para recortar / descartar en SSD con LVM y cifrado está disponible aquí.

nedm
fuente

Respuestas:

11

Los parches para el soporte mdraid RAID 1 y 10 para TRIM aumentaron hace aproximadamente un año.

Puede probar el soporte de su kernel montando el sistema de archivos con la discardopción (que habilita el TRIM automático). Si es compatible, verá un mensaje en syslog o dmesgcomo el siguiente:

EXT4-fs (md1): re-mounted. Opts: discard,data=ordered

De lo contrario, obtendría esto:

EXT4-fs warning (device md1): ext4_issue_discard:2619: discard not supported, disabling

No necesita reiniciar para ver si funciona:

mount /dir -o remount
Michael Hampton
fuente
1
Entonces, si te entiendo correctamente, si el montaje con descarte funciona, ¿entonces fstrim también debería?
nedm
1
Correcto. Si se implementa completamente hasta el final, funcionará de cualquier manera.
Michael Hampton
3
Recuerde cambiar las opciones de montaje después, si no tiene la intención de hacer TRIM automático. :)
Michael Hampton
2
Para el registro, el soporte TRIM para RAID1 se agregó el 11 de octubre de 2012, consulte aquí lkml.indiana.edu/hypermail/linux/kernel/1203.1/01772.html El kernel 3.4 no lo admite, pero 3.8 sí (no sé aproximadamente 3.5 / 3.6 / 3.7)
Joril
3
@MichaelHampton que desafortunadamente no es cierto. Por ejemplo, tener el kernel 3.2, con ext4 en LVM en MD (soft) RAID1, (re) montar ext4 con descarte no informará error, pero tampoco funcionará (ya que MD RAID1 en kernel 3.2.x no es compatible transmisión de comandos TRIM). Entonces, la única forma de saberlo con certeza es probarlo
Matija Nalis