Европейский Университет в Санкт-Петербурге
Опубликован: 19.10.2005 | Доступ: свободный | Студентов: 1763 / 169 | Оценка: 4.31 / 3.82 | Длительность: 18:28:00
Лекция 8:

NFS. Настройка сервера

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >

Проверка работоспособности служб NFS

Теперь необходимо проверить, правильно ли запущены mountd и nfsd. Сначала это делается с помощью команды rpcinfo -p. Вывод программы должен показать что-то похожее на следующее:

100000	4	tcp	111	rpcbind
100000 	3	tcp	111	rpcbind
100000 	2	tcp	111	rpcbind
100000 	4	udp	111	rpcbind
100000  	3	udp	111	rpcbind
100000  	2	udp	111	rpcbind
100003  	2  	udp  	2049 	nfs
100003  	3  	udp  	2049 	nfs
100005  	3  	udp  	1023 	mountd
100005  	3  	tcp  	1023 	mountd
100005  	1  	udp  	1023 	mountd
100005  	1  	tcp  	1023 	mountd

Как видно, rpcbind успешно анонсирует службы.

Если в ответ на rpcinfo -p мы получили сообщение

rpcinfo: can't con

или

RPC_PROG_NOT_REGISTERED

или нечто похожее вместо ожидаемого - стало быть, rpcbind не доступен (отключен). Возможно, в файлах /etc/hosts.allow или /etc/hosts.deny есть настройки, запрещающие программе rpcbind отвечать нам.

Для перезапуска служб NFS можно завершить выполнение демонов nfsd, mountd и rpcbind, и потом запустить их вновь в таком порядке: rpcbind, затем mountd и nfsd. Программе nfsd может быть передан числовой аргумент - число потоков, которые следует запустить при старте. Программа "распараллелится" в указанном количестве потоков.

Более стандартным выходом является запуск скрипта

/etc/init.d/nfs.server

вначале с параметром stop, затем с параметром start.

При штатной работе mountd и nfsd запускаются на сервере NFS при старте системы из стартовых скриптов. Это можно проверить командами

ps -ef | grep mountd 
ps -ef | grep nfsd

Программа rpcbind объявляет свои службы независимо от того, продолжают ли работать программы, ранее зарегистрировавшиеся и (возможно) прекратившие работу вследствие аварии.

Следовательно, вышеприведенная проверка с помощью ps обязательна, если служба NFS перестала работать.

Не забудьте перед настройкой сервера NFS изучить страницы руководства, рассказывающие о rpcbind, mountd, nfsd, dfstab.

Блокировка файлов на NFS-сервере

Для того чтобы несколько процессов не конфликтовали при доступе к одному и тому же файлу, обычно используется механизм блокировки файла. Подробнее о блокировках сказано в документации по системным функциям lockf() и flock(). В NFS механизм блокировки реализован посредством двух демонов: lockd и statd.

Оба демона запускаются на сервере NFS после mountd и nfsd.

Программа lockd устанавливает и снимает блокировку файлов по запросу, а демон statd следит за состоянием блокировок и работоспособностью NFS-сервера.

В сети демон statd сервера NFS обменивается информацией с демонами statd на других компьютерах. Демон lockd посылает запросы демону statd для установления статуса компьютеров, взаимодействующих с ним.

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

Дисковые квоты в NFS

Если на сервере NFS установлены дисковые квоты для отдельных пользователей, то для того, чтобы пользователь "издалека" мог узнать свою дисковую квоту, запускается демон rquotad.

Вообще говоря, установка дисковых квот (независимо от NFS) выполняется следующим образом:

  1. В файле /etc/vfstab для файловой системы, для которой будет применяться квотирование, устанавливается параметр монтирования quota. Не забудьте демонтировать и снова смонтировать соответствующую файловую систему, если хотите, чтобы параметр оказал воздействие на работу файловой системы немедленно!
  2. Затем создается файл quotas в корне этой файловой системы (например, если речь идет о файловой системе /export/home, то файл будет называться /export/home/quotas ).
  3. С помощью команды edquota устанавливаются квоты для каждого из пользователей в отдельности.
  4. Выполняется команда quotaon.

Для выключения поддержки квот достаточно выполнить команду

quotaoff

Для проверки квот в файловых системах надо выполнить команду

quota username
< Лекция 7 || Лекция 8: 12345 || Лекция 9 >