Назад | Перейти на главную страницу

Время ожидания общих ресурсов Synology NFS истекает после отключения электроэнергии

Synology DS1513 + с DSM 6.2.2-24922

Это проблема Synology NFS. Все остальное на NAS и вне его работает. Может быть, какие-то гуру NFS знают, что происходит.

Изменить: есть ли способ переустановить или сбросить NFS на NAS, вроде пакета в Debian или чего-то еще?

Некоторое время назад отключилось питание, и внезапно истекло время ожидания общих ресурсов NFS на NAS. В значительной степени убежден, что это NAS, поскольку это с трех разных машин Linux с разными версиями ОС (Debian 9, обновление Debian 10, Linux Mint Whatever). Debian 10 Live также не работает. Монтирование CIFS отлично работает от клиента с этой проблемой. Также работает на машине с Windows 7. Буквально все остальное, что связано и не связано с NAS, кроме NFS на NAS, работает.

На клиенте ...

Записи fstab выглядят так:

NAS:/volume1/Share1 /mnt/nfs/Share1 nfs noauto,_netdev,x-systemd.automount,x-systemd.device-timeout=3,rw,noexec,nosuid,soft,timeo=20 0 0
NAS:/volume1/Share2 /mnt/nfs/Share2 nfs noauto,_netdev,x-systemd.automount,x-systemd.device-timeout=3,rw,noexec,nosuid,soft,timeo=20 0 0
etc...

Попытка смонтировать общий ресурс приводит к повторяющимся таймаутам. Это происходит при автоматическом монтировании systemd или при попытке монтирования вручную:

$ mount -v Share1

mount.nfs: timeout set for Mon Jul 1 14:03:35 2019
mount.nfs: trying text-based options 'soft,timeo=20,nfsvers=4.2,addr=10.2.3.4,clientaddr=10.2.3.123'
mount.nfs: mount(2): Connection timed out
mount.nfs: trying text-based options 'soft,timeo=20,nfsvers=4.2,addr=10.2.3.4,clientaddr=10.2.3.123'
mount.nfs: mount(2): Connection timed out
etc...

Я заметил, что он никогда не пытается использовать любую другую версию NFS, но затем время ожидания истекает, а соединение не прерывается. Параметр для NFS 4.1 включен на NAS, поэтому я все равно попытался установить версию 4.1, а также отключить 4.1, но результат тот же.

На сервере ...

Кажется, что nfsd запущен. Изменение настроек заставляет их перезапускаться должным образом. Есть что-то вроде 50+ процессов nfsd. пс говорит:

$ ps -el | grep nfs

1 S 0 479 2 0 60 -20 - 0 rescue ? 00:00:00 nfsiod
1 S 0 19310 2 0 60 -20 - 0 rescue ? 00:00:00 nfsd4
1 S 0 19311 2 0 60 -20 - 0 rescue ? 00:00:00 nfsd4_callbacks
1 S 0 19315 2 0 80 0 - 0 svc_ge ? 00:00:00 nfsd
1 S 0 19316 2 0 80 0 - 0 svc_ge ? 00:00:00 nfsd
... etc x 50+ ...
1 S 0 19382 2 0 80 0 - 0 svc_ge ? 00:00:00 nfsd

Кажется, я не могу найти ничего в каких-либо журналах на NAS, кроме этих старых сообщений (обратите внимание, что сообщений о попытках монтирования нет):

$ dmesg | grep -i nfs

[ 1.634369] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 4.457531] NFS: Registering the id_resolver key type
[ 64.183851] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 65.032600] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 65.032650] NFSD: starting 90-second grace period (net ffffffff81853a80)
[ 732.887033] nfsd: peername failed (err 107)!
[ 3747.212750] nfsd: last server has exited, flushing export cache
[ 3747.857575] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 3748.106390] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 3748.114294] NFSD: starting 90-second grace period (net ffffffff81853a80)
[ 3766.547251] nfsd: last server has exited, flushing export cache
[ 3767.179133] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[ 3767.417179] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[ 3767.425074] NFSD: starting 90-second grace period (net ffffffff81853a80)
[64250.094837] nfsd: peername failed (err 107)!
[67058.897383] nfsd: last server has exited, flushing export cache
[67071.416444] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[67071.686715] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[67071.694600] NFSD: starting 90-second grace period (net ffffffff81853a80)
[67762.742233] nfsd: last server has exited, flushing export cache
[67783.915610] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[67784.287170] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[67784.295081] NFSD: starting 90-second grace period (net ffffffff81853a80)
[67826.140602] nfsd: last server has exited, flushing export cache
[67827.558978] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[67828.044110] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[67828.052009] NFSD: starting 90-second grace period (net ffffffff81853a80)
[67865.118316] nfsd: last server has exited, flushing export cache
[67866.194700] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[67866.444936] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[67866.452861] NFSD: starting 90-second grace period (net ffffffff81853a80)

Нашел некоторые больше информации в Arch Wiki (что, как известно, круто) ...

$ cat /proc/fs/nfs/exports

# Version 1.1
# Path Client(Flags) # IPs

Вот и все. Я считаю это подозрительным. Следует ли экспортировать этот список?

$ cat /etc/exports

/volume1/Share1   Client1(rw,async,no_wdelay,insecure,all_squash,insecure_locks,sec=sys,anonuid=1024,anongid=100)
etc...

Они все одинаковые. Есть три файла экспорта: exports, exports_map и exports_syno.

$ cat /proc/net/rpc/nfsd

rc 0 0 0
fh 0 0 0 0 0
io 0 0
th 63 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
ra 128 0 0 0 0 0 0 0 0 0 0 0
net 0 0 0 2
rpc 0 0 0 0 0
proc2 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
proc3 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
proc4 2 0 0
proc4ops 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Понятия не имею.

$ cat /etc/nfs/syno_nfs_conf

udp_read_size=32768
udp_write_size=32768
nfsv4_enable=yes
nfs_unix_pri_enable=0
statd_port=0
nlm_port=0
nfs_custom_port_enable=no
kerberos_principal=nfs/nas.lan@LAN

Пробовал флаги отладки:

$ sysctl -w sunrpc.rpc_debug=1023
$ sysctl -w sunrpc.nfsd_debug=1023

Но я не могу найти журнал, в котором что-либо обновляется. Пробовал / var / log / messages, dmesg, kern.log, syslog.log, sysnotify.log.

Это серьезно раздражает ... Есть идеи? я опубликовано на форумах сообщества Synology, но прошло больше недели, и он не отвечает.

Редактировать:

Только что заметил, что dmesg заполнен:

[46814.703044] NFSD: laundromat service - starting
[46814.707587] NFSD: laundromat_main - sleeping for 90 seconds
repeat like 40 times...
[46846.668090] svc: server ffff88006d210000, no data yet
[46846.668165] svc: server ffff880077f60000, no data yet
[46846.668167] svc: server ffff880077f60000 waiting for data (to = 3600000)
[46846.668175] svc: server ffff88007d57e000, no data yet
[46846.668178] svc: server ffff88007d57e000 waiting for data (to = 3600000)
[46846.668183] svc: server ffff88006ff0a000, no data yet
repeat like 50 times...

Я не помню, чтобы видел это раньше. Не уверен, что это связано с svc ...

Если электричество отключилось возможно, какое-то оборудование перезагрузилось и вернулось к сохраненной конфигурации это отличается от того, что выполнялось в энергозависимой памяти.

При использовании сетевого хранилища обычная практика заключается в оптимизации сети, корпоративные коммутаторы не сохраняют конфигурацию сразу, вы должны сохранить ее, иначе она будет потеряна после перезагрузки.

  • Проверьте свой NAS-сервер, сетевые коммутаторы и все промежуточное оборудование, чтобы убедиться, что:
    • Вы включили jumbo-кадры на всех, но теперь они доступны только на некоторых портах NAS или коммутаторов.
    • VLAN неправильно настроены.
    • Сетевая связь рушится.
  • Протестируйте сеть с помощью эхо-запроса от NAS к клиентам и клиентов к NAS
  • Подключитесь к NAS с помощью прямого сетевого кабеля и ноутбука и протестируйте NFS.