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

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

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

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

Для настройки NFS сервера нам потребуется выполнить настройку как минимум трех приложений: rpcbind, mountd и nfsd. Прежде всего, создадим файл /etc/dfs/dfstab, в котором опишем экспортируемые каталоги; в отличие от других систем UNIX, Solaris требует указать здесь не просто список каталогов с параметрами монтирования, а набор команд share, которые фактически и запускают экспорт каталогов. Таким образом, получается, что /etc/dfs/dfstab - это скрипт, который выполняется для того, чтобы сделать общие каталоги доступными для монтирования через сеть.

rpcbind: объявление служб RPC

Для начала следует запустить программу rpcbind, если она еще не запущена. Скорее всего, она запускается при старте вашей системы, если это действительно Solaris. Эта программа, как мы помним, преобразует номера вызовов процедур RPC в номера портов TCP и UDP. При запуске любого RPC-сервера, т.е. программы, работающей с протоколом RPC, программа rpcbind получает от этого RPC-сервера информацию о том, какие номера процедур RPC он намерен обслуживать и через какой порт TCP (UDP) ему следует направлять запросы.

Когда клиент делает RPC-вызов, происходит выяснение требуемого номера порта на машине сервера у rpcbind.

Поэтому rpcbind должен быть запущен до того, как будет запущен любой из RPC-серверов. При аварийном завершении rpcbind необходимо вначале перезапустить rpcbind, и затем перезапустить все RPC-серверы.

Для проверки готовности всех служб NFS к работе через rpcbind используется команда rpcinfo -p:

rpcinfo -p
	program	vers	proto	port	service
	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
	100232 	10  	udp 	32772 	sadmind
  	100083  	1	tcp 	32771
  	100221  	1	tcp 	32772
  	100068  	2 	udp 	32773
  	100068  	3 	udp 	32773
  	100068  	4 	udp 	32773
  	100068  	5 	udp 	32773
  	100229  	1 	tcp 	32773 	metad
  	100230  	1	tcp 	32774 	metamhd
  	100242  	1	tcp 	32775 	metamedd
  	100001  	2 	udp 	32774 	rstatd
  	100001  	3	udp 	32774 	rstatd
  	100001  	4 	udp 	32774 	rstatd
  	100002  	2 	udp 	32775 	rusersd
  	100002  	3 	udp 	32775 	rusersd
  	100002  	2	tcp 	32776 	rusersd
  	100002  	3 	tcp 	32776 	rusersd
  	100008  	1 	udp 	32776 	walld
  	100012  	1 	udp 	32777 	sprayd
  	100011  	1 	udp 	32778 	rquotad
  	100024  	1 	udp 	32779 	status
  	100024  	1 	udp 	32777 	status
  	100133  	1 	udp 	32779
  	100133  	1 	tcp 	32777
  	100021  	1 	udp 	4045 	nlockmgr
  	100021  	2 	udp 	4045 	nlockmgr
  	100021  	3 	udp 	4045 	nlockmgr
  	100021  	4 	udp 	4045 	nlockmgr
  	100021  	1 	tcp 	4045 	nlockmgr
  	100021  	2 	tcp 	4045 	nlockmgr
  	100021  	3 	tcp 	4045 	nlockmgr
  	100021  	4 	tcp 	4045 	nlockmgr
  	300598  	1 	udp 	32784
  	300598  	1 	tcp 	32781
	805306368  	1 	udp 	32784
	805306368  	1 	tcp 	32781
  	100249  	1 	udp 	32785
  	100249  	1 	tcp 	32782
	1289637086  	5 	tcp 	32787
	1289637086  	1 	tcp 	32787
  	100005  	1 	udp 	32814 	mountd
  	100005  	2 	udp 	32814 	mountd
  	100005  	3 	udp 	32814 	mountd
  	100005  	1 	tcp 	33201 	mountd
  	100005  	2 	tcp 	33201 	mountd
  	100005  	3 	tcp 	33201 	mountd
  	100003  	2 	udp 	2049 	nfs
  	100003  	3 	udp 	2049 	nfs
  	100227  	2 	udp 	2049 	nfs_acl
  	100227  	3 	udp 	2049 	nfs_acl
  	100003  	2 	tcp 	2049 	nfs
  	100003  	3 	tcp 	2049 	nfs
  	100227  	2 	tcp 	2049 	nfs_acl
  	100227  	3 	tcp 	2049 	nfs_acl

При запуске системы в многопользовательском режиме 3 rpcbind запускается автоматически, а службы NFS - в случае, если существует файл /etc/dfs/dfstab.

Запуск службы экспорта файловых систем

Сервис NFS предоставляется двумя программами, которые обрабатывают соответствующие RPC-запросы. Это программы mountd и nfsd.

Программа mountd обрабатывает запросы на удаленное монтирование файловых систем. Для получения списка экспортируемых каталогов применяют команду showmount -e, которая обращается к mountd за информацией:

showmount -e
export list for sunny:
/nfst (everyone)

Для того чтобы на сервере NFS узнать, какие системы подсоединили к себе разделяемые каталоги этого сервера, следует дать команду showmount без параметров:

showmount
www.eu.spb.ru

Программа nfsd - это обработчик файлового запроса удаленного клиента NFS к файловой системе сервера NFS .

Параметры службы NFS настраиваются в файле /etc/default/nfs, а запуск и останов службы осуществляются, соответственно, командами

/etc/init.d/nfs.server start

и

/etc/init.d/nfs.server stop

В файле /etc/default/nfs следует указать достаточное количество потоков, которые можно параллельно запускать для обслуживания одновременных запросов к файлам через NFS. За это отвечает параметр NFSD_SERVERS.

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

Если из-за слишком большого количества потоков nfsd загрузка процессора возрастет до 100%, имеет смысл уменьшить число этих потоков.

С одной стороны, идеально иметь 2 потока на каждого активного клиента, постоянно обращающегося к ресурсам NFS, с другой - на один процессор рекомендуется запускать не более 16 потоков, если это достаточно медленный процессор типа тех, что установлены в системах SPARCstation 5.

В моей тестовой системе Solaris на компьютере x86 монтирование каталога сервера одним клиентом NFS привело к увеличению занимаемой nfsd памяти всего на 8 Кбайт, так что в современных системах скорее имеет смысл ожидать некоторого снижения производительности за счет нагрузки на процессор или кэширования больших файлов экспортируемых каталогов, чем нехватки памяти из-за слишком большого количества потоков nfsd.

Перед запуском mountd и nfsd следует убедиться, что в /etc/dfs/dfstab указаны все каталоги, которые вы собираетесь экспортировать, а также разумно настроены параметры безопасности.

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >
Игорь Ермачков
Игорь Ермачков
Латвия, Рига
Александр Пучков
Александр Пучков
Россия