Tengo un servidor de archivos con un montón de discos que se ejecutan juntos en un grupo de BTRFS y quiero agregar un SSD para el almacenamiento en caché. No estoy principalmente después de acelerar las cosas, pero quiero atrapar los pequeños accesos regulares para poder cerrar los discos duros la mayor parte del tiempo sin un uso intensivo (no ejecutarlos las 24 horas del día, los 7 días de la semana, ahorrará energía y debería hacer que los discos duran más)
Hasta donde yo sé, actualmente hay dos técnicas de almacenamiento en caché SSD implementadas en Linux, dm-cache y bcache. Todavía se dice que dm-cache es más eficiente, pero el desarrollo continúa para ambos y no necesito ajustar la eficiencia máxima absoluta.
Leyendo la documentación de bcache , encontré estas opciones:
writeback_delay : cuando los datos sucios se escriben en el caché y anteriormente no contenían ninguno, espera algunos segundos antes de iniciar la reescritura. El valor predeterminado es 30.
writeback_percent : si no es cero, bcache intenta mantener sucio alrededor de este porcentaje de la memoria caché acelerando la reescritura en segundo plano y utilizando un controlador PD para ajustar suavemente la velocidad.
writeback_running : si está desactivado, la reescritura de datos sucios no tendrá lugar en absoluto. Todavía se agregarán datos sucios a la memoria caché hasta que esté casi llena; solo destinado a la evaluación comparativa. Por defecto está activado.
Establecer un valor lo suficientemente grande para writeback_delay
parece hacer el trabajo para mí: solo escriba una vez por hora o (supongo que esto sucedería) si el caché se está llenando.
¿Es esta una configuración razonable, y tengo en cuenta algo más para tener éxito en girar los discos? También estoy bien con ir a una ruta completamente diferente si cumple mis requisitos.
Parece que @gorkypl está buscando otra solución para un problema similar , pero tiene diferentes requisitos y entornos y tampoco recibió una respuesta todavía.
bcache
, por favor.Respuestas:
Creo que tu enfoque es demasiado complicado.
leer caché : nada que hacer aquí. Si tienes suficiente ram, esto se hace automáticamente en Linux.
escribir en caché Básicamente esto es lo que quieres. Pero si las escrituras van al disco al final, eso también provocará un despertar.
Por lo tanto, podría colocar los sistemas de archivos afectados directamente en ram-disk / dev / shm o ssd.
ahorro de energía : no creo que un giro / subida frecuente ahorre energía. Por el contrario, los discos pueden morir antes, por lo que hay un consumo de energía adicional para el proceso de producción. También girar es muy intensivo en potencia.
fuente