Introducción
Este documento describe cómo resolver problemas y corregir un error "Stale file handle" de NFS cuando se ejecuta el comando df -h en Cisco DNA Center.
Prerequisites
Requirements
- Conocimiento de administración del sistema de archivos Linux
- Conocimiento de NFS v3 o v4
- Acceso al shell bash completo de la CLI de maglev
- Dirección IP o nombre de host de NFS y ruta de directorio de NFS
Componentes Utilizados
- Cisco DNA Center 2.3.3 Maglev CLI
- NFS v4
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Problema
Las copias de seguridad completas (garantía) de Cisco DNA Center pueden fallar porque el NFS no está montado correctamente, incluso si lo ve configurado correctamente en la configuración de Copia de seguridad de Cisco DNA Center. Al verificar los sistemas de archivos en Cisco DNA Center bash con el comando df -h, se ve que se obtienen líneas de error al principio del resultado del comando: df: /data/nfs: manejador de archivo obsoleto
Este error de archivo de manejo obsoleto de NFS puede estar presente en cualquier sistema Linux debido a múltiples razones. El más común es debido a cualquier cambio en el inode del archivo montado en el dispositivo de disco. Por ejemplo, cuando un servicio o una aplicación abre o crea un archivo, lo elimina y lo cierra y, a continuación, intenta obtener acceso al mismo archivo o eliminarlo de nuevo para que la referencia a ese archivo quede obsoleta o no sea válida. En otras palabras, un identificador de archivo se vuelve obsoleto cada vez que otro host quita el archivo o directorio al que hace referencia el identificador, mientras que el cliente aún mantiene una referencia activa al objeto.
Ejemplo:
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:~$
El comando magctl sts backup mount display proporciona una salida similar.
Ejemplo:
maglev@maglev-master-10-10-10-10:~$ magctl sts backup mount display
ERROR: df: /data/nfs: Stale file handle
Nota: También se pueden encontrar varios errores de controlador de archivos obsoletos para el mismo servidor NFS con diferentes puntos de montaje. La solución se puede aplicar a cada error de identificador de archivo obsoleto.
Solución
1.- Eliminar la configuración de NFS para eliminar el NFS del sistema. Navegue hasta Cisco DNA Center Menu > Settings > Backup & Restore > Configure > Cisco DNA Center (NFS) y haga clic en el botón Remove .
2.- Validar el punto de montaje obsoleto NFS en el sistema mediante la ejecución del comando:
Monto en $ | grep -i <NFS_IP_ADDRESS_OR_FQDN>
Ejemplo:
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)
También se pueden encontrar varios resultados para el mismo servidor NFS con diferentes puntos de montaje. Todos ellos pueden ser requeridos para ser desmontados.
Sugerencia: Si el shell seguro está habilitado en la CLI maglev (magshell), puede ejecutar el comando _shell para habilitar bash completo. Puede requerir un token del TAC para otorgar acceso al shell de bash maglev completo, según la versión del Cisco DNA Center.
3.- Desmontar manualmente el punto de montaje NFS que está proporcionando el error Stale file handle en los sistemas de archivos ejecutando el comando:
$ sudo umount <NFS_IP_ADDRESS_OR_FQDN>:/remote/NFS/path /local/mount/point
Ejemplo:
maglev@maglev-master-10-10-10-10:~$ sudo umount 192.168.100.1:/dna_backups/dna_assurance_data /data/nfs
4.- Una vez que tenga el NFS desmontado del sistema de archivos, puede volver a verificar ejecutando el comando df -h y validar que ya no ve el error "Stale file handle". Si todavía ve una entrada para el controlador de archivos obsoletos, siga los pasos 2 y 3 nuevamente, ya que el NFS puede tener diferentes puntos de montaje que también estaban en uso y que también requieren ser desmontados.
5.- Finalmente, navegue hasta Cisco DNA Center Menu > Settings > Backup & Restore > Configure > Cisco DNA Center (NFS) y reconfigure el NFS.
Validación
Valide que el NFS esté ahora montado correctamente sin más errores de "identificador de archivo obsoleto" ejecutando el comando df -h y también comprobando el punto de montaje del NFS de la configuración de la copia de seguridad con 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% |
+------------------------------------------+------+------------+------------+------------+