Introdução
Este documento descreve como solucionar problemas e corrigir um erro de "Identificador de arquivo obsoleto" do NFS ao executar o comando df -h no Cisco DNA Center.
Pré-requisitos
Requisitos
- Conhecimento de gerenciamento do sistema de arquivos Linux
- Conhecimento de NFS v3 ou v4
- Acesso ao bash shell completo do maglev CLI
- Endereço IP NFS ou Nome do Host e Caminho do Diretório NFS
Componentes Utilizados
- CLI maglev do Cisco DNA Center 2.3.3
- NFS v4
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Problema
Os backups completos do Cisco DNA Center (garantia) podem falhar porque o NFS não está montado corretamente, mesmo que você o veja configurado com êxito nas configurações de backup do Cisco DNA Center. Ao verificar os sistemas de arquivos no Cisco DNA Center bash com o comando df -h, você verá que obtém linhas de erro no início da saída do comando: df: /data/nfs: identificador de arquivo obsoleto
Este erro de arquivo de identificador obsoleto NFS pode estar presente em qualquer sistema Linux devido a vários motivos. O mais comum é devido a qualquer alteração no inode de arquivo montado no dispositivo de disco. Por exemplo, quando um serviço ou aplicativo abre ou cria um arquivo, o exclui e o fecha e tenta acessar ou excluir o mesmo arquivo novamente para que a referência a esse arquivo esteja desatualizada ou seja inválida. Em outras palavras, um identificador de arquivo se torna obsoleto sempre que o arquivo ou diretório referenciado pelo identificador é removido por outro host, enquanto o cliente ainda mantém uma referência ativa ao objeto.
Exemplo:
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:~$
Uma saída semelhante é fornecida pelo comando magctl sts backup mount display.
Exemplo:
maglev@maglev-master-10-10-10-10:~$ magctl sts backup mount display
ERROR: df: /data/nfs: Stale file handle
Observação: vários erros de identificador de arquivo obsoleto podem ser encontrados também para o mesmo servidor NFS com pontos de montagem diferentes. A solução pode ser aplicada a cada erro de identificador de arquivo obsoleto.
Solução
1.- Remova as configurações de NFS para excluir o NFS do sistema. Navegue até o menu do Cisco DNA Center > Configurações > Backup e restauração > Configurar > Cisco DNA Center (NFS) e clique no botão Remover.
2.- Valide o ponto de montagem obsoleto do NFS no sistema executando o comando:
$ mount | grep -i <NFS_IP_ADDRESS_OR_FQDN>
Exemplo:
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)
Vários resultados podem ser encontrados também para o mesmo servidor NFS com diferentes pontos de montagem. Todos eles podem ser necessários para serem desmontados.
Dica: se o shell seguro estiver habilitado no maglev CLI (magshell), você poderá executar o comando _shell para habilitar o bash completo. Você pode exigir um token do TAC para conceder acesso ao shell completo do maglev bash, dependendo da versão do Cisco DNA Center.
3.- Desmonte manualmente o ponto de montagem NFS que está fornecendo o erro de identificador de arquivo obsoleto nos sistemas de arquivos executando o comando:
$ sudo umount <NFS_IP_ADDRESS_OR_FQDN>:/remote/NFS/path /local/mount/point
Exemplo:
maglev@maglev-master-10-10-10-10:~$ sudo umount 192.168.100.1:/dna_backups/dna_assurance_data /data/nfs
4.- Uma vez que você tenha o NFS desmontado do sistema de arquivos, você pode verificar novamente executando o comando df -h e validar que você não vê mais o erro "Stale file handle". Se você ainda vir uma entrada para o identificador de arquivo obsoleto, siga novamente as etapas 2 e 3, pois o NFS pode ter pontos de montagem diferentes que também estavam em uso e também precisam ser desmontados.
5.- Por fim, navegue até Menu do Cisco DNA Center > Configurações > Backup e restauração > Configurar > Cisco DNA Center (NFS) e reconfigure o NFS.
Validação
Valide se o NFS agora está montado corretamente sem mais erros de "identificador de arquivo obsoleto" executando o comando df -h e também verificando o ponto de montagem NFS das configurações de backup com 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% |
+------------------------------------------+------+------------+------------+------------+