No ECS, o cache NFS leva aproximadamente 20 minutos para propagar e atualizar o cache NFS no serviço dataheadsvc no appliance do ECS. Esse problema geralmente ocorre durante uma configuração de uma nova exportação NFS, pois algumas alterações são necessárias para resolver uma personalização de exportação.
Esse comportamento é esperado no ECS quando uma exportação NFS existente é modificada e a exportação é exibida como ativa no ECS.
- Para validar, tendo esse problema, verifique a exportação presente no ECS:
Comando: (no client Linux NFS)
# showmount -e <Endereço IP do exemplo do ECS>
:
[root@nfsclient ~]# showmount -e xxx.xxx.xxx
Export list for xxx.xxx.xxx.xxx:
/namespace/nfsbucket *
- Tente montar a exportação que foi validada no ECS:
Comando: (Nota: Este é um exemplo de comando, e estamos adicionando a opção -vv para obter uma saída mais detalhada no client Linux NFS).
# mount -vv -t nfs -o vers=3,,nolock,sec=sys,proto=tcp <IP do ECS>:< caminho de exportação><local Ponto de montagem>
Exemplo:
[root@ nfsclient ~]# mount -vv -t nfs -o vers=3,,nolock,sec=sys,proto=tcp xxx.xxx.xxx.xxx:/namespace/nfsbucket /mnt/test
mount.nfs: timeout set for Wed Aug 14 09:37:03 2019
mount.nfs: trying text-based options 'vers=3,nolock,sec=sys,proto=tcp,addr= xxx.xxx.xxx.xxx '
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying xxx.xxx.xxx.xxx prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying xxx.xxx.xxx.xxx prog 100005 vers 3 prot TCP port 2049
mount.nfs: mount(2): No such file or directory
mount.nfs: mounting xxx.xxx.xxx.xxx:/namespace/nfsbucket failed, reason given by server: No such file or directory
- Valide no ECS que a exportação não pode ser localizada:
Comando: (Observe que isso verifica todos os registros de nós simultaneamente para a palavra-chave nfs nos últimos 5 minutos no cluster do ECS)
# svc_log -i -f nfs -sr all -sn -sf -n all -start '5 minutes ago'
Exemplo:
admin@ecsnode1:~> svc_log -i -f nfs -sr all -sn -sf -n all -start '5 minutes ago'
svc_log v0.9.19 (svc_tools v1.1.1) Started 2019-08-14 15:35:57
Running on nodes: <All nodes>
Time range: 2019-08-14 15:30:57 - 2019-08-14 15:35:57
Filter string(s): 'nfs'
Show filename(s): True
Show nodename(s): True
Search reclaim logs (if any): False
Case insensitive: True
169.254.1.1 dataheadsvc.log 2019-08-14T15:35:05,953 [RpcDispatcherMD-3082827] INFO RpcProgramMountd.java (line 101) MOUNT MNT path: /namespace/nfsbucket Client: /xxx.xxx.xxx
169.254.1.1 dataheadsvc.log 2019-08-14T15:35:05,958 [RpcDispatcherMD-3082827] INFO ExportsService.java (line 98) added key /namespace/nfsbucket/ to the cache
169.254.1.1 dataheadsvc.log 2019-08-14T15:35:05,960 [RpcDispatcherMD-3082827] ERROR RpcProgramMountd.java (line 111) Couldn't locate the exportEntry for the path /namespace/nfsbucket
- Aguarde cerca de 20 minutos para que as configurações conflitadas de exportação atualizem no ECS e repita o comando de montagem:
Comando: (Nota: Este é um exemplo de comando, e estamos adicionando a opção -vv para obter uma saída mais detalhada no client Linux NFS).
# mount -vv -t nfs -o vers=3,,nolock,sec=sys,proto=tcp <IP do ECS>:< caminho de exportação><local Ponto de montagem>
Exemplo:
[root@client ~]# mount -vv -t nfs -o vers=3,,nolock,sec=sys,proto=tcp xxx.xxx.xxx: /namespace/nfsbucket mnt/test
final mount options: 'vers=3,,nolock,sec=sys,proto=tcp'
mount.nfs: timeout set for Wed Aug 14 13:55:00 2019
mount.nfs: trying text-based options 'vers=3,nolock,sec=sys,proto=tcp,addr= xxx.xxx.xxx '
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying xxx.xxx.xxx prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=6
mount.nfs: trying xxx.xxx.xxx prog 100005 vers 3 prot TCP port 2049
xxx.xxx.xxx:/namespace/nfsbucket on /mnt/test type nfs (rw,vers=3,,nolock,sec=sys,proto=tcp)