Мониторинг и контроль процессов NFS

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

mohito
Сообщения: 2
ОС: Debian

Мониторинг и контроль процессов NFS

Сообщение mohito »

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

В этой связи есть следующие вопросы:
  • Можно ли ограничить потребление ресурсов (CPU) конкретным процессом (NFS) или количество порождаемых ядерных потоков NFS?
  • Можно контролировать и ограничивать работу NFS? количество одновременно открытых файлов, пропускная способность и скорость записи файлов на диск и т.п.)
  • Какие существую средства мониторинга указанных параметров?
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 18091
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Мониторинг и контроль процессов NFS

Сообщение Bizdelnick »

Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Мониторинг и контроль процессов NFS

Сообщение BigBrother »

mohito писал(а):
23.04.2015 20:30
Какие существую средства мониторинга указанных параметров?

Какие сделаешь, такие и будут. Вот например так, можно посчитать % загрузки cpu

Код: Выделить всё

ps uax | grep nfsd  | grep -v grep | awk '{print $3}' | sed -n 'H;${g;s/\n/+/gp}' | sed -r 's/^\+//g' | bc

% используемой ram

Код: Выделить всё

ps uax | grep nfsd  | grep -v grep | awk '{print $4}' | sed -n 'H;${g;s/\n/+/gp}' | sed -r 's/^\+//g' | bc

и отправляй эти значения в систему мониторинга для рисования графиков.
Так же, можно вытащить статистику самого nfs

Код: Выделить всё

#Client statistics
nfsstat -c
#Server statistics
nfsstat -s

Раз тема про нфс, тогда у меня вопрос. Как сделать так, чтобы клиенты nfs не отваливались (зависает выполнение df -h и другие неприятности), если сервер nfs становится недоступен на некоторое время? Можно как-то клиентам сказать чтобы опрашивали доступность сервера nfs каждые N минут? Приходится делать umount -f и заново монтировать папку-nfs.
Спасибо сказали:

mohito
Сообщения: 2
ОС: Debian

Re: Мониторинг и контроль процессов NFS

Сообщение mohito »

Спасибо за рекомендации! Буду мониторить.


BigBrother писал(а):
23.04.2015 21:54
Как сделать так, чтобы клиенты nfs не отваливались (зависает выполнение df -h и другие неприятности), если сервер nfs становится недоступен на некоторое время? Можно как-то клиентам сказать чтобы опрашивали доступность сервера nfs каждые N минут? Приходится делать umount -f и заново монтировать папку-nfs.

Тоже было бы интересно
Спасибо сказали:

Аватара пользователя
nerve
Сообщения: 280
ОС: OpenBSD

Re: Мониторинг и контроль процессов NFS

Сообщение nerve »

BigBrother писал(а):
23.04.2015 21:54
Как сделать так, чтобы клиенты nfs не отваливались (зависает выполнение df -h и другие неприятности), если сервер nfs становится недоступен на некоторое время?

я монтирую так:

Код: Выделить всё

192.168.1.2:/data  /mnt                   nfs     rw,hard,intr    0 0

конкретно опция hard отвечает за то что ты хочешь.
Спасибо сказали:

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Мониторинг и контроль процессов NFS

Сообщение BigBrother »

nerve писал(а):
28.04.2015 09:06
конкретно опция hard отвечает за то что ты хочешь.

Странно, но опции монтирования, после трех разных вариантов монтирования одинаковые

Код: Выделить всё

[root@test ~]# mount | egrep tools
192.168.1.1:/tools on /nt/tools type nfs4 (ro,relatime,vers=4.0,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=1192.168.1.2,local_lock=none,addr=192.168.1.1)

Опция hard ставится по-умолчанию, а опции intr я не вижу.
Монитровал так

Код: Выделить всё

mount -t nfs 192.168.1.1:/tools /mnt/tools
mount -t nfs 192.168.1.1:/tools /mnt/tools -o hard,intr
echo "192.168.1.1:/tools /mnt/tools nfs ro,hard,intr 0 0" &>> /etc/fstab && mount -a

Спасибо сказали:

Аватара пользователя
nerve
Сообщения: 280
ОС: OpenBSD

Re: Мониторинг и контроль процессов NFS

Сообщение nerve »

скорее всего нет никаких опций, отвечающих за "поддержку" соединения или "переподключение", кажется это и так включено в нфс по-умолчанию.
опция hard нужна для того чтобы не передавать приложению использующему нфс ошибку при недоступности шары.
http://nfs.sourceforge.net/nfs-howto/ar01s...l#mount_options
Спасибо сказали: