Introduction
Ce document décrit comment dépanner et corriger une erreur NFS "Stale file handle" lors de l'exécution de la commande df -h dans Cisco DNA Center.
Conditions préalables
Exigences
- Connaissances en gestion des systèmes de fichiers Linux
- Connaissances NFS v3 ou v4
- Accès à la coque maglev CLI full bash
- Adresse IP NFS ou nom d'hôte et chemin d'accès au répertoire NFS
Composants utilisés
- CLI Cisco DNA Center 2.3.3 maglev
- NFS v4
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Problème
Les sauvegardes complètes Cisco DNA Center (assurance) peuvent échouer car le NFS n'est pas correctement monté, même si vous voyez qu'il a été correctement configuré dans les paramètres de sauvegarde Cisco DNA Center. Lorsque vous vérifiez les systèmes de fichiers dans Cisco DNA Center bash avec la commande df -h, vous voyez que vous obtenez des lignes d'erreur au début de la sortie de la commande : df: /data/nfs: Stale file handle
Cette erreur NFS stale handle file peut être présente dans n'importe quel système Linux pour plusieurs raisons. La plus courante est due à une modification de l'inode du fichier monté dans le périphérique disque. Par exemple, lorsqu'un service ou une application ouvre ou crée un fichier, le supprime et le ferme, puis tente d'accéder au même fichier ou de le supprimer à nouveau, de sorte que la référence à ce fichier est obsolète ou non valide. En d'autres termes, un descripteur de fichier devient obsolète chaque fois que le fichier ou le répertoire référencé par le descripteur est supprimé par un autre hôte, tandis que votre client conserve une référence active à l'objet.
Exemple :
maglev@maglev-master-10-10-10-10:~$ df -h
df: /data/nfs: Stale file handle
Filesystem Size Used Avail Use% Mounted on
udev 189G 0 189G 0% /dev
tmpfs 38G 9.4M 38G 1% /run
/dev/sdb2 47G 28G 18G 62% /
tmpfs 189G 0 189G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 189G 0 189G 0% /sys/fs/cgroup
/dev/sdb4 392G 123G 250G 34% /data
/dev/sdb3 239M 163M 76M 69% /boot/efi
/dev/sdc3 166G 5.6G 152G 4% /var
/dev/sdc1 671G 102G 536G 16% /data/maglev/srv
/dev/sdc2 923G 175G 702G 20% /data/maglev/srv/maglev-system
/dev/sdd1 5.2T 127G 4.9T 3% /data/maglev/srv/ndp
glusterfs-brick-0.glusterfs-brick:/default_vol 923G 187G 699G 22% /mnt/glusterfs/default_vol
glusterfs-brick-0.glusterfs-brick:/ndp_vol 5.2T 181G 4.9T 4% /mnt/glusterfs/ndp_vol
tmpfs 38G 0 38G 0% /run/user/1234
maglev@maglev-master-10-10-10-10:~$
La commande magctl sts backup mount display fournit un résultat similaire.
Exemple :
maglev@maglev-master-10-10-10-10:~$ magctl sts backup mount display
ERROR: df: /data/nfs: Stale file handle
Remarque : plusieurs erreurs de gestion de fichiers périmés peuvent également être trouvées pour le même serveur NFS avec différents points de montage. La solution peut être appliquée à chaque erreur de handle de fichier périmé.
Solution
1.- Supprimez les paramètres NFS pour supprimer le NFS du système. Accédez au menu Cisco DNA Center > Settings > Backup & Restore > Configure > Cisco DNA Center (NFS) et cliquez sur Remove button.
2.- Validez le point de montage NFS obsolète dans le système en exécutant la commande :
Montant en $ | grep -i <NFS_IP_ADDRESS_OR_FQDN>
Exemple :
maglev@maglev-master-10-10-10-10:~$ mount | grep -i 192.168.100.1
192.168.100.1:/dna_backups/dna_assurance_data on /data/nfs type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,acregmin=60,acdirmin=60,soft,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.16.2,local_lock=none,addr=10.10.16.3)
Plusieurs résultats peuvent également être trouvés pour le même serveur NFS avec différents points de montage. Tous ces éléments peuvent être nécessaires pour être démontés.
Conseil : si l'interpréteur de commandes sécurisé est activé dans l'interface de ligne de commande maglev (magshell), vous pouvez exécuter la commande _shell pour activer full bash. Selon la version de Cisco DNA Center, vous pouvez avoir besoin d'un jeton du TAC pour accorder l'accès à l'interpréteur de commandes maglev bash complet.
3.- Démontez manuellement le point de montage NFS qui fournit l'erreur Stale file handle dans les systèmes de fichiers en exécutant la commande :
$ sudo umount <NFS_IP_ADDRESS_OR_FQDN> : /remote/NFS/path /local/mount/point
Exemple :
maglev@maglev-master-10-10-10-10:~$ sudo umount 192.168.100.1:/dna_backups/dna_assurance_data /data/nfs
4.- Une fois que vous avez le NFS démonté du système de fichiers, vous pouvez vérifier en exécutant la commande df -h et valider que vous ne voyez plus l'erreur "Stale file handle". Si vous voyez toujours une entrée pour le gestionnaire de fichier obsolète, passez à nouveau par les étapes 2 et 3 puisque le NFS peut avoir un point de montage différent qui était utilisé aussi et ils nécessitent d'être démontés aussi.
5.- Enfin, accédez à Cisco DNA Center Menu > Settings > Backup & Restore > Configure > Cisco DNA Center (NFS) et reconfigurez le NFS.
Validation
Vérifiez que le NFS est maintenant monté correctement avec plus d'erreurs de "stale file handle" en exécutant la commande df -h et aussi en vérifiant le point de montage NFS des paramètres de sauvegarde avec magctl :
maglev@maglev-master-10-10-10-10:~ $ magctl sts backup mount display
+------------------------------------------+------+------------+------------+------------+
| remote | type | used | available | percentage |
+------------------------------------------+------+------------+------------+------------+
|192.168.100.1:/dna_backups/dna_assurance_data/ | nfs4 | 6369873920 | 3744850944 | 63% |
+------------------------------------------+------+------------+------------+------------+