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 важно узнать потребности клиентов. Также обратите внимание, что кэш совместно используется всеми точками монтирования.