Nota:

Despliegue de la caché NFS en Oracle Cloud Infrastructure

Introducción

Cuando varias instancias informáticas basadas en la nube requieren acceso al almacenamiento NFS local, puede desplegar la caché NFS en la nube. Para mejorar el rendimiento de NFS, los datos se almacenan en caché en la nube cuando un cliente NFS los solicita. Los nodos de cliente NFS escriben datos directamente en el servidor de archivos de origen NFS mediante el almacenamiento en caché de escritura.

El rendimiento de NFS es muy sensible a la latencia de red. Incluso una latencia de red relativamente pequeña puede degradar significativamente el rendimiento de NFS tanto para lecturas como para escrituras. Al utilizar el almacenamiento NFS local, el despliegue de la caché NFS en la nube puede dar lugar a importantes ventajas de rendimiento, especialmente en el caso de las cargas de trabajo "con muchas lecturas".

Objetivo

Despliegue la solución de almacenamiento en caché NFS en Oracle Cloud Infrastructure (OCI).

Requisitos

Debe tener una red virtual en la nube (VCN) configurada con una subred privada o pública en la que se instalará la caché de NFS. La subred de OCI debe tener conectividad con el servidor NFS local y el puerto TCP 2049 debe estar abierto en la lista de seguridad de subred. Se recomienda configurar un túnel de VPN u OCI Fast Connect entre el servidor NFS local y el servidor de caché NFS en la nube.

Nota: Este tutorial hace referencia a la versión NFS4. Para versiones anteriores de NFS, puede que necesite abrir puertos de adición en la lista de seguridad de subred.

Arquitectura

La caché NFS se puede desplegar en una serie de arquitecturas diferentes. En este ejemplo, estamos utilizando la siguiente arquitectura.

Image1

Para alta disponibilidad (HA), puede instalar un equilibrador de carga de red con 2 o más servidores de caché NFS de backend y configurar el puerto TCP/2049 en el listener del equilibrador de carga de red.

Image2

Tarea 1: Instalación y configuración del servidor FS-Cache

  1. Para desplegar la caché NFS en OCI, aprovisione una instancia informática de Oracle Linux mediante uno de E4. Unidades DenseIO.Flex.

    Image3

    Nota: Estas unidades de E/S densa tienen un número diferente de discos locales NVMe. El almacenamiento NVMe se utilizará para almacenar en caché datos NFS. Seleccione la unidad según los requisitos de almacenamiento.

  2. Seleccione VCN y subred y agregue una clave SSH pública.

  3. Abra Opciones avanzadas y agregue el script cloud-init: install.sh

    Image4

    El script realiza lo siguiente:

    1. Configura RAID-0 en discos NVMe disponibles.
    2. Crea un sistema de archivos en el dispositivo RAID-0 y lo monta
    3. Instala el paquete almacenado en caché e inicia el servicio almacenado en caché
    4. Activa el servidor NFS
    5. Configura el firewall SELinux y Linux

Tarea 2: Creación y exportación de recursos compartidos NFS

  1. Cree un directorio para el punto de montaje NFS y monte el recurso compartido del servidor NFS en la VM FS-Cache mediante la opción -fsc. Por ejemplo:

    sudo mount <NFS-server-IP>:<NFS-share> <FS-Cache-mount-point> -o fsc
    
    where:  <NFS-server-IP> is the IP of the origin NFS server
    	<NFS-share> is the path of NFS share directory from the origin NFS server
    	<FS-Cache-mount-point> is the mount point on FS-Cache server
    
  2. Exporte el punto de montaje local editando el archivo /etc/exports.

    sudo echo "<FS-Cache-mount-point> *(rw,wdelay,no_root_squash,no_subtree_check,fsid=10,sec=sys,rw,secure,no_root_squash,no_all_squash)" > /etc/exports
    
  3. Reemplace <FS-Cache-mount-point> por la ruta real del punto de montaje. Ejecute el comando exportfs.

    sudo exportfs -a
    
  4. Compruebe que el servicio cachfilesd se esté ejecutando.

    sudo systemctl status cachefilesd
    

    Image5

Tarea 3: Montaje del recurso compartido NFS en clientes NFS

Monte los directorios exportados del servidor FS-Cache a los clientes NFS. Por ejemplo, en el cliente NFS, puede ejecutar el siguiente comando.

sudo mount <FS-Cache-IP>:<FS-Cache-mount-point> <local-mount-point>

where:  <FS-Cache-server-IP> is the IP of FS-Cache server
	<FS-Cache-mount-point> is the path exported from FS-Cache server
	<local-mount-point> is the mount point on NFS client  

Al leer archivos que aún no están almacenados en caché en el servidor FS-Cache, el tiempo de acceso será mayor. Sin embargo, cuando un archivo se almacena en caché, el tiempo de lectura será comparable al acceso al servidor NFS en la misma LAN. La diferencia será aún más obvia cuando muchos clientes NFS lean el mismo contenido del recurso compartido NFS.

Agradecimientos

Autor: Michael Prestin (arquitecto principal maestro de nube)

Más recursos de aprendizaje

Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.

Para obtener documentación sobre los productos, visite Oracle Help Center.