Настройка nfs archlinux linux

Обновлено: 07.07.2024

AutoFS даёт возможность автоматического монтирования съёмных носителей и сетевых ресурсов при вставке или обращении к ним.

Contents

Установка

Примечание: Вам больше не нужно загружать модуль autofs4 .

Настройка

This article or section needs expansion.

Reason: Упомянуть auto.master.d чтобы не редактировать /etc/auto.master напрямую (Discuss in Talk:Autofs (Русский))

AutoFS использует для конфигурирования шаблоны, расположенные в /etc/autofs . Основной шаблон называется auto.master , он может указывать на один или несколько других шаблонов для конкретных типов носителей.

  • Откройте /etc/autofs/auto.master своим любимым редактором. Вы увидите что-то подобное:

Первое значение в каждой строке определяет базовый каталог, в который носители будут монтироваться, второе значение - шаблон который будет использован. По умолчанию базовый путь /media , но вы можете изменить путь на любое другое значение по вашему желанию. Например:

Примечание: Убедитесь в наличии пустой строки в конце файла шаблона (нажмите ENTER после последнего слова). Если нет корректного EOF (end of file), демон AutoFS не загрузится корректно. Совет: Дополнительный параметр timeout устанавливает количество секунд, после истечения которых каталоги будут размонтированы. Значение 0 отключает таймаут.

Если вы всё равно хотите автомонтирование в непустой каталог и при этом иметь доступ к его содержимому даже во время работы autofs, вы можете настроить autofs на другой каталог (например, /var/autofs/net) и создать символические ссылки на неё:

В качестве альтернативы вы можете настроить монтирование носителей в конкретные каталоги вместо использования общего каталога:

Примечание: Это может вызвать проблемы с блокировкой ресурсов, если соединение до ресурса оказалось потеряно. При обращении к каталогу программы будут зависать в ожидании ответа, и придётся дожидаться возвращения соединения или убивать процесс, чтобы размонтирование стало возможным. Чтобы избежать этого, используйте только если вы всегда подключены к общему ресурсу, и не используйте домашний каталог или другие часто используемые каталоги, чтобы ваш файловый менеджер не пытался читать содержимое отключенного каталога.
  • Откройте файл /etc/nsswitch.conf и добавьте запись для автоматического монтирования:
  • Когда вы закончите настраивать шаблоны (см. ниже), запустите и включите службу autofs.service .

Теперь устройства автоматически монтируются при обращении и остаются примонтированными всё то время, пока вы их используете.

Съёмные носители

Съемным устройствам назначаются имена блочных устройств в соответствии со следующим доступным местом, например если /dev/sd уже заняты, съёмный носитель подключится как блочное устройство /dev/sdd . Вместо назначения точки монтирования на основе ненадежного пути к блочному устройству более надежным подходом является использование UUID или PARTUUID съемного носителя в качестве местоположения в map-файле.

For example, to mount a specific USB drive to the path /mnt/black , configure the template file and map file:

Например, чтобы примонтировать определённый USB-диск в путь /mnt/black , настройте файл шаблона и map-файл:

Используйте blkid чтобы найте UUID нужного раздела, затем сгенерируйте map-файл:

Монтирование NFS

Примечание: Каждое имя хоста должно быть разрешено, например, любой IP-адрес в /etc/hosts или заданный через DNS. Убедитесь, что у вас установлен и настроен пакет nfs-utils . Также нужно включить rpcbind для просмотра общих каталогов.

К примеру, есть удалённый сервер fileserver (название каталога является именем хоста сервера) с ресурсом NFS, который называется /home/share , вы можете получить доступ к ресурсу просто набрав:

Примечание: Please note that ghosting (i.e. automatically creating directory placeholders before mounting shares) is enabled by default; although, AutoFS installation notes claim to remove that option from /etc/conf.d/autofs in order to start the AutoFS daemon.

Опция -hosts использует механизм, похожий на команду showmount , для обнаружения удалённых ресурсов. Вы можете посмотреть экспортированные ресурсы с помощью этой команды:

Замените <имясервера> на имя вашего собственного сервера.

Ручная настройка NFS

Чтобы примонтировать NFS-ресурс file_server, располагаемый по удалённому пути /srv/shared_dir , в локальный путь /mnt/foo , добавьте новый файл конфигурации, например file_server.autofs :

Samba

Одиночные ресурсы

Добавьте в /etc/autofs/auto.master :

где --timeout определяет, сколько секунд ждать перед размонтированием. Опция --browse создаёт пустые каталоги для каждой точки монтирования для избегания таймаута, если не удаётся связаться с сетевым ресурсом.

Затем создайте файл /etc/autofs/auto.[мой_сервер]

Можно указать имя пользователя и пароль для общего ресурса в опциях:

Несколько ресурсов

Вы можете указать несколько общих ресурсов в /etc/autofs/auto.[мой_сервер] , например:

Автообнаружение

Смотрите комментарии в /etc/autofs/auto.smb .

FTP и SSH (через Fuse)

Доступ к удалённым FTP- и SSH-серверам может быть легко получен с AutoFS, используя Fuse, часть виртуальной файловой системы.

Удалённые FTP

Во-первых, установите пакет curlftpfs .

Загрузите модуль fuse:

Создайте файл /etc/modules-load.d/fuse.conf с содержимым fuse для загрузки его при каждом запуске компьютера.

Далее, добавьте новую запись для FTP-серверов в /etc/autofs/auto.master :

Создайте файл /etc/autofs/auto.ftp и добавьте сервер в формате ftp://myuser:mypassword@host:port/path :

Примечание: Ваши пароли может видеть каждый, кто запустит df (только для примонтированных серверов) или откроет файл /etc/autofs/auto.ftp .

Если Вы хотите немного больше безопасности, можете создать файл

Строчка в /etc/autofs/auto.ftp выглядит как эта, без имени пользователя и пароля:

Создайте файл /sbin/mount.curl с кодом:

Создайте файл /sbin/umount.curl с кодом:

Установите права для обоих файлов:

После перезапуска Ваш новый FTP-сервер должен быть доступен через /media/ftp/servername .

Удалённые SSH

The factual accuracy of this article or section is disputed.

Reason: All the ssh* commands should be executed as the same user, as before this edit. It should not matter if it is root or unprivileged. (Discuss in Talk:Autofs (Русский))

Здесь базовые инструкции по доступу к удалённой файловой системе через SSH с помощью AutoFS.

Примечание: Аутентификация без пароля может быть удобной, но также имеет последствия для безопасности. Подробнее смотрите в SSH keys.

Загрузите модуль fuse :

Создайте файл /etc/modules-load.d/fuse.conf с содержимым fuse чтобы загружать его при каждом запуске системы, если вы не создали ранее.

Когда генератор запросит фразу-пароль, просто нажмите ENTER . Использование ключей SSH без фразы-пароля менее безопасно, однако запуск AutoFS с паролем приводит к некоторым дополнительным трудностям, которые (пока) не были освещены в этой статье.

Далее, скопируйте публичный ключ на удалённый SSH сервер:

Скопируйте личный ключ в домашнюю директорию пользователя root, чтобы AutoFS могла его найти:

Вышеприведённое работает, если AutoFS запускается с правами root и по умолчанию не имеет доступа в домашнюю директорию пользователя, содержащую личный ключ.

Как root убедитесь, что вы можете войти на сервер:

Примечание: Это добавит удалённый сервер в список известных хостов known_hosts . Также можно добавить его вручную в /etc/ssh/ssh_known_hosts .

Создайте новый вход для сервера SSH в /etc/autofs/auto.master :

Создайте файл /etc/autofs/auto.ssh и добавьте SSH:

После перезапуска Ваш сервер SSH должен быть доступен через /media/ssh/servername .

Media Transfer Protocol (MTP) используется на некоторых устройствах Android.

Создайте новую запись для MTP в /etc/autofs/auto.misc :

Решение проблем и советы

Эта секция содержит несколько решений самых распространённых проблем с AutoFS.

Using NIS

AutoFS с версии 5.0.5 имеет более продвинутую поддержку NIS. Чтобы использовать AutoFS вместе с NIS, добавьте yp: в начало имён шаблонов в /etc/autofs/auto.master :

В более ранних версиях NIS (до 5.0.4), вам нужно добавить nis в /etc/nsswitch.conf :

Опциональные параметры

Вы можете установить параметры, такие как timeout , на общесистемном уровне для всех медиаустройств AutoFS в /etc/default/autofs :

  • Откройте файл /etc/default/autofs и отредактируйте строку OPTIONS :
  • Чтобы сделать возможным ведение логов (по умолчанию его нет), добавьте --verbose в строку OPTIONS в /etc/default/autofs , например:

После перезапуска autofs, подробный вывод виден в /var/log/daemon.log

После перезапуска демона autofs вы увидите подробный вывод в systemctl status или журнале.

Распознавание нескольких устройств

Права доступа AutoFS

Если AutoFS не работает правильно, убедитесь в том, что права доступа для файлов шаблонов установлены правильно, иначе AutoFS не будет запускаться. Это может случиться, если Вы сделали резервную копию способом, который не сохраняет права. Вот как должны быть установлены права доступа для файлов конфигурации:

  • 0644 - /etc/autofs/auto.master
  • 0644 - /etc/autofs/auto.media
  • 0644 - /etc/autofs/auto.misc
  • 0644 - /etc/conf.d/autofs

Если Вы получаете ошибки в /var/log/daemon.log , подобные этим, значит у Вас проблемы с правами доступа:

Проблемы с fusermount

Отладка проблем с автомонтированием

Для более удобной отладки вы можете запустить automount на переднем плане (не как демон).

Для раздачи файлов внутри локальной сети можно выделить такие технологии (рассматриваются системы на базе Linux):

    - протокол сетевого доступа к файловым системам; - сетевой протокол, который использует SSH или RSH для передачи файлов между компьютерами; - клиент файловой системы для монтирования дисковых устройств на удаленных системах, для взаимодействия с удаленной системой используется SFTP; - пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS;

В данной заметке речь пойдет про NFS.

NFS (Network File System) полезна когда нужно раздать файлы/директории всем внутри сети. Прозрачность доступа с помощью NFS позволяет клиентам подключить удаленную файловую систему как локальную директорию, причем файловые системы могут быть разных типов. Это означает, что любое приложение клиента, которое может работать с локальным файлом, с таким же успехом может работать и с файлом подключенным по NFS, без каких либо модификаций самой программы.

К преимуществам NFS можно отнести:

  • равномерная загрузка сети;
  • уменьшение нагрузки на процессор;
  • отображение совместно используемых ресурсов как обычных директорий в системе;

На данный момент доступна NFS v4.1, в которой ввели новую возможность pNFS позволяющей распараллелить реализацию общего доступа к файлам. Также есть расширение для NFS 2 и 3 - WebNFS, которое позволяют легче интегрироваться в веб-браузеры и дает возможность работать через брандмауэр.

Схема работы NFS протокола.

NFS

Установка и настройка NFS-сервер под Linux

Проверим поддерживает ли система NFS

Под Arch Linux сервер и клиент находиться в одном пакете

Для установки сервера (nfs-kernel-server) и клиента (nfs-common) под Ubuntu необходимы пакеты

Дальше в заметке для сервера будет использоваться IP 192.168.1.100. Для того что бы за сервером всегда был закреплен один и тот же IP необходимо в DHCP-сервере (чаще всего роутер) указать раздачу конкретного IP конкретному MAC-адресу. Или поднять свой локальный DNS-сервер. Например dnsmasq или bind.

MAC-адрес можно узнать с помощью ifconfig (поле ether в Arch Linux).

NFSv4 предполагает что есть корневая директория, внутри которой уже расположены файлы для раздачи. Например, /srv/nfs - корень, /srv/nfs/audio - директория для раздачи музыки. Если не следовать этому новому указанию в версии 4, то можно получить ошибку при подключении клиентом:

Если все же хочется использовать на сервере подход без корневой-директории для NFS, то при монтировании клиентом надо явно указать версию 3

Я буду использовать NFSv4 с root-директорией в /srv/nfs/ и монтированием вложенных директорий с помощью mount --bind .

Предположим, что мы хотим

Для начала создадим корневую директорию и необходимые вложенные.

Примонтируем существующие директории torrents, photos в /srv/nfs.

Отредактируем /etc/exports, в котором описываются все директории для совместного доступа

Обратите внимание на отсутствие пробела между allowed-hosts и (options). Наличие пробела вводит другую трактовку правил.

  • ro (rw) - разрешить доступ только на чтение (чтение/запись);
  • subtree_check (no_subtree_check) - в некоторых случаях приходится экспортировать не весь раздел, а лишь его часть. При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов, чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам, находящимся в соответствующих подкаталогах. Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами, но если отказаться от него, могут возникнуть проблемы с безопасностью системы. Отменить контроль поддерева можно с помощью опции no_subtree_check. Опция subtree_check, включающая такой контроль, предполагается по умолчанию. Контроль поддерева можно не выполнять в том случае, если экспортируемый каталог совпадает с разделом диска;
  • sync (async) - указывает, что сервер должен отвечать на запросы только после записи на диск изменений, выполненных этими запросами. Опция async указывает серверу не ждать записи информации на диск, что повышает производительность, но понижает надежность, т.к. в случае обрыва соединения или отказа оборудования возможна потеря данных;
  • noaccess — запрещает доступ к указанной директории. Может быть полезной, если перед этим был задан доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям;
  • no_root_squash – по умолчанию пользователь root на клиентской машине не будет обладать теми же правами к директории на сервера. Эта опция снимает это ограничение;
  • nohide - NFS автоматически не показывает нелокальные ресурсы (например, примонтированые с помощью mount --bind ), эта опция включает отображение таких ресурсов;
  • insecure - использование непривилегированных портов (> 1024);

В дальнейшем при изменении конфигурационного файла достаточно его перечитать командой:

Команда rpcinfo -p | grep nfs позволяет проверить успешность запуска сервера.

Клиент под Linux

Создадим директории для монтирования сетевых ресурсов torrents и photos

Для ручного монтирования выполним

Опция soft указывает тихо отменить попытки подключить шару после определенного количества времени (время задается опцией retrans). Подробнее в man nfs.

Данный способ не очень удобен, так как каждый раз после перезагрузки придется выполнять эти команды. Сделаем монтирование автоматическим.

Для автоматического монтирования редактируем файл /etc/fstab

Но и у этого способа есть свои недостатки, например, если сервер не доступен то загрузка клиента может подвиснуть из-за попыток подключиться к NFS-серверу. Для исправления этого см. ниже про AutoFS.

AutoFS - автоматическое подключение сетевых ресурсов

Есть возможность монтировать удаленный ресурс с помощью AutoFS при первом обращении и автоматически отмонтировать при отсутствии активности.

AutoFS использует для настройки шаблоны, расположенные в /etc/autofs. Основной шаблон называется auto.master, он может указывать на один или несколько других шаблонов для конкретных типов носителей.

Существует несколько способов указать способы автомонтирования. Я использую такой: в /home/proft/nfs автоматически создается директория с именем NFS-сервера, в которой автоматически создаются доступные директории на сервере.

Дополнительный параметр timeout устанавливает количество секунд после которых устройство будет размонтировано. Параметр ghost указывает что сконфигурированные ресурсы будут отображаться всегда, а не только тогда, когда они доступны (эта опция включена по умолчанию в AutoFS 5)

Опишем в /etc/autofs/auto.nfs NFS-сервер и root-директорию.

Теперь при первом обращении /home/proft/nfs/torrents произойдет автоматическое монтирование NFS-ресурса.

Перезапустим службу autofs:

Еще можно указать время ожидания доступности NFS-ресурса. Для этого необходимо изменить значения MOUNT_WAIT.

Форсирование использования NFS v3

В некоторых случаях NFSv4 может работать медленно. Для исправления этого можно принудительно указать использовать третью версию.

На клиенте, если используется AutoFS тоже надо указать NFSv3

После этого надо перезапустить сервер NFS и AutoFS.

Мониторинг ресурсов NFS

nfsstat -s (на сервере) - выводит полезную статистику, например, если badcalls больше 0 то есть проблемы с передачей файлов.

showmount -e (на сервере) - выводит список расшариваемых ресурсов.

showmount -e 192.168.1.100 (на клиенте) - выводит список расшариваемых ресурсов на сервере 192.168.1.100.

nfsstat -c (на клиенте) - выводит полезную статистику.

nfsstat -m (на клиенте) - выводит информацию о подключенных NFS-ресурсах.

Клиент под Windows

А вот тут начинаются приключения :). NFS-клиент под Windows 7 есть, но по-умолчанию не установлен.

Для включения NFS-клиента идем в Панель управления > Программы и компоненты > Установка и удаление программ > Включение или отключение компонентов Windows > Службы для NFS и выбираем Клиент для NFS и Администрирование.

Если получилось включить NFS-клиент выше описанным способом то теперь осталось подключить шары с помощью команды mount.

  • 192.168.1.100 – адрес NFS-сервера;
  • /srv/nfs/torrents – общий ресурс на сервере;
  • z: – незанятая буква диска в Windows, к которой будет подключен ресурс;

Если выше описанный способ не заработал то воспользуемся nekodrive. Для этого установим:

Есть один ноут с арчем, хочу сделать из него NFS-сервер для раздачи файлов. К ноуту подключается 5 компов с форточками через свич, особой проверки на ip-машин не надо, даю полный доступ тому что подключено кабелем. Как это проще всего реализовать? Какие программы установить, какие файлы создать.

Другой момент: клиенты на сколько я понимаю подключатся к nfs по ip сервера. Как ноуту в таком случае присвоить статический адрес?

Прошу простить за наглость, но мне требуются готовые настройки, а не отсылка к мануалам. Заранее благодарю за помощь и понимание, если таковые будут.

domov0y
Я что-то проспал и в форточках появился встроенный nfs клиент?

binaryshadow avatar

red avatar

к сожалению есть небольшие. После нескольких лет непрерывной работы у меня совсем недавно NFS-сервер перестал запускаться.
Не являюсь специалистом, но опишу, с чем когда-либо сталкивался я, на что обратить внимание при новой инсталяции (установить nfs-utils):
1. не забыть проверить, запускается ли rpcbind.service (sudo systemctl status rpcbind.service). Иначе - запустить и установить состояние в enable.
2. ни в коем случае не запускать на сервере клиент (sudo systemctl disable nfs-client.target). Иначе systemd ругается на циклическую зависимость и nfs-server не стартует. Если нужен еще и клиент, тогда нужны будут дополнительные телодвижения.
3. мне в файл exports пришлось дописать маску для ip клиента, иначе получал ошибку экспорта при exportfs -arv. Но возможно этот пункт не обязательный, т.к. не стартовал сервер. Т.е. у меня для одного адреса ip/255.255.255.255. У Вас их 5. Или открывайте подсетку, как в примере у red, или каждому ip прописывайте.
4. При использовании NFSv4 в exports обязательно указать родительскую папку, если она не совпадает с экспортируемыми.
5. При определенной структуре каталогов, в exports необходимо будет указать опцию crossmnt, иначе не будет вложенных каталогов.
6. Не забыть открыть порты на файерволле, если есть. Обычно (111, 2049, 20048), но есть варианты.
Статический ip для сервера - другой вопрос. Если все подключены через свич, а не роутер я не до конца понимаю, как же все организовано. Как подсетка организована? Если ноут выступает в качестве DHCP сервера, то, наверное, ничего придумывать не надо. Если нет, то нужно решать вопрос с провайдером, ну, или с тем, кто выдает ip ноуту. Можно роутер поставить, организовать на нем DHCP сервер. Можно попробовать на клиентах прописать не ip сервера, а имя хоста. Не факт, что будет работать. Короче есть варианты. Нужно пробовать.

red avatar

z-vladimir
После нескольких лет непрерывной работы у меня совсем недавно NFS-сервер перестал запускаться.

ага, было такое когда прилетело обновление на новую версию 1.3, но там вроде как всё просто решилось(по крайней мере в моём случае), в логе обновлений было написано:

в общем решилось банальным запуском nfs-server.service

z-vladimir
Статический ip для сервера - другой вопрос. Если все подключены через свич, а не роутер я не до конца понимаю, как же все организовано. Как подсетка организована?

Знаете очень тяжелый вопрос для меня - это сетевой вопрос. Свитч неуправляемый D-LINK DES-1008D , а значит все настройки должны быть внутри компов и ноутов, надеялся обойтись без покупки роутера. Ума не приложу как настроить ноут чтобы его видели остальные компы. В инструкциях по форточкам говорится, чтобы ip-адреса были одного диапазона и NetBios через TCP/IP, как в арче такое сделать, к сожалению, не знаю.

Другой вопрос: будет ли прирост скорости по сети через неуправляемый свич, где клиенты будут идти на винде? Если нет, то лучше с самбу буду добивать в таком случае

имя интерфейса брал: ip link
ip-адрес - ставил из одного диапазона

настройка /etc/exports как писали выше.
теперь буду пытаться подключить винду к NFS-серверу

В операционных системах Linux и UNIX вы можете использовать команду mount для монтирования общего каталога NFS в определенной точке монтирования в локальном дереве каталогов.

В этом руководстве мы покажем вам, как вручную и автоматически смонтировать общий ресурс NFS на машинах Linux.

Установка клиентских пакетов NFS

Чтобы смонтировать общий ресурс NFS в системе Linux, сначала необходимо установить клиентский пакет NFS. Название пакета отличается в разных дистрибутивах Linux.

Установка клиента NFS в Ubuntu и Debian:

Установка клиента NFS на CentOS и Fedora:

Монтирование файловых систем NFS вручную

Подключение удаленного общего ресурса NFS аналогично монтированию обычных файловых систем.

Чтобы смонтировать файловую систему NFS в заданной точке монтирования, используйте команду mount в следующей форме:

Выполните следующие действия, чтобы вручную смонтировать удаленный общий ресурс NFS в вашей системе Linux:

Сначала создайте каталог, который будет точкой монтирования для удаленного общего ресурса NFS:

Подключите общий ресурс NFS, выполнив следующую команду от имени пользователя root или пользователя с привилегиями sudo :

В случае успеха вывод не производится.

Если вы хотите указать дополнительные параметры монтирования , используйте параметр -o . Несколько вариантов могут быть представлены в виде списка, разделенного запятыми. Чтобы получить список всех параметров монтирования, введите в терминале man mount .

Чтобы убедиться, что удаленный том NFS успешно смонтирован, используйте команду mount или df -h .

После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы.

Когда вы монтируете общий ресурс вручную, подключение общего ресурса NFS не сохраняется после перезагрузки.

Автоматическое монтирование файловых систем NFS с помощью /etc/fstab

Как правило, вы хотите автоматически монтировать удаленный каталог NFS при загрузке системы.

Файл /etc/fstab содержит список записей, определяющих, где, как и какая файловая система будет монтироваться при запуске системы.

Чтобы автоматически монтировать общий ресурс NFS при запуске системы Linux, добавьте строку в файл /etc/fstab . Строка должна включать имя хоста или IP-адрес сервера NFS, экспортированный каталог и точку монтирования на локальном компьютере.

Используйте следующую процедуру для автоматического монтирования общего ресурса NFS в системах Linux:

Настройте точку монтирования для удаленного общего ресурса NFS:

Добавьте в файл следующую строку:

Выполните команду mount в одной из следующих форм, чтобы смонтировать общий ресурс NFS:

Команда mount прочитает содержимое /etc/fstab и смонтирует общий ресурс.

В следующий раз, когда вы перезагрузите систему, общий ресурс NFS будет смонтирован автоматически.

Размонтирование файловых систем NFS

Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.

Чтобы отсоединить смонтированный общий ресурс NFS, используйте команду umount за которой следует либо каталог, в котором он был смонтирован, либо удаленный общий ресурс:

Если для монтирования NFS есть запись в fstab , удалите ее.

Команда umount не сможет отсоединить общий ресурс, когда смонтированный том используется. Чтобы узнать, какие процессы обращаются к общему ресурсу NFS, используйте команду fuser :

Как только вы найдете процессы, вы можете остановить их с помощью команды kill и отключить общий ресурс NFS.

Если у вас все еще есть проблемы с --lazy ресурса, используйте параметр -l ( --lazy ), который позволяет вам отключать загруженную файловую систему, как только она больше не занята.

Если удаленная система NFS недоступна, используйте параметр -f ( --force ) для принудительного размонтирования.

Как правило, не рекомендуется использовать опцию принудительного выполнения, так как это может повредить данные в файловой системе.

Выводы

Мы показали вам, как подключать и отключать удаленный общий ресурс NFS. Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

Сервер: 192.168.1.5
Клиент: 192.168.1.100

Требуется подключить существующую папку /home и специально созданную папку /var/nfs с сервера к клиенту.

Установка пакетов

Прежде всего, требуется установить необходимые компоненты как на сервере, так и на клиентских компьютерах. На сервере вам потребуется установить пакет nfs-kernel-server , который позволит использовать совместный доступ к вашим каталогам.

На клиентском компьютере вам потребуется установить пакет nfs-common.

Создание общего каталога на сервере

Мы будем монтировать специально созданный на сервере каталог на клиентский компьютер. Создадим каталог nfs.

Теперь отредактируем файл, отвечающий за совместное использование ресурсов NFS

В случае если нужно раздать каталог на все компьютеры подсети вместо 192.168.1.100 нужно указать 192.168.1.0/24

Давайте разберем, что здесь написано.

rw: эта опция позволяет клиентскому компьютеру как читать, так и записывать в данный каталог.
sync: заставляет NFS записывать изменения на диск перед ответом, что приводит к более стабильной и согласованной среде. Это связано прежде всего с тем, что ответ повторяет фактическое состояние удаленного тома.
no_subtree_check: эта опция предотвращает проверку поддеревьев. Сервер при каждом запросе проверяет, действительно ли файл все еще доступен в экспортируемом дереве. Отключение проверки уменьшает безопасность, но увеличивает скорость передачи данных.
no_root_squash: по умолчанию NFS переводит запросы от пользователя root на клиентском компьютере в непривилегированного на сервере. Это параметр безопасности который не позволяет учетной записи root на клиенте использовать файловую систему сервера в качестве root.

После того, как необходимые изменения внесены и сохранены, выполним команду:

и запустим службу NFS

Данная команда сделает ваши ресурсы доступными для клиентов, которых вы настроили. Теперь перейдем к следующему шагу.

Создание точек монтирования и монтирование удаленных общих ресурсов на клиентском компьютере

Сперва создадим точки монтирования удаленных ресурсов.

Автоматическое монтирование производится через fstab

Допишем в конец файла

Если вам больше не требуется монтировать удаленный каталог в вашей системе, вы можете легко размонтировать его используя следующие команды:

NFS предлагает простой и быстрый механизм доступа к удаленным системам по сети. Однако протокол является не зашифрованным. Если вы намерены использовать это в производственной среде, рекомендуется рассмотреть возможность запуска NFS через SSH или VPN-соединение.

Читайте также: