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