{"id":2370,"date":"2021-01-17T15:24:08","date_gmt":"2021-01-17T21:24:08","guid":{"rendered":"https:\/\/www.lastdragon.net\/?p=2370"},"modified":"2021-01-17T15:29:50","modified_gmt":"2021-01-17T21:29:50","slug":"bcache-y-lvm-cache-en-linux","status":"publish","type":"post","link":"https:\/\/www.lastdragon.net\/?p=2370","title":{"rendered":"BCACHE y LVM CACHE en Linux"},"content":{"rendered":"\n<p>Ahora que los discos duros tienen much\u00edsimo espacio a un precio bastante econ\u00f3mico tienen el problema de que su almacenamiento es f\u00edsico, depende de la rotaci\u00f3n y la traslaci\u00f3n de las agujas de lectura y escritura. Las m\u00e1ximas velocidad las alcanza los SSD pero mientras mas espacio de almacenamiento tienen mas costoso se vuelven.<\/p>\n\n\n\n<p><strong>Intel Optane y los discos h\u00edbridos<\/strong><\/p>\n\n\n\n<p><br \/>Intel est\u00e1 usando una especie de NVME para usarlo como CACHE de un disco duro, el mismo funcionamiento que tienen los discos h\u00edbridos, pero ambos son mas caros que un disco duro com\u00fan 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<\/p>\n\n\n\n<p><strong>Soluci\u00f3n en GNU\/Linux<\/strong><\/p>\n\n\n\n<p>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<\/p>\n\n\n\n<p><strong>LVM con CACHE<\/strong><\/p>\n\n\n\n<p>Para ver como se hace con LVM se puede ver este video que hice en mi canal<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Construye tu propio OPTANE con Linux | convierte tus HDD en SDD con GNU Linux\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Uo6p7liK_uk?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><strong>BCACHE<\/strong><\/p>\n\n\n\n<p><br \/>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\u00edsico o de software y al menos un disco SSD, incluso con tama\u00f1os peque\u00f1os es suficiente. Mas de 100GB es mas que suficiente. Yo recomendar\u00eda tener 250G en SSD para usar una parte de el para la instalaci\u00f3n del sistema operativo y el resto para CACHE de un RAID o Disco duro de varios terabytes. Lugar donde podr\u00edas meter tu home o tus bases de datos a velocidades muy altas de lectura y escritura, pero a precio bastante econ\u00f3mico.<\/p>\n\n\n\n<p><strong>Requerimientos<\/strong><\/p>\n\n\n\n<p>Instalar las bcache-tools en tu distribuci\u00f3n o compilarlas de su condigo fuente si tu distribuci\u00f3n no las incluye<\/p>\n\n\n\n<p>Tener una partici\u00f3n en el SSD para hacer la funci\u00f3n de CACHE y tener preparado el disco o el RAID a aplicar CACHE<\/p>\n\n\n\n<p>Asumiremos que la partici\u00f3n 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\u00f3n pues el dispositivo final ser\u00e1 otro, posiblemente un \/dev\/bcache0<\/p>\n\n\n\n<p><strong>Configuraci\u00f3n<\/strong>.<\/p>\n\n\n\n<p><em>Preparar el MD0<\/em><\/p>\n\n\n\n<p>make-bcache -B \/dev\/md0<\/p>\n\n\n\n<p>El comando anterior generar\u00e1 un dispositivo \/dev\/bcache0 que estar\u00e1 ligado a \/dev\/md0<\/p>\n\n\n\n<p><em>Preparar el SSD como zona de CACHE<\/em><\/p>\n\n\n\n<p>make-bcache -C \/dev\/sdb3<\/p>\n\n\n\n<p>Genera una salida similar al comando con el par\u00e1metro -B pero aqu\u00ed es importante guardar el valor de Set UUID, para este ejemplo ese valor ser\u00e1: ee13ac8c-de91-43a5-ba24-0099f9d0bc8a<\/p>\n\n\n\n<p><em>Enlazar la zona cache del SSD al RAID<\/em><\/p>\n\n\n\n<p>echo &#8220;ee13ac8c-de91-43a5-ba24-0099f9d0bc8a&#8221; &gt; \/sys\/block\/bcache0\/bcache\/attach<\/p>\n\n\n\n<p>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\u00f3n de que todo los Terabytes de tu arreglo o de tu disco duro son SSD<\/p>\n\n\n\n<p>echo writeback &gt; \/sys\/block\/bcache0\/bcache\/cache_mode<\/p>\n\n\n\n<p>Configurar el tama\u00f1o 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\u00f1os, pero se puede configurar del tama\u00f1o que se requiera expres\u00e1ndolo en bytes. Por ejemplo, 20MB<\/p>\n\n\n\n<p>echo &#8220;20971520&#8221; > \/sys\/block\/bcache0\/bcache\/sequential_cutoff<\/p>\n\n\n\n<p>BCACHE y LVM CACHE en Linux<\/p>\n\n\n\n<p><strong>Usar \/dev\/bcache0 como sitio de almacenamiento<\/strong><\/p>\n\n\n\n<p>Darle formato<br \/>Mkfs.ext4 \/dev\/bcache0<br \/>Ejemplo de montado<br \/>Mount \/dev\/bcache0 \/home<\/p>\n\n\n\n<p><strong>Verificaciones del funcionamiento del CACHE<\/strong><\/p>\n\n\n\n<p>DirtyBlocks, significa que hay datos en el cache SSD que no han sido escritos al RAID. Cuando cache y RAID\/DiscosDuros est\u00e1n sincronizados la respuesta es CLEAN<\/p>\n\n\n\n<p>cat \/sys\/block\/bcache0\/bcache\/state<\/p>\n\n\n\n<p>Mostrar el estado del CACHE con informaci\u00f3n para humanos<\/p>\n\n\n\n<p>cache-super-show \/dev\/sda3<\/p>\n\n\n\n<p>Separar el SSD del \/dev\/bcache0, usualmente para cambiar el SSD por otro<\/p>\n\n\n\n<p>echo 1 &gt; \/sys\/block\/bcache0\/bcache\/stop<\/p>\n\n\n\n<p><strong>Actualizando el servidor personal de Last Dragon<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.lastdragon.net\/misarchivos\/bcache\/ssd.jpg\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.lastdragon.net\/misarchivos\/bcache\/torre.jpg\" alt=\"\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Ahora que los discos duros tienen much\u00edsimo espacio a un precio bastante econ\u00f3mico tienen el problema de que su almacenamiento es f\u00edsico, depende de la rotaci\u00f3n y la traslaci\u00f3n de las agujas de lectura y escritura. Las m\u00e1ximas velocidad las alcanza los SSD pero mientras mas espacio de almacenamiento tienen mas costoso se vuelven. Intel&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2371,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-consultoria-y-manuales"],"_links":{"self":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2370"}],"version-history":[{"count":2,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2370\/revisions"}],"predecessor-version":[{"id":2374,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/posts\/2370\/revisions\/2374"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=\/wp\/v2\/media\/2371"}],"wp:attachment":[{"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lastdragon.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}