nfsd

NFS версии 2 и версии 3 и сервер, работающий по протоколу MOUNT версии 1 и версии 3

Примечание. Для запуска этого сервиса необходимо войти в систему с учетной записью root.

Синтаксис:

nfsd [-f n] [-h n] [-o nfsvers=2] [-P] [-s n] [-t]

[-x n] &


Поддерживаемые платформы:

Neutrino

Опции:

-f n

Установить размер кэша открытых файлов (значение по умолчанию – 16).

Кэш открытых файлов используется для кэширования открытых файлов и каталогов (с применением таймаута простоя 5 секунд). Если известно, что nfsd обслуживает только одого клиента, который выполняет чтение/запись в единственный файл, то сокращение объема этого кэша позволит сэкономить объем памяти. Если известно, что nfsd обслуживает несколько клиентов, выполняющих чтение/запись в несколько файлов, то увеличение объема этого кэша позволит повысить эффективность этих операций.

Примечание. Выбор размера кэша должен быть обоснованным, поскольку дескрипторы файлов (открытых файлов) представляют собой ограниченный ресурс: по умолчанию для каждого процесса в QNX Neutrino допускается не более 1000 открытых файлов. Помимо кэша, утилита nfsd использует дескрипторы файлов для сокетов (затраты ресурсов на обслуживание TCP превышают затраты ресурсов на обслуживание только UDP) и внутренних операций readdir().

-h n

Установить размер кэша дескрипторов файлов (значение по умолчанию – 200).

Кэш дескрипторов файлов обеспечивает компромисс между памятью и производительностью, но не влияет существенным образом на производительность операций чтения/записи. Он позволяет ускорить операции типа ls, что очень удобно для компиляции/файлов makefile. Для оценки оптимального размера кэша можно использовать вывод следующей команды:

find mnt1 ... mntN | wc -l

-o nfsvers=2

Поддерживать только NFS версии 2 (по умолчанию поддерживаются NFS версий 2 и 3).

-P

Выполнить синтаксический анализ только файла экспорта с целью поиска ошибок.

-s n

Очищать кэш по истечении каждых n секунд простоя (значение по умолчанию – 5).

-t

Обслуживать транспорт TCP.

-x n

Установить размер кэша идентификаторов XID (значение по умолчанию – 16).

Кэш идентификаторов XID не оптимизирует производительность, но обеспечивает правильную реакцию на неидемпотентные операции.

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

Поэтому каждому запросу присваивается идентификатор транзакции xid, который остается прежним в случае повторного запроса. Если клиент повторяет запрос, сервер сопоставляет текущий идентификатор с идентификатором предыдущего запроса и возвращает прежний статус. Как правило, чем выше загрузка сети и сервера, тем больше запросов передается клиентом (клиентами) повторно и тем больше должен быть кэш XID.

Описание:

сервис nfsd обслуживает как запросы монтирования NFS, так и запросы NFS, в соответствии с файлом экспорта. После запуска nfsd читает файл /etc/exports.имя_хоста (если он не существует, то nfsd читает вместо него файл /etc/exports), чтобы определить обслуживаемые точки монтирования. Изменения, внесенные в этот файл, вступают в силу только после перезапуска утилиты nfsd или отправки для nfsd сигнала SIGHUP:

slay -s SIGHUP nfsd


Непосредственная проверка для пользователя root при монтировании не осуществляется; nfsd проверяет только поступление запросов на привилегированный порт, что подразумевает доступ с использованием учетной записи пользователя root.

Примечание.

Команда nfsd не допускает наличие синтаксических ошибок в считываемом файле экспорта. При обнаружении ошибки утилита nfsd завершает работу. Для минимизации времени простоя в случае изменения файла экспорта рекомендуется выполнить одно из следующих действий:
Запустите второй экземпляр утилиты nfsd с опцией -P.

Обеспечение безопасности

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

Конфигурирование кэша

Точное определение размера кэша nfsd позволяет сократить используемый объем памяти и оптимизировать производительность, но обычно эти характеристики являются взаимоисключающими. Перед изменением поведения по умолчанию утилиты nfsd важно узнать потребности клиентов. Также обратите внимание, что кэш совместно используется всеми точками монтирования.