Зміни сервера NFS у файлі / etc / export потребують перезавантаження служби?


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мене НЕ реагує (не вдається відкрити свої файли, і т.д.) . (Чому? Через RESTART?)

Але, як описано, я змінив лише рядок client-2. Все для тих, client-1хто залишився недоторканим.

Тож мої запитання тут:

  • Щоразу, коли я змінюю /etc/exports, чи слід мені restartпослугу чи що?
  • Якщо я service nfs restart, чому в кінцевому підсумку впливає точка встановлення для інших клієнтів? (Для тих Клієнтських машин, в яких НЕ внесені зміни /etc/exports.)

Це означає, що всякий раз , коли я роблю зміни /etc/exportsі restartобслуговування, мені потрібно буде йти перемонтувати каталоги на кожному клієнті в списку експорту, щоб мати точки монтування робочих знову.

Будь-яка ідея, будь ласка?


1
Після модифікування /etc/exports, спробуйте виконати, як корінь, exportfs -ra. Детальніше man exportfsдив.
John1024

Тоді мені більше не потрібно nfs restart?
夏 期 劇場

Відповіді:


53

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

$ exportfs -ra

Витяг з офіційної документації Red Hat під назвою: 21.7. Файл конфігурації / etc / export .

витяг

При видачі вручну команда / usr / sbin / exportfs дозволяє кореневому користувачеві вибірково експортувати або експортувати каталоги без перезавантаження служби 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.

Чи є якась перевага -raзамість лише -r?
Мворишек

@Mvorisek - це явно.
slm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.