Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
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 -o uid=1000,iocharset=utf-8 192.168.1.2:/data ~/Общедоступные</code> | + | <code bash>sudo mount -t nfs -O 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 будет пытаться примонтировать удаленную папку только 5 секунд. | + | <file>NEGATIVE_TIMEOUT=10</file> #время ожидания при неудачной попытке монтирования |
+ | |||
+ | |||
+ | После этого autofs будет пытаться примонтировать удаленную папку только 10 секунд. | ||
======Использование====== | ======Использование====== | ||
FIXME | FIXME |