wiki:CacheCliente

Nota: la caché local está disponible desde la versión OpenGnSys 0.9.1.

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.
  • Otros archivos auxiliares para la configuración posterior de las imágenes.
  • 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 o XFS) 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".
  • Sistema de archivos tipo Reiser o XFS (por determinar, según rendimiento y operaciones disponibles).
  • 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 - copia de las herramientas adicionales del cliente
    • 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

El script de creación por defecto de la caché local (initCache) realiza las siguientes operaciones:

  • La consola indica al cliente el tamaño de la caché.
  • Si el tamaño solicitado es 0;
    • Si existe la partición de caché; eliminarla (puesta a 0) y salir del proceso.
    • Si no existe; no hacer nada y salir del proceso.
  • Si el tamaño solicitado tiene un valor válido y es distinto al tamaño actual de la caché; definir partición de caché.
  • Si la caché no está formateada; formatear su sistema de archivos.
  • Si el sistema de archivos de caché no está montado; montarlo.
  • Si no existe la estrucutra básica de datos para la caché; crearla.

El formato de ejecución de dicho script es:

initCache TamañoKB

Funciones de la API

Operación Formato
Crear partición de caché ogCreateCache TamañoKB
Obtener tamaño de la caché ogGetCacheSize
Obtener tamaño máximo disponible para cachéogGetCacheSpace
Eliminar partición de caché ogDeleteCache
Localizar partición reservada para caché ogFindCache
Formatear sistema de archivos para caché ogFormatCache
Montar caché ogMountCache
Desmontar caché ogUnmountCache

Comentarios

Información extra para desarrolladores:

Last modified 2 months ago Last modified on Jul 14, 2017, 1:07:08 PM