Résoudre les problèmes liés aux partages de fichiers Azure NFS
Remarque
CentOS référencé dans cet article est une distribution Linux qui atteint la fin de vie (EOL). Tenez compte de votre utilisation et planifiez en conséquence. Pour plus d’informations, consultez Guide sur la fin de vie de CentOS.
Cet article répertorie les problèmes courants liés aux partages de fichiers Azure NFS et fournit des causes potentielles et des solutions de contournement.
Importante
Le contenu de cet article s’applique uniquement aux partages NFS. Pour résoudre les problèmes SMB dans Linux, consultez Résoudre les problèmes de Azure Files dans Linux (SMB). Les partages de fichiers Azure NFS ne sont pas pris en charge pour Windows.
S’applique à
Type de partage de fichiers | SMB | NFS |
---|---|---|
Partages de fichiers standard (GPv2), LRS/ZRS | ||
Partages de fichiers standard (GPv2), GRS/GZRS | ||
Partages de fichiers Premium (FileStorage), LRS/ZRS |
échec de chgrp « filename » : argument non valide (22)
Cause 1 : idmapping n’est pas désactivé
Étant donné que Azure Files interdit l’UID/GID alphanumérique, vous devez désactiver le mappage d’idmapping.
Cause 2 : l’idmapping a été désactivé, mais a été réactivé après avoir rencontré un nom de fichier/dir incorrect
Même si vous désactivez correctement idmapping, il peut être automatiquement réactivé dans certains cas. Par exemple, quand Azure Files rencontre un nom de fichier incorrect, il renvoie une erreur. Après avoir vu ce code d’erreur, un client Linux NFS 4.1 décide de réactiver le mappage d’idmapping et envoie les demandes futures avec l’UID/GID alphanumérique. Pour obtenir la liste des caractères non pris en charge sur Azure Files, consultez cet article. Deux-points est l’un des caractères non pris en charge.
Solution de contournement
Vérifiez que vous avez désactivé l’idmapping et que rien ne le réactive. Effectuez ensuite les étapes suivantes :
Démontez le partage.
Désactivez idmapping avec :
sudo echo Y > /sys/module/nfs/parameters/nfs4_disable_idmapping
Montez le partage en arrière.
Si vous exécutez rsync, exécutez rsync avec l’argument
—numeric-ids
à partir d’un répertoire qui n’a pas de nom de répertoire ou de fichier incorrect.
Impossible de créer un partage NFS
Cause : Paramètres de compte de stockage non pris en charge
NFS est disponible uniquement sur les comptes de stockage avec la configuration suivante :
- Niveau - Premium
- Type de compte - FileStorage
- Régions - Liste des régions prises en charge
Solution
Suivez les instructions fournies dans Comment créer un partage NFS.
Impossible de se connecter ou de monter un partage de fichiers Azure NFS
Cause 1 : La demande provient d’un client dans un réseau non approuvé/une adresse IP non approuvée
Contrairement à SMB, NFS n’a pas d’authentification basée sur l’utilisateur. L’authentification pour un partage est basée sur la configuration de votre règle de sécurité réseau. Pour vous assurer que les clients établissent uniquement des connexions sécurisées à votre partage NFS, vous devez utiliser le point de terminaison de service ou des points de terminaison privés. Pour accéder aux partages à partir d’un emplacement local en plus des points de terminaison privés, vous devez configurer une connexion VPN ou ExpressRoute. Les adresses IP ajoutées à la liste d’autorisation du compte de stockage pour le pare-feu sont ignorées. Vous devez utiliser l’une des méthodes suivantes pour configurer l’accès à un partage NFS :
-
Accessible par le point de terminaison public.
Disponible uniquement dans la même région.
Vous ne pouvez pas utiliser le peering de réseaux virtuels pour l’accès au partage.
Vous devez ajouter chaque réseau virtuel ou sous-réseau individuellement à la liste d’autorisation.
Pour l’accès local, vous pouvez utiliser des points de terminaison de service avec ExpressRoute, des VPN de point à site et de site à site. Nous vous recommandons d’utiliser un point de terminaison privé, car il est plus sécurisé.
Le diagramme suivant illustre la connectivité à l’aide de points de terminaison publics :
-
L’accès est plus sécurisé que le point de terminaison de service.
L’accès au partage NFS via une liaison privée est disponible à l’intérieur et à l’extérieur de la région Azure du compte de stockage (interrégion, local).
Le peering de réseaux virtuels avec des réseaux virtuels hébergés dans le point de terminaison privé donne au partage NFS l’accès aux clients dans des réseaux virtuels appairés.
Vous pouvez utiliser des points de terminaison privés avec ExpressRoute, des VPN point à site et des VPN de site à site.
Cause 2 : Le transfert sécurisé requis est activé
Actuellement, les partages de fichiers Azure NFS ne prennent pas en charge le double chiffrement. Azure fournit une couche de chiffrement pour toutes les données en transit entre les centres de données Azure à l’aide de MACSec. Vous pouvez uniquement accéder aux partages NFS à partir de réseaux virtuels approuvés et via des tunnels VPN. Aucun chiffrement de couche de transport supplémentaire n’est disponible sur les partages NFS.
Solution
Désactivez transfert sécurisé requis dans le panneau de configuration de votre compte de stockage.
Cause 3 : le package nfs-utils, nfs-client ou nfs-common n’est pas installé
Avant d’exécuter la mount
commande, installez le package nfs-utils, nfs-client ou nfs-common.
Pour case activée si le package NFS est installé, exécutez :
Les mêmes commandes de cette section s’appliquent à CentOS et Oracle Linux.
sudo rpm -qa | grep nfs-utils
Solution
Si le package n’est pas installé, installez-le à l’aide de votre commande spécifique à la distribution.
Les mêmes commandes de cette section s’appliquent à CentOS et Oracle Linux.
Version du système d’exploitation 7.X
sudo yum install nfs-utils
Version 8.X ou 9.X du système d’exploitation
sudo dnf install nfs-utils
Cause 4 : Pare-feu bloquant le port 2049
Le protocole NFS communique avec son serveur sur le port 2049. Assurez-vous que ce port est ouvert sur le compte de stockage (le serveur NFS).
Solution
Vérifiez que le port 2049 est ouvert sur votre client en exécutant la commande suivante. Si le port n’est pas ouvert, ouvrez-le.
sudo nc -zv <storageaccountnamehere>.file.core.windows.net 2049
Cause 5 : Compte de stockage supprimé
Si vous ne parvenez pas à monter le partage de fichiers en raison d’une erreur : la connexion a expiré, le compte de stockage contenant le partage de fichiers peut être supprimé accidentellement.
Solution
Récupérez le compte de stockage. Ensuite, supprimez et recréez le point de terminaison privé afin qu’il soit associé au nouvel ID de ressource du compte de stockage.
ls se bloque pour l’énumération de répertoires volumineux sur certains noyaux
Cause : Un bogue a été introduit dans le noyau Linux v5.11 et a été résolu dans la version 5.12.5
Certaines versions du noyau ont un bogue qui entraîne la création de listes de répertoires dans une séquence READDIR sans fin. Les petits répertoires où toutes les entrées peuvent être envoyées en un seul appel n’ont pas ce problème. Le bogue a été introduit dans le noyau Linux v5.11 et a été corrigé dans la version 5.12.5. Donc tout ce qui se trouve entre les deux a le bogue. RHEL 8.4 a cette version du noyau.
Solution de contournement : rétrograder ou mettre à niveau le noyau
La rétrogradation ou la mise à niveau du noyau vers tout ce qui est en dehors du noyau affecté doit résoudre le problème.
Les commandes système échouent avec l’erreur « Fichier introuvable »
Cause
Les applications Linux 32 bits qui s’appuient sur des nombres d’inodes peuvent ne pas fonctionner comme prévu avec Azure Files en raison de la mise en forme des numéros d’inode 64 bits générés par le service NFS.
Solution
Pour résoudre ce problème, appliquez l’une des méthodes suivantes :
Compressez les nombres inode 64 bits sur 32 bits à l’aide de l’option de démarrage du
nfs.enable_ino64=0
noyau.Définissez le paramètre de module en ajoutant
options nfs enable_ino64=0
au fichier /etc/modprobe.d/nfs.conf et en redémarrant la machine virtuelle.
Vous pouvez également conserver cette option de démarrage du noyau dans le fichier grub.conf . Pour plus d’informations, consultez la documentation de votre distribution Linux.
Besoin d’aide ?
Si vous avez toujours besoin d’aide, contactez le support technique pour résoudre rapidement votre problème.
Voir aussi
- Résoudre les problèmes Azure Files
- Résoudre les problèmes de performances Azure Files
- Résoudre les problèmes de connectivité Azure Files (SMB)
- Résoudre les problèmes d’authentification et d’autorisation Azure Files (SMB)
- Résoudre les problèmes Azure Files SMB généraux sur Linux
Contactez-nous pour obtenir de l’aide
Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour