На ECS кешу NFS потрібно ~20 хвилин, щоб розповсюджувати та оновлювати кеш NFS у службі dataheadsvc на пристрої ECS. Ця проблема часто виникає під час налаштування нового експорту NFS, оскільки для вирішення проблеми настроювання експорту потрібні деякі зміни.
Така поведінка очікується на ECS, коли існуючий експорт NFS змінено, а експорт відображається як активний у ECS.
- Щоб перевірити цю проблему, перевірте експорт, присутній у ECS:
Команда:(У клієнті NFS Linux)
# showmount -e <Приклад IP-адреси ECS>
:
[root@nfsclient ~]# showmount -e xxx.xxx.xxx
Export list for xxx.xxx.xxx.xxx:
/namespace/nfsbucket *
- Спробуйте змонтувати експорт, який було перевірено на ECS:
Команда: (Примітка. Це приклад команди, і ми додаємо параметр -vv, щоб отримати докладніший результат у клієнті NFS Linux).
# mount -vv -t nfs -o vers=3,,nolock,sec=sys,proto=tcp <ECS IP>:Export Path <> локальна точка>монтування Приклад:<
[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
- Перевірте на ECS, експорт не може бути знайдений:
Команда: (Зауважте, що це сканує всі вузли одночасно на наявність ключового слова nfs за останні 5 хвилин на кластері ECS)
# svc_log -i -f nfs -sr all -sn -sf -n all -start '5 хвилин тому'
Приклад:
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
- Зачекайте ~20 хвилин, доки конфліктуючі параметри експорту оновляться на ECS, і повторіть спробу команди mount:
Команда: (Примітка. Це приклад команди, і ми додаємо параметр -vv, щоб отримати докладніший результат у клієнті NFS Linux).
# mount -vv -t nfs -o vers=3,,nolock,sec=sys,proto=tcp <ECS IP>:Export Path <> локальна точка>монтування Приклад:<
[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)