Ahora que los discos duros tienen muchísimo espacio a un precio bastante económico tienen el problema de que su almacenamiento es físico, depende de la rotación y la traslación de las agujas de lectura y escritura. Las máximas velocidad las alcanza los SSD pero mientras mas espacio de almacenamiento tienen mas costoso se vuelven.
Intel Optane y los discos híbridos
Intel está usando una especie de NVME para usarlo como CACHE de un disco duro, el mismo funcionamiento que tienen los discos híbridos, pero ambos son mas caros que un disco duro común y corriente y no siempre se pueden ajustar a las necesidades en el caso de Intel optane solo funciona con Windows y no con GNU/Linux
Solución en GNU/Linux
En Linux hay varias soluciones, una ya la incluye ZFS, el problema es que ZFS no es parte del kernel sino un parche para soportarlo. Sin embargo, de forma nativa tenemos 2 soluciones de Linux perfectamente soportadas y que amparas cualquier sistema de archivos
LVM con CACHE
Para ver como se hace con LVM se puede ver este video que hice en mi canal
BCACHE
BCACHE es un modulo del kernel que trata de convertir cualquier dispositivo de bloques en tipo de disco duro hibrido y/o optane se requiere tener un disco duro normal o un RAID ya sea físico o de software y al menos un disco SSD, incluso con tamaños pequeños es suficiente. Mas de 100GB es mas que suficiente. Yo recomendaría tener 250G en SSD para usar una parte de el para la instalación del sistema operativo y el resto para CACHE de un RAID o Disco duro de varios terabytes. Lugar donde podrías meter tu home o tus bases de datos a velocidades muy altas de lectura y escritura, pero a precio bastante económico.
Requerimientos
Instalar las bcache-tools en tu distribución o compilarlas de su condigo fuente si tu distribución no las incluye
Tener una partición en el SSD para hacer la función de CACHE y tener preparado el disco o el RAID a aplicar CACHE
Asumiremos que la partición 3 del /dev/sdb es el SSD y el /dev/md0 es un RAID por software, ni el RAID o cualquier disco duro a ponerle cache deben tener datos en esta configuración pues el dispositivo final será otro, posiblemente un /dev/bcache0
Configuración.
Preparar el MD0
make-bcache -B /dev/md0
El comando anterior generará un dispositivo /dev/bcache0 que estará ligado a /dev/md0
Preparar el SSD como zona de CACHE
make-bcache -C /dev/sdb3
Genera una salida similar al comando con el parámetro -B pero aquí es importante guardar el valor de Set UUID, para este ejemplo ese valor será: ee13ac8c-de91-43a5-ba24-0099f9d0bc8a
Enlazar la zona cache del SSD al RAID
echo “ee13ac8c-de91-43a5-ba24-0099f9d0bc8a” > /sys/block/bcache0/bcache/attach
Configurar el modo writeback, este modo significa que el SSD almacena los bloques escrito en el SSD y cuando el kernel tiene oportunidad los sincroniza con el RAID o cualquier otro disco duro normal, de forma que la escritura y lectura se hace la mayor parte del tiempo en el SSD dando la sensación de que todo los Terabytes de tu arreglo o de tu disco duro son SSD
echo writeback > /sys/block/bcache0/bcache/cache_mode
Configurar el tamaño del bloque a aplicar cache, si el bloque es mayor lo deja pasar directamente al RAID, debido a que los cambios grandes no son tan lentos como los cambios en archivos pequeños, pero se puede configurar del tamaño que se requiera expresándolo en bytes. Por ejemplo, 20MB
echo “20971520” > /sys/block/bcache0/bcache/sequential_cutoff
BCACHE y LVM CACHE en Linux
Usar /dev/bcache0 como sitio de almacenamiento
Darle formato
Mkfs.ext4 /dev/bcache0
Ejemplo de montado
Mount /dev/bcache0 /home
Verificaciones del funcionamiento del CACHE
DirtyBlocks, significa que hay datos en el cache SSD que no han sido escritos al RAID. Cuando cache y RAID/DiscosDuros están sincronizados la respuesta es CLEAN
cat /sys/block/bcache0/bcache/state
Mostrar el estado del CACHE con información para humanos
cache-super-show /dev/sda3
Separar el SSD del /dev/bcache0, usualmente para cambiar el SSD por otro
echo 1 > /sys/block/bcache0/bcache/stop
Actualizando el servidor personal de Last Dragon
Sin es cierto que en linux es posible hacer una cache sobre la unidad de estado sólido de forma nativa, pero esto desvirtúa totalmente la intención de intel de hacer este puente de comunicación entre la unidad de almacenamiento y la ram. Mas allá del sesgo defensor del pinguino.
explica como y ¿ por que ?
buenas noches gracias por el tutorial, ya pude realizar todo el proceso satisfactoriamente pero lo realize con los mismo parametros del tutorial, y talvez no sean correctos con los dispositivos que yo tengo instalados, mi pregunta seria que parametros usaria si el hdd fuera de 3tb (2.73) y el ssd de 120gb(111.79) y los parametros que use lso del video son 500m metadata 1.4g cache y 49g datos, tambien me gustaria saber si se pudiera hacer las modificaciones ya hecho todo el procedimiento o tendria que hacerlo desde el principio borrando todo.