[[TOC(heading=Índice)]] {{{ #!NewsFlash Nota: la caché local debe estar disponible a partir de la versión 0.91. }}} = La caché local del cliente = == Motivación == Un cliente !OpenGnSys debe contar con una zona de disco reservada para almacenar información propia, lo que permitirá ejecutar órdenes sin necesidad de conexión a la red, aumentando las prestaciones del sistema. Dicha caché puede incluir: * Imágenes de sistemas operativos locales. * Datos básicos de arranque local sin red (modo ''offline''). * ... == Localización física == La caché local se localizará en un sistema de archivos con soporte para archivos grandes (tipo Reiser) almacenado en una única partición física del disco, la cual debe estar situada en la zona donde menos pueda interferir con el resto de particiones, permitiendo -dentro de lo posible- el redimensionado de éstas. Las características de la partición de caché deben ser: * Definida en la partición primaria 4 del disco 1. * Ubicada el final del disco. * Identificador de partición {{{ca}}}. * Etiqueta con la cadena {{{CACHE}}}. * La modificación del tamaño de la caché implicará su reconstrucción y la pérdida de datos. La API debe contar con un conjunto de funciones específicas para tratar las operaciones relacionadas con la partición de caché, mientras que el resto de particiones serán procesadas con las funciones normales. Los cambios deben resultar transparentes para la consola de gestión. Las nuevas funciones que tratan sistemas de archivos deben ignorar la existencia de la partición de caché. Al definir la caché en una partición primaria localizada al final del disco, sólo hay que realizar la comprobación de no violar su límite inferior (en una partición lógica habría que comparar también el límite de la partición extendida que la contiene). El sistema sólo permitirá definir otras 3 particiones primarias, por lo tanto, cuando se requiera disponer de más de 3 particiones será obligatorio definir una de ellas como extendida. == Estructura de datos == Para permitir el modo ''offline'', la estructura de directorios de la caché debe ser equivalente a la del cliente Initrd, con algunas modificaciones: * {{{boot}}} - datos de arranque con GRUB * {{{opt/opengnsys}}} * images - imágenes almacenadas en la caché local. El acceso a las imágenes almacenadas en caché implica crear algunos enlaces simbólicos. * Modo ''online'': crear enlace en el cliente Initrd de ''{{{PuntoMontajeCache}}}''{{{/opt/opengnsys/images}}} a {{{/opt/opengnsys/cache}}} * Modo ''offline'': crear enlace en la caché de ''{{{images}}} a {{{cache}}} == Creación == ''(en definición)'' Pasos: * La consola indica al cliente el tamaño de la caché. * Si tamaño=0; * Sin caché * Si no; * Si no existe caché * Crear caché (definir la partición, formatear, crear directorios, copiar datos) * Si no; * Si tamaño<>actual; * Volver a crear la caché