NFS Сравнение версий

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:nfs [2014/02/08 10:09]
[Ссылки]
wiki:nfs [2017/07/24 21:14] (текущий)
[Настройка]
Строка 11: Строка 11:
 <code bash>​sudo nano /​etc/​exports</​code>​ <code bash>​sudo nano /​etc/​exports</​code>​
 и добавляем в конец файла строки вида (строк может быть произвольное количество):​ и добавляем в конец файла строки вида (строк может быть произвольное количество):​
-<​file>/​data 192.168.1.1(rw,​insecure,​nohide,​all_squash,​anonuid=1000,​anongid=1000)</​file>​+<​file>/​data 192.168.1.1/​255.255.255.0(rw,​insecure,​nohide,​all_squash,​anonuid=1000,​anongid=1000,​no_subtree_check)</​file>​
 , где: , где:
   ** /data --путь к папке, для которой раздается доступ;​   ** /data --путь к папке, для которой раздается доступ;​
Строка 18: Строка 18:
     ** rw --чтение запись(может принимать значение ro-только чтение);​     ** rw --чтение запись(может принимать значение ro-только чтение);​
     ** no_root_squash --по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;​     ** no_root_squash --по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;​
-    ** sync -- синхронный режим доступа(может принимать обратное значение- async);+    ​** nohide - NFS автоматически не показывает нелокальные ресурсы (например,​ примонтированые с помощью mount --bind), эта опция включает отображение таких ресурсов;​ 
 +    ​** sync -- синхронный режим доступа(может принимать обратное значение- async). sync (async) - указывает,​ что сервер должен отвечать на запросы только после записи на диск изменений,​ выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность,​ но понижает надежность,​ т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;
     ** noaccess – запрещает доступ к указанной директории. Может быть полезной,​ если перед этим вы задали доступ всем пользователям сети к определенной директории,​ и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.     ** noaccess – запрещает доступ к указанной директории. Может быть полезной,​ если перед этим вы задали доступ всем пользователям сети к определенной директории,​ и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
     ** FIXME Необходимо добавить описание опций.     ** FIXME Необходимо добавить описание опций.
     ** all_squash-- подразумевает,​ что все подключения будут выполнятся от анонимного пользователя     ** all_squash-- подразумевает,​ что все подключения будут выполнятся от анонимного пользователя
 +    ** subtree_check (no_subtree_check)- в некоторых случаях приходится экспортировать не весь раздел,​ а лишь его часть. При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов,​ чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам,​ находящимся в соответствующих подкаталогах. Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами,​ но если отказаться от него, могут возникнуть проблемы с безопасностью системы. Отменить контроль поддерева можно с помощью опции no_subtree_check. Опция subtree_check,​ включающая такой контроль,​ предполагается по умолчанию. Контроль поддерева можно не выполнять в том случае,​ если экспортируемый каталог совпадает с разделом диска;
     ** anonuid=1000-- привязывает анонимного пользователя к "​местному"​ пользователю;​     ** anonuid=1000-- привязывает анонимного пользователя к "​местному"​ пользователю;​
     ** anongid=1000-- привязывает анонимного пользователя к группе "​местного"​ пользователя.     ** anongid=1000-- привязывает анонимного пользователя к группе "​местного"​ пользователя.
-<note important>​Под "​местным"​ пользователем понимается пользователь,​ который будет осуществлять запись в файлы (запускать приложения,​ скачивающие файлы и т.д.), поэтому значение **1000** может отличаться от вашего. Для uid пользователя воспользуйтесь командой <​code>​id <​имя_пользвателя></​code></​note>​+<note important>​Под "​местным"​ пользователем понимается пользователь,​ который будет осуществлять запись в файлы (запускать приложения,​ скачивающие файлы и т.д.), поэтому значение **1000** может отличаться от вашего. Для определения uid пользователя воспользуйтесь командой <​code>​id <​имя_пользвателя></​code></​note>​
 Перезапускаем сервер:​ Перезапускаем сервер:​
 <code bash>​sudo /​etc/​init.d/​nfs-kernel-server restart</​code>​ <code bash>​sudo /​etc/​init.d/​nfs-kernel-server restart</​code>​
Строка 35: Строка 37:
 ======Монтирование вручную====== ======Монтирование вручную======
 Для монтирования папки вручную необходимо выполнить в терминале команду:​ Для монтирования папки вручную необходимо выполнить в терминале команду:​
-<code bash>​sudo mount -t nfs -uid=1000,​iocharset=utf-8 192.168.1.2:/​data ~/​Общедоступные</​code>​+<code bash>​sudo mount -t nfs -uid=1000,​iocharset=utf-8 192.168.1.2:/​data ~/​Общедоступные</​code>​
  
 +
 +<note tip>​Следует помнить,​ что, как в настройках сервера,​ так и в настройках клиента при монтировании,​ путь к общему каталогу указывается __полный__. Данный пример показывает,​ что каталог /data находится в корне файловой системы.</​note>​
 =====Монтирование с записью в fstab===== =====Монтирование с записью в fstab=====
-Для большего удобства можно добавить запись с сетевой папкой в fstab. Целесообразно создать точку монтирования сетевой папки в /media, потому что ​папки созданные там будут отображаться в [[Nautilus]] в левой колонке ​и монтировать можно будет одним кликом.+Для большего удобства можно добавить запись с сетевой папкой в fstab. Целесообразно создать точку монтирования сетевой папки в /media, потому что каталогисозданные тамбудут отображаться в [[Nautilus]] в левой колонкемонтировать ​их можно будет одним кликом.
 <code bash>​sudo mkdir /​media/​Общедоступные</​code>​ <code bash>​sudo mkdir /​media/​Общедоступные</​code>​
 В файл ///​etc/​fstab//​ добавляем подобную запись:​ В файл ///​etc/​fstab//​ добавляем подобную запись:​
