Remarque :

Déploiement du cache NFS sur Oracle Cloud Infrastructure

Introduction

Lorsque plusieurs instances de calcul cloud nécessitent un accès au stockage NFS sur site, vous pouvez déployer le cache NFS sur le cloud. Pour améliorer les données de performances NFS, elles sont mises en cache sur le cloud lorsqu'un client NFS le demande. Les noeuds client NFS écrivent les données directement sur votre serveur de fichiers d'origine NFS à l'aide de la mise en cache d'écriture.

Les performances NFS sont très sensibles à la latence du réseau. Même une latence réseau relativement faible peut dégrader considérablement les performances NFS pour les lectures et les écritures. Lors de l'utilisation du stockage NFS on-premise, le déploiement du cache NFS sur le cloud peut améliorer considérablement les performances, en particulier pour les charges de travail consommatrices de lecture.

Objectif

Déployez une solution de mise en cache NFS sur Oracle Cloud Infrastructure (OCI).

Prérequis

Vous devez disposer d'un réseau cloud virtuel (VCN) configuré avec un sous-réseau privé ou public où le cache NFS sera installé. Le sous-réseau OCI doit avoir une connectivité au serveur NFS sur site et le port TCP 2049 doit être ouvert dans la liste de sécurité du sous-réseau. Il est recommandé de configurer un tunnel VPN ou une OCI Fast Connect entre le serveur NFS sur site et le serveur de cache NFS sur le cloud.

Remarque : ce tutoriel fait référence à la version NFS4. Pour les versions NFS antérieures, vous devrez peut-être ouvrir des ports supplémentaires dans la liste de sécurité du sous-réseau.

Architecture

Le cache NFS peut être déployé dans plusieurs architectures différentes. Dans cet exemple, nous utilisons l'architecture suivante.

Image1

Pour la haute disponibilité, vous pouvez installer un équilibreur de charge réseau avec 2 serveurs de cache NFS back-end ou plus et configurer le port TCP/2049 dans le processus d'écoute d'équilibreur de charge réseau.

Image2

Tâche 1 : installer et configurer le serveur FS-Cache

  1. Pour déployer le cache NFS sur OCI, provisionnez une instance de calcul Oracle Linux à l'aide de l'un des éléments E4. Formes DenseIO.Flex.

    Image3

    Remarque : ces formes à E/S dense ont un nombre différent de disques locaux NVMe. Le stockage NVMe sera utilisé pour la mise en cache des données NFS. Sélectionnez la forme en fonction des exigences de stockage.

  2. Sélectionnez l'VCN et le sous-réseau, ajoutez une clé SSH publique.

  3. Ouvrez Advanced Options et ajoutez le script cloud-init : install.sh

    Image4

    Le script effectue les actions suivantes :

    1. Configure RAID-0 sur les disques NVMe disponibles
    2. Crée un système de fichiers sur un périphérique RAID-0 et le monte
    3. Installe le package mis en cache et démarre le service mis en cache
    4. Active le serveur NFS
    5. Configure le pare-feu SELinux et Linux

Tâche 2 : création et exportation du partage NFS

  1. Créez un répertoire pour le point de montage NFS et montez le partage du serveur NFS sur la machine virtuelle FS-Cache à l'aide de l'option -fsc. Exemples :

    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. Exportez le point de montage local en modifiant le fichier /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. Remplacez <FS-Cache-mount-point> par le chemin réel du point de montage. Exécutez la commande exportfs.

    sudo exportfs -a
    
  4. Vérifiez que le service cachfilesd est en cours d'exécution.

    sudo systemctl status cachefilesd
    

    Image5

Tâche 3 : montage du partage NFS sur les clients NFS

Montez les répertoires exportés du serveur FS-Cache vers les clients NFS. Par exemple, sur le client NFS, vous pouvez exécuter la commande suivante.

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  

Lors de la lecture de fichiers qui ne sont pas encore mis en cache sur le serveur FS-Cache, le temps d'accès est plus long. Toutefois, lorsqu'un fichier est mis en cache, l'heure de lecture est comparable à l'accès au serveur NFS sur le même LAN. La différence sera encore plus évidente lorsque de nombreux clients NFS lisent le même contenu à partir du partage NFS.

Remerciements

Auteur - Michael Prestin (architecte cloud principal maître)

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour consulter la documentation produit, consultez Oracle Help Center.