7.4. Uso de la caché con NFS


NFS no utilizará la caché a menos que se le indique explícitamente. Este párrafo muestra cómo configurar un montaje NFS utilizando FS-Cache.

Requisitos previos

  • El paquete cachefilesd está instalado y funcionando. Para asegurarse de que se está ejecutando, utilice el siguiente comando:

    # systemctl start cachefilesd
    # systemctl status cachefilesd

    El estado debe ser active (running).

  • Monte los recursos compartidos NFS con la siguiente opción:

    # mount nfs-share:/ /mount/point -o fsc

    Todos los accesos a los archivos bajo /mount/point pasará a través de la caché, a menos que el archivo se abra para la E/S directa o la escritura. Para más información, consulte Sección 7.4.2, “Limitaciones de la caché con NFS”. NFS indexa el contenido de la caché utilizando el manejador del archivo NFS, not el nombre del archivo, lo que significa que los archivos con enlaces duros comparten la caché correctamente.

Las versiones 3, 4.0, 4.1 y 4.2 de NFS admiten el almacenamiento en caché. Sin embargo, cada versión utiliza diferentes ramas para el almacenamiento en caché.

7.4.1. Configuración de la compartición de la caché NFS

Hay varios problemas potenciales que tienen que ver con la compartición de la caché NFS. Dado que la caché es persistente, los bloques de datos en la caché están indexados en una secuencia de cuatro claves:

  • Nivel 1: Detalles del servidor
  • Nivel 2: Algunas opciones de montaje; tipo de seguridad; FSID; unificador
  • Nivel 3: Manejador de archivos
  • Nivel 4: Número de página en el expediente

Para evitar problemas de gestión de la coherencia entre los superbloques, todos los superbloques NFS que requieren almacenar datos en caché tienen claves de nivel 2 únicas. Normalmente, dos montajes NFS con el mismo volumen de origen y las mismas opciones comparten un superbloque, y por lo tanto comparten el almacenamiento en caché, incluso si montan diferentes directorios dentro de ese volumen.

Este es un ejemplo de cómo configurar la compartición de caché con diferentes opciones.

Procedimiento

  1. Monte los recursos compartidos NFS con los siguientes comandos:

    mount home0:/disk0/fred /home/fred -o fsc
    mount home0:/disk0/jim /home/jim -o fsc

    Aquí, /home/fred y /home/jim probablemente comparten el superbloque ya que tienen las mismas opciones, especialmente si provienen del mismo volumen/partición en el servidor NFS (home0).

  2. Para no compartir el superbloque, utilice el comando mount con las siguientes opciones:

    mount home0:/disk0/fred /home/fred -o fsc,rsize=8192
    mount home0:/disk0/jim /home/jim -o fsc,rsize=65536

    En este caso, /home/fred y /home/jim no compartirán el superbloque ya que tienen diferentes parámetros de acceso a la red, que forman parte de la clave de nivel 2.

  3. Para almacenar en caché el contenido de los dos subárboles (/home/fred1 y /home/fred2) twice sin compartir el superbloque, utilice el siguiente comando:

    mount home0:/disk0/fred /home/fred1 -o fsc,rsize=8192
    mount home0:/disk0/fred /home/fred2 -o fsc,rsize=65536
  4. Otra forma de evitar la compartición de superbloques es suprimirla explícitamente con el parámetro nosharecache. Utilizando el mismo ejemplo:

    mount home0:/disk0/fred /home/fred -o nosharecache,fsc
    mount home0:/disk0/jim /home/jim -o nosharecache,fsc

    Sin embargo, en este caso sólo se permite que uno de los superbloques utilice la caché, ya que no hay nada que distinga las claves de nivel 2 de home0:/disk0/fred y home0:/disk0/jim.

  5. Para especificar el direccionamiento al superbloque, añada un unique identifier en al menos uno de los montajes, es decir fsc=unique-identifier:

    mount home0:/disk0/fred /home/fred -o nosharecache,fsc
    mount home0:/disk0/jim /home/jim -o nosharecache,fsc=jim

    Aquí, el identificador único jim se añade a la clave de nivel 2 utilizada en la caché para /home/jim.

Importante

El usuario no puede compartir cachés entre superbloques que tengan diferentes parámetros de comunicación o de protocolo. Por ejemplo, no es posible compartir entre NFSv4.0 y NFSv3 o entre NFSv4.1 y NFSv4.2 porque fuerzan superbloques diferentes. También el ajuste de parámetros, como el tamaño de lectura (rsize), impide compartir la caché porque, de nuevo, fuerza un superbloque diferente.

Red Hat logoGithubRedditYoutubeTwitter

Aprender

Pruebe, compre y venda

Comunidades

Acerca de la documentación de Red Hat

Ayudamos a los usuarios de Red Hat a innovar y alcanzar sus objetivos con nuestros productos y servicios con contenido en el que pueden confiar.

Hacer que el código abierto sea más inclusivo

Red Hat se compromete a reemplazar el lenguaje problemático en nuestro código, documentación y propiedades web. Para más detalles, consulte el Blog de Red Hat.

Acerca de Red Hat

Ofrecemos soluciones reforzadas que facilitan a las empresas trabajar en plataformas y entornos, desde el centro de datos central hasta el perímetro de la red.

© 2024 Red Hat, Inc.