Cette page décrit les options de montage NFS Linux qui affectent les performances et le comportement lors du montage des exportations NetApp Volumes. Vous définissez ces options lorsque vous exécutez la commande mount ou en les ajoutant à /etc/fstab.
Pour connaître l'ordre de configuration recommandé et savoir comment les options d'installation interagissent avec la simultanéité et la lecture anticipée du noyau, consultez Optimiser les clients NFS Linux.
Pour obtenir des exemples de commandes de montage et d'accès à l'exportation, consultez Connecter des clients NFS.
Avant de commencer
Avant de monter des NetApp Volumes, assurez-vous de remplir les conditions suivantes :
Utilisez la commande mount à partir des instructions de montage de la console Google Cloud , sauf si votre charge de travail nécessite d'autres options.
Si vous ajustez la simultanéité avec les paramètres de table de slots ou de slots de session, configurez ces paramètres avant le montage. Pour en savoir plus, consultez Simultanéité NFS Linux.
Testez les modifications dans un environnement hors production. L'effet des options de montage peut varier en fonction de la charge de travail, de la version de Linux et de la latence du réseau.
Légende
Le tableau suivant fournit une référence rapide des options de montage courantes en fonction des objectifs de votre charge de travail :
| Objectif | Options à envisager | Remarques |
|---|---|---|
| Usage général | Utiliser les instructions d'installation de la console Google Cloud | Inclut les valeurs par défaut appropriées au protocole |
| Débit ou IOPS plus élevés à partir d'une VM | nconnect=8 à nconnect=16, ajuster rsize et wsize |
Définissez d'abord la table des emplacements. Pour en savoir plus, consultez Concurrence NFS Linux. |
| Latence réduite pour les bases de données | rsize=262144, wsize=262144, hard, timeo=600 et vers=4.1 |
Tester votre application spécifique |
| Spécifier la version NFS | vers=3 ou vers=4.1 |
Linux monte la version la plus récente disponible par défaut. |
| NFSv3 sans verrouillage consultatif | vers=3, nolock |
Pour obtenir des conseils sur le pare-feu et le gestionnaire de verrouillage, consultez Connecter des clients NFS. |
| Kerberos NFSv4.1 | sec=krb5, krb5i ou krb5p |
Ne pas utiliser avec nconnect |
| Données en lecture seule avec des compromis de cohérence connus | nocto, actimeo= |
Avancé : comprendre d'abord le comportement du cache |
Incluez toujours tcp lorsque vous montez NFSv3. Bien que Linux utilise TCP pour le trafic NFS par défaut, l'ajout explicite de tcp permet de s'assurer que le processus de montage utilise TCP au lieu d'UDP. Cela permet d'améliorer les performances lorsque de nombreux systèmes tentent de monter en même temps. Incluez noatime pour réduire les opérations sur les métadonnées.
Profils de support recommandés
Les profils de montage suivants fournissent des options recommandées en fonction de vos exigences en termes de performances, des versions de protocole et de l'échelle du client. Lorsque vous exécutez ces commandes, remplacez VOLUME_IP et /export_path par les valeurs réelles des instructions de montage dans la console Google Cloud .
Profil A : Par défaut (console)
Exécutez la commande de montage fournie dans la console Google Cloud sans la modifier.
Profil B : Orienté performances (client Linux unique)
Exemple pour NFSv3, aligné sur la configuration du test des benchmarks de performances :
sudo mount -t nfs -o hard,tcp,vers=3,rsize=262144,wsize=262144,nconnect=16 \ VOLUME_IP:/export_path /mnt/volume
Les benchmarks utilisent nconnect=16 et 64 kio rsize et wsize. De nombreuses charges de travail fonctionnent bien avec nconnect=8. Testez les deux valeurs.
Profil C : NFSv4.1 avec version explicite
sudo mount -t nfs -o vers=4.1,hard,rsize=262144,wsize=262144 \ VOLUME_IP:/export_path /mnt/volume
Pour empêcher le montage automatique de NFSv4.2 lorsqu'il est activé sur le volume, spécifiez vers=4.1. Pour en savoir plus, consultez Connecter des clients NFS.
Profil D : NFSv3 pour les parcs de calcul
Si vous connectez un grand nombre de clients à un volume (par exemple, des centaines), n'utilisez pas nconnect pour éviter d'épuiser les sessions TCP disponibles sur le volume.
sudo mount -t nfs -o vers=3,nolock,hard,tcp,rsize=262144,wsize=262144 \ VOLUME_IP:/export_path /mnt/volume
Persister dans /etc/fstab
L'exemple suivant montre une ligne /etc/fstab pour NFSv4.1 :
VOLUME_IP:/export_path /mnt/volume nfs vers=4.1,hard,tcp,rsize=262144,wsize=262144,timeo=600,_netdev 0 0
Utilisez l'option _netdev pour que le système attende la mise en réseau avant le montage.
nconnect
L'option de montage nconnect vous permet de contrôler le nombre de connexions TCP que le client NFS ouvre au même point de terminaison de stockage, qui est l'adresse IP du volume. Chaque connexion gère plusieurs opérations NFS en même temps, jusqu'à une limite définie. L'augmentation du nombre de connexions améliore la simultanéité et le débit des E/S à partir d'un seul client.
Recommandations
Tenez compte des recommandations suivantes lorsque vous configurez l'option de montage nconnect :
Testez
nconnect=8etnconnect=16. Les valeurs jusqu'à 16 sont acceptées.N'utilisez
nconnectque pour les clients dédiés à hautes performances. Si de nombreux clients (par exemple, une ferme de calcul) se connectent au même stockage, évitez d'utilisernconnect.Effectuez la première opération de montage sur une adresse IP de volume donnée pour définir la valeur
nconnectpour cette adresse IP sur ce client. Les montages ultérieurs sur la même adresse IP utilisent la même valeur, même s'ils en spécifient une autre. Montez l'exportation avec la valeurnconnectsélectionnée en premier, ou utilisez la même option pour tous les montages sur cette adresse IP.Notez que la définition de
nconnectpour une adresse IP de volume n'affecte pas les montages sur une autre adresse IP de volume.Avant d'utiliser
nconnect, vérifiez que votre distribution Linux est compatible.
Pour en savoir plus sur les limites de slots par connexion, consultez Concurrence NFS Linux.
rsize et wsize
Les options de montage rsize et wsize définissent la taille de transfert maximale pour les opérations de lecture et d'écriture NFS. Si vous les omettez, le client et le serveur négocient la taille la plus grande qu'ils prennent tous les deux en charge, qui peut atteindre 1 Mio sur les clients Linux et les NetApp Volumes.
Recommandations
Tenez compte des recommandations suivantes lorsque vous configurez les options de montage rsize et wsize :
Testez
rsize=262144etwsize=262144(256 Kio) pour ajuster le débit et la latence des applications sensibles à la latence.Utilisez des valeurs supérieures à 256 Kio avec précaution, car elles peuvent augmenter la latence ou réduire le débit pour certaines charges de travail. Mesurez les performances avant le déploiement.
Utilisez
rsize=65536etwsize=65536(64 Kio) pour les tests NFSv3, car ces valeurs ont été utilisées dans les benchmarks de performances.
Notez que ces paramètres ont un effet minimal sur les charges de travail aléatoires, qui utilisent généralement des tailles d'opération plus petites que rsize et wsize, tandis que les E/S séquentielles via le cache de page utilisent souvent des tailles d'opération allant jusqu'à rsize et wsize.
L'option de montage rsize affecte le comportement de lecture anticipée. Pour en savoir plus, consultez Lecture anticipée NFS Linux.
Version du protocole
Le tableau suivant liste les valeurs de l'option vers et les versions de protocole correspondantes :
| Option | Utilisation |
|---|---|
vers=3 |
NFSv3 |
vers=4.1 |
NFSv4.1 |
vers=4.2 |
NFSv4.2 |
Si vous ne définissez pas vers, la commande Linux mount utilise la version NFS la plus élevée compatible avec le client et le volume. Les volumes Flex Unified, Standard, Premium et Extreme avec NFSv4.1 activé sont également compatibles avec NFSv4.2. Vous pouvez installer NFSv4.2, sauf si vous spécifiez vers=4.1.
Pour en savoir plus sur le mappage d'identité NFSv4.1, Kerberos et les ID numériques, consultez Connecter des clients NFS.
hard, timeo et retrans
Les options de montage hard, timeo et retrans gèrent le comportement du client et la logique de nouvelle tentative de délai d'attente en cas de problème de connexion :
hard: réessaie les requêtes NFS jusqu'à ce qu'elles aboutissent. Cette option est typique pour l'intégrité des données sur les charges de travail de production.timeo: spécifie le délai d'inactivité en dixièmes de seconde avant qu'une requête ne soit relancée. Les charges de travail orientées base de données utilisent souventtimeo=600(60 secondes).retrans: spécifie le nombre de nouvelles tentatives.Les valeurs par défaut de la console Google Cloud sont généralement suffisantes, sauf indication contraire dans vos runbooks.
Option nolock NFSv3
Le verrouillage consultatif NFSv3 utilise le gestionnaire de verrouillage réseau (NLM) et nécessite des rpc.statd côté client et des règles de pare-feu pour les ports de rappel.
Si vous n'utilisez pas de verrous consultatifs, effectuez le montage avec nolock pour éviter le trafic du gestionnaire de verrous.
NFSv4.1 implémente le verrouillage dans le protocole sur le port 2049. Les clients n'ont pas besoin de règles d'entrée distinctes pour le gestionnaire de verrouillage.
Pour en savoir plus sur l'utilisation des verrous consultatifs avec NFSv3 et les règles de pare-feu pour l'accès aux volumes NFS, consultez Connecter des clients NFS.
Cache et cohérence avec nocto et actimeo
Le client NFS utilise un modèle de cohérence faible. Les minuteurs du cache d'attributs déterminent la durée pendant laquelle le client fait confiance aux métadonnées des fichiers et des répertoires avant de contacter le serveur. La cohérence proche de l'ouverture par défaut (cto) actualise les données du fichier lorsque vous l'ouvrez.
nocto: le client ne force pas la cohérence du serveur à l'ouverture. Cela réduit les appelsgetattr, mais augmente le risque de données obsolètes.actimeo=N: configure tous les minuteurs du cache d'attributs surNsecondes (acregmin,acregmax,acdirminetacdirmax).
Envisagez d'utiliser des valeurs nocto et actimeo plus élevées dans les scénarios suivants :
Un seul rédacteur ou des lecteurs en lecture seule qui reçoivent les mises à jour par un autre biais.
Grands ensembles de données statiques, tels que les bibliothèques EDA, le contenu Web ou les textures de rendu, si une brève obsolescence est acceptable.
Dans la plupart des cas, utilisez les valeurs par défaut recommandées pour Linux pour la mise en cache des attributs :
Durée minimale et maximale des fichiers standards :
acregmin=3secondes etacregmax=60secondesDurée minimale et maximale des répertoires :
acdirmin=30secondes etacdirmax=60secondes
Si vous diminuez ces valeurs, vous augmentez la charge sur le serveur NFS et vous risquez de réduire les performances. Évitez actimeo=0, sauf pour des cas d'utilisation très spécifiques où vous comprenez l'impact.
Autres options courantes
Les autres options de montage courantes suivantes sont disponibles pour les clients NFS :
rwouro: installation en lecture/écriture ou en lecture seule.noatime: ne mettez pas à jour l'heure d'accès lors de la lecture, car cela réduit les opérations sur les métadonnées et constitue une bonne pratique.sec=sys: AUTH_SYS, qui est la valeur par défaut pour les exportations non Kerberos._netdev: utilisez ce paramètre dansfstabpour effectuer le montage une fois le réseau disponible.