Изменения сервера NFS в файле / etc / exports требуют перезапуска службы?

30

У меня есть сервер NFSv4 (на RHELv6.4) и клиенты NFS на (CentOSv6.4). Скажем в /etc/exports:

/shares/website1      <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/website2      <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)

Затем всякий раз, когда я вносил некоторые изменения в это (скажем, изменения ТОЛЬКО для client-2), например:

/shares/website1      <ip-client-1>(rw,sync,no_subtree_check,no_root_squash)
/shares/xxxxxxxx      <ip-client-2>(rw,sync,no_subtree_check,no_root_squash)

Тогда я всегда service nfs restart. А потом в конце концов .. точка монтирования на client-1меня не реагирует (не удается открыть свои файлы, и т.д.) . (Почему? Из-за перезапуска?)

Но, как описано, я только изменил строку client-2только. Все до client-1сих пор нетронутым.

Итак, мои вопросы здесь:

  • Всякий раз, когда я изменяю /etc/exports, я должен restartсервис или что?
  • Если я service nfs restart, то почему в конечном итоге это влияет на точку монтирования на других клиентах? (Для тех клиентских машин, для которых НЕТ изменений /etc/exports.)

Это означает, что всякий раз , когда я делаю изменения /etc/exportsи restartобслуживание, мне нужно будет идти перемонтировать каталоги на каждом клиенте в списке экспорта, чтобы иметь точки монтирования рабочих снова.

Любая идея, пожалуйста?

夏 期 劇場
источник
1
После внесения изменений /etc/exportsпопробуйте запустить от имени пользователя root exportfs -ra. Смотрите man exportfsподробности.
John1024
Тогда мне больше не нужно nfs restart?
劇場 期 劇場

Ответы:

53

Вам не нужно перезапускать NFS каждый раз, когда вы вносите изменения в /etc/exports. Все, что требуется, это выполнить соответствующую команду после редактирования /etc/exportsфайла:

$ exportfs -ra

Выдержка из официальной документации Red Hat под названием: 21.7. Файл конфигурации / etc / exports .

выдержка

При вводе вручную команда / usr / sbin / exportfs позволяет пользователю root выборочно экспортировать или не экспортировать каталоги без перезапуска службы NFS. Если заданы правильные параметры, команда / usr / sbin / exportfs записывает экспортированные файловые системы в / var / lib / nfs / xtab. Поскольку rpc.mountd ссылается на файл xtab при определении прав доступа к файловой системе, изменения в списке экспортируемых файловых систем вступают в силу немедленно.

Также прочитайте exportfsсправочную страницу для более подробной информации, в частности, в разделе «ОПИСАНИЕ», который объясняет все это и многое другое.

ОПИСАНИЕ Сервер NFS поддерживает таблицу локальных физических файловых систем, доступных для клиентов NFS. Каждая файловая система в этой таблице упоминается как экспортированная файловая система, или сокращенно, экспорт.

  The exportfs command maintains the current table of exports for the NFS 
    server.  The master export table is kept in  a  file  named
    /var/lib/nfs/etab.  This file is read by rpc.mountd when a client sends 
    an NFS MOUNT request.

  Normally  the  master  export  table  is  initialized  with the contents 
    of /etc/exports and files under /etc/exports.d by invoking exportfs -a.  
    However, a system administrator can choose to add or delete exports 
    without modifying  /etc/exports  or  files  under /etc/exports.d by 
    using the exportfs command.

Также обратите внимание на опции, которые мы используем -ra:

   -a     Export or unexport all directories.
   -r     Reexport all directories, synchronizing /var/lib/nfs/etab with 
          /etc/exports and files  under  /etc/exports.d.   This  option
          removes  entries  in  /var/lib/nfs/etab which have been deleted 
          from /etc/exports or files under /etc/exports.d, and removes
          any entries from the kernel export table which are no longer
          valid.
SLM
источник
Есть ли какое-то преимущество, -raа не только -r?
Мворисек
@ Мворисек - это явно.
SLM