-<​code>​192.168.1.1:/​data /​media/​Общедоступная nfs user,​rw,​noauto 0 0</​code>​+<​code>​192.168.1.1:/​data /​media/​Общедоступные nfs user,​rw,​noauto 0 0</​code>​
 опция "​noauto"​ запрещает автоматическое монтирование сетевого диска при старте системы. опция "​noauto"​ запрещает автоматическое монтирование сетевого диска при старте системы.
 ====Проблемы==== ====Проблемы====
Строка 47: Строка 51:
 При монтировании удаленных папок NFS посредством fstab, в ситуации,​ когда сеть с сервером будет не доступна,​ ноутбук невозможно выключить или отправить в спящий режим. Для использования удаленных папок NFS на ноутбуке лучше воспользоваться монтированием при помощи [[nfs#​Монтирование с помощью autofs|autofs]] При монтировании удаленных папок NFS посредством fstab, в ситуации,​ когда сеть с сервером будет не доступна,​ ноутбук невозможно выключить или отправить в спящий режим. Для использования удаленных папок NFS на ноутбуке лучше воспользоваться монтированием при помощи [[nfs#​Монтирование с помощью autofs|autofs]]
 =====Монтирование с помощью autofs===== =====Монтирование с помощью autofs=====
-Данный способ монтирования позволяет автоматически монтировать папку после обращения к ней в наутилусе или в терминале, например так+Данный способ монтирования позволяет автоматически монтировать папку после обращения к ней в наутилусе ​(к примеру,​ через закладки) ​или в терминале:​ 
-<code bash>cd /nfs/Сервер/</​code>​+<code bash>cd /nfs/server/</​code>​
 и автоматически отмонтировать при отсутствии активности. и автоматически отмонтировать при отсутствии активности.
 ====Установка==== ====Установка====
Строка 54: Строка 58:
 <code bash>​sudo apt-get install autofs</​code>​ <code bash>​sudo apt-get install autofs</​code>​
 ====Настройка==== ====Настройка====
-Для настройки ''​autofs''​в файле ///​etc/​auto.master//​ необходимо добавить строку+Для настройки ''​autofs''​ в файле ///​etc/​auto.master//​ необходимо добавить строку
 <​file>/​nfs /​etc/​auto.nfs --timeout=60</​file>​ <​file>/​nfs /​etc/​auto.nfs --timeout=60</​file>​
 Здесь ''​--timeout=60''​ указывает отмонтировать раздел при отсутствии активности на нём более чем 60 секунд. Здесь ''​--timeout=60''​ указывает отмонтировать раздел при отсутствии активности на нём более чем 60 секунд.
 Создаем в корне файловой системы папку ///nfs// : Создаем в корне файловой системы папку ///nfs// :
-<code bash>​sudo mkdir /​nfs</​code>​ +<code bash>sudo touch /​etc/​auto.nfs && ​sudo mkdir /​nfs</​code>​ 
-В файле ///​etc/​auto.misc// добавляем строку +В файле ///​etc/​auto.nfs// добавляем строку 
-<​file>​Сервер ​192.168.1.2:/</​file>​+<​file>​server ​ -rw,​soft,​intr,​rsize=8192,​wsize=8192 ​192.168.1.2:/​path_to_share</​file>​
 где где
-  ** Сервер -- папка, которая будет создаваться в каталоге /nfs при монтировании удаленных папок;​ +  ** -rw,​soft,​intr,​rsize=8192,​wsize=8192 -- параметры монтирования;​ 
-  ** 192.168.1.2:/​-- IP-адрес и общая папка сервера.+  ** server ​-- папка, которая будет создаваться в каталоге /nfs при монтировании удаленных папок;​ 
 +  ** 192.168.1.2:/​path_to_share-- IP-адрес и общая папка сервера.
 Перезапускаем службу ''​autofs''​ : Перезапускаем службу ''​autofs''​ :
-<code bash>​sudo ​/​etc/​init.d/​autofs restart</​code>​+<code bash>​sudo ​service ​autofs restart</​code>​
 ====Проблемы==== ====Проблемы====
-===Настройка autofs ​на ноутбуке=== +===Недоступность удаленного сервера=== 
-Если ​вы настраиваете autofs на ноутбуке,​ то возможны проблемы в ситуации,​ когда недоступна ​сеть с сервером NFS, при которой autofs зависает и подвешивает, ​например Nautilusпри ​обращении к папке. Так же эта проблема ​может проявляться,​ как большая задержка (по умолчанию3 минуты) при открытии nautilus, в закладках которого находится примонтированная удаленная папка NFS.\\ +Если сеть с сервером NFS недоступна, ​возможна большая задержка (по умолчанию 3 минуты) при открытии nautilus, в закладках которого находится примонтированная удаленная папка NFS.\\ 
-Для решения этой проблемы необходимо уменьшить время ожидания монтирования autofs, для этого в файле ///​etc/​default/​autofs//​ необходимо раскомментировать и добавить ​значение в строчке +Для решения этой проблемы необходимо уменьшить время ожидания монтирования autofs, для этого в файле ///​etc/​default/​autofs//​ необходимо раскомментировать ​или добавить ​следующие строки: 
-<​file>​MOUNT_WAIT=5</​file>​ +<​file>​MOUNT_WAIT=10</​file> ​#время ожидания ответа от mount 
-После этого autofs будет пытаться примонтировать удаленную папку только ​секунд.+<​file>​NEGATIVE_TIMEOUT=10</​file>​ #время ожидания при неудачной попытке монтирования  
 + 
 + 
 +После этого autofs будет пытаться примонтировать удаленную папку только ​10 секунд.
 ======Использование====== ======Использование======
 FIXME FIXME