Автор Тема: nfsd: too many open connections  (Прочитано 1880 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн PIKNIK

  • Новичок форума
  • Topic Author
  • Сообщений: 2
nfsd: too many open connections
« : 06 Сентябрь 2016, 13:15:43 »
Добрый день!

Имеется Debian 7.6. Я на нём внутри сети сделал NFS-сервер и экспортировал папку с документами. Но как только я настроил клиентов на автоматическое монтирование NFS при запуске системы (около 2000 клиентов), я обнаружил, что часто клиентов не могут примонтировать NFS-каталог с ошибкой таймаута.

Я полез в логи и обнаружил гурьбу сообщений:
Sep  6 12:09:08 dns kernel: [25709759.646583] nfsd: too many open  connections, consider increasing the number of threads.
Само собой сервер немного офигел от такого количества подключений и отказывается принимать новые.

Полазив по интернету я нашёл только один совет: увеличить RPCNFSDCOUNT в /etc/default/nfs-kernel-server и в /etc/init.d/nfs-kernel-server. Изначально там стояло 8, я пробовал сначала 16, потом 32 и уже потом 64. Только на 64-х сообщения "too many open connctions" перестали появляться, однако при попытке вручную примонтировать NFS-каталог от клиента я до сих пор сталкиваюсь с ошибкой таймаута. Демоны перезагружал, сервер НЕ перезагружал.

Другие решения я в Интернете на нашлись. Да они и не под debian были, а под CentOS'ы, SUSE и пр.

Подскажите, что мне нужно отредактировать, чтобы подключать такое большое количество NFS-соединений?
 

Оффлайн gardarea51

  • Старожил
  • ****
  • Сообщений: 769
  • Jabber: gard.area51@jabber.ru
Re: nfsd: too many open connections
« Ответ #1 : 06 Сентябрь 2016, 20:56:19 »
Тут наверное проблема в "автоматическом" монтировании со стороны клиентов.
Могу врать, но скорее всего вам надо менять параметры ядра, сетевые, либо на живую, либо прописав их в /etc/sysctl.conf.
А вот какие именно - не подскажу, что-то вроде "количества входящих одновременных tcp соединений".
 

Оффлайн ihammers

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1742
  • Debian GNU/Linux Stretch
    • Алтайская Группа Пользователей Linux
  • Jabber: ihammers@jabber.ru
Re: nfsd: too many open connections
« Ответ #2 : 09 Сентябрь 2016, 04:17:42 »
Я на нём внутри сети сделал NFS-сервер и экспортировал папку с документами. Но как только я настроил клиентов на автоматическое монтирование NFS при запуске системы (около 2000 клиентов), я обнаружил, что часто клиентов не могут примонтировать NFS-каталог с ошибкой таймаута.
А всем этим клиентом нужно одновременно подключаться к NFS? Подключение настроено через fstab или autofs?

Можете привести пример конфигов клиента и сервера?
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

Оффлайн PIKNIK

  • Новичок форума
  • Topic Author
  • Сообщений: 2
Re: nfsd: too many open connections
« Ответ #3 : 12 Сентябрь 2016, 11:30:32 »
Всем этим клиентам нужно в течении рабочего дня держать примонтированным NFS-каталог на случай, если пользователю срочно потребуется взять от туда какой-нибудь файл.

Настройки NFS у меня дефорлтые (кроме RPCNFSDCOUNT, конечно):

root@wer:~# cat /etc/default/nfs-kernel-server
# Number of servers to start up
RPCNFSDCOUNT=64

USE_KERNEL_NFSD_NUMBER="8"

# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information,
# see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
RPCMOUNTDOPTS=--manage-gids

# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=

# Options for rpc.svcgssd.
RPCSVCGSSDOPTS=

root@wer:~# cat /etc/default/nfs-common
# If you do not set values for the NEED_ options, they will be attempted
# autodetected; this should be sufficient for most people. Valid alternatives
# for the NEED_ options are "yes" and "no".

# Do you want to start the statd daemon? It is not needed for NFSv4.
NEED_STATD=

# Options for rpc.statd.
#   Should rpc.statd listen on a specific port? This is especially useful
#   when you have a port-based firewall. To use a fixed port, set this
#   this variable to a statd argument like: "--port 4000 --outgoing-port 4001".
#   For more information, see rpc.statd(8) or http://wiki.debian.org/SecuringNFS
STATDOPTS=

# Do you want to start the idmapd daemon? It is only needed for NFSv4.
NEED_IDMAPD=

# Do you want to start the gssd daemon? It is required for Kerberos mounts.
NEED_GSSD=

root@wer:~# cat /etc/exports
/mnt/samba/docs *(ro,no_subtree_check,no_all_squash,no_root_squash,async)

Клиенты подключаются через rc.local:
mount -o nolock 10.0.0.15:/mnt/samba/docs/ /mnt/docs/ &
 

Оффлайн ihammers

  • Главный модератор
  • Ветеран
  • *****
  • Сообщений: 1742
  • Debian GNU/Linux Stretch
    • Алтайская Группа Пользователей Linux
  • Jabber: ihammers@jabber.ru
Re: nfsd: too many open connections
« Ответ #4 : 13 Сентябрь 2016, 03:57:05 »
Всем этим клиентам нужно в течении рабочего дня держать примонтированным NFS-каталог на случай, если пользователю срочно потребуется взять от туда какой-нибудь файл.
Я бы посоветовал использовать autofs, подключение автоматически <<по запросу>>. Это снимет нагрузку на сервер.

Информацию по настройки autofs можно найти https://wiki.debian.org/AutoFs, раздел <<Configuring autofs>>. Там вам потребуется установить autofs и поправить один файл.
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64,
LXQt/KDE/OpenBox AMD Phenon X4 / 16Gb RAM / ATI HD7750 Silent
_______________________________
Debian GNU/Linux Stretch, kernel 4.9.0-5-amd64, LXQt/KDE/OpenBox
Acer Aspire One 722 AMD C60 / 4Gb RAM / ATI HD6290
 

Теги: