nfsd

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

Синтаксис:

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

Опции:

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

Note: Выбор размера кэша должен быть обоснованным, поскольку дескрипторы файлов (открытых файлов) представляют собой ограниченный ресурс: по умолчанию для каждого процесса в ЗОСРВ «Нейтрино» допускается не более 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.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


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

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

slay -s SIGHUP nfsd

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


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

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

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

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

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

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

/etc/exports, fs-nfs2, fs-nfs3, io-pkt-*, mount, syslogd, umount




Предыдущий раздел: Сервисы