Nfs linux что это
Установка
Для установки и сервера, и клиента необходимы одни и те же пакеты nfs-kernel-server и nfs-common
Настройка сервера
и добавляем в конец файла строки вида (строк может быть произвольное количество):
/data –путь к папке, для которой раздается доступ;
192.168.1.1 –IP-адрес, которому раздается доступ к папке(можно указать всю сеть, тогда запись примет вид 192.168.1.0/24)
(rw,no_root_squash,sync) –набор опций, опции могут быть:
rw –чтение запись(может принимать значение ro-только чтение);
no_root_squash –по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;
noaccess – запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
Необходимо добавить описание опций.
all_squash– подразумевает, что все подключения будут выполнятся от анонимного пользователя
subtree_check (no_subtree_check)- в некоторых случаях приходится экспортировать не весь раздел, а лишь его часть. При этом сервер NFS должен выполнять дополнительную проверку обращений клиентов, чтобы убедиться в том, что они предпринимают попытку доступа лишь к файлам, находящимся в соответствующих подкаталогах. Такой контроль поддерева (subtree checks) несколько замедляет взаимодействие с клиентами, но если отказаться от него, могут возникнуть проблемы с безопасностью системы. Отменить контроль поддерева можно с помощью опции no_subtree_check. Опция subtree_check, включающая такой контроль, предполагается по умолчанию. Контроль поддерева можно не выполнять в том случае, если экспортируемый каталог совпадает с разделом диска;
anonuid=1000– привязывает анонимного пользователя к «местному» пользователю;
anongid=1000– привязывает анонимного пользователя к группе «местного» пользователя.
В последствии после внесения изменений в файл /etc/exports не обязательно перезапускать сервер, достаточно выполнить:
Настройка клиента
Для монтирования сетевой папки необходимо создать папку на локальном компьютере:
Монтирование вручную
Для монтирования папки вручную необходимо выполнить в терминале команду:
Монтирование с записью в fstab
Для большего удобства можно добавить запись с сетевой папкой в fstab. Целесообразно создать точку монтирования сетевой папки в /media, потому что каталоги, созданные там, будут отображаться в Nautilus в левой колонке, монтировать их можно будет одним кликом.
В файл /etc/fstab добавляем подобную запись:
опция «noauto» запрещает автоматическое монтирование сетевого диска при старте системы.
Проблемы
Использование на ноутбуке
При монтировании удаленных папок NFS посредством fstab, в ситуации, когда сеть с сервером будет не доступна, ноутбук невозможно выключить или отправить в спящий режим. Для использования удаленных папок NFS на ноутбуке лучше воспользоваться монтированием при помощи autofs
Монтирование с помощью autofs
Данный способ монтирования позволяет автоматически монтировать папку после обращения к ней в наутилусе (к примеру, через закладки) или в терминале:
и автоматически отмонтировать при отсутствии активности.
Установка
Для реализации данного способа необходимо доустановить пакет autofs :
Настройка
Для настройки autofs в файле /etc/auto.master необходимо добавить строку
Здесь –timeout=60 указывает отмонтировать раздел при отсутствии активности на нём более чем 60 секунд. Создаем в корне файловой системы папку /nfs :
В файле /etc/auto.nfs добавляем строку
-rw,soft,intr,rsize=8192,wsize=8192 – параметры монтирования;
server – папка, которая будет создаваться в каталоге /nfs при монтировании удаленных папок;
192.168.1.2:/path_to_share– IP-адрес и общая папка сервера.
Перезапускаем службу autofs :
Проблемы
Недоступность удаленного сервера
Если сеть с сервером NFS недоступна, возможна большая задержка (по умолчанию 3 минуты) при открытии nautilus, в закладках которого находится примонтированная удаленная папка NFS.
Для решения этой проблемы необходимо уменьшить время ожидания монтирования autofs, для этого в файле /etc/default/autofs необходимо раскомментировать или добавить следующие строки:
#время ожидания ответа от mount
#время ожидания при неудачной попытке монтирования
После этого autofs будет пытаться примонтировать удаленную папку только 10 секунд.
Использование
Проблемы
Проблемы с гибернацией или выключением
После настройки автомонтирования сетевых папок NFS могут обнаружится некотрые проблемы с выключением или гибернацией системы. Чаще всего это проявляется как прерывающаяся гибернация (компьютер начинает уходить в гибернацию, гаснет экран, после чего экран опять загорается и работа продолжается, так же в этих случаях возможны проблемы с выключением и перезагрузкой системы. При последующих попытках отправить компьютер в гибернацию на черном экране вверрху можно наблюдать строку типа:
Для диагностирования смотрим лог dmesg, возможный вывод:
Пакет, являющийся причиной зависания указан в начале строки, следующей после сообщения об ошибке.
Причина №1: пакет NFS
Причиной данной проблемы является скрипт прерывания работы NetworkManager, необходимо запретить его выполнение переименовав его:
Причина №2: пакет updatedb.mloc
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Поднимаем NFS сервер на Ubuntu
Сетевые файловые системы
Рассказываем как быстро и просто поднять свой NFS сервер на Ubuntu Linux Server 14-04.1, а также разберёмся с принципами работы протокола NFS и рассмотрим теорию.
Теория
Протокол имеет клиент-серверную модель, то есть один сервер (ещё его называют “шара” от слова share), с установленным пакетом NFS, будет обеспечивать доступ к своим каталогам и файлам, а клиентские компьютеры будут подключаться к нему по сети. Закрепим прочитанное схемкой:
Обращения к серверу NFS осуществляются в виде пакетов протокола RPC (Remote Call Procedure), который позволяет выполнить различные функции или процедуры в другом сетевом пространстве, то есть на удалённом сервере.
Авторизация пользователей, которые подключаются к серверу осуществляется по IP-адресу, а также по специальным идентификаторам пользователя UID и группы GID. Это не лучший способ относительно безопасности хранимых файлов, в сравнении с классической моделью «логин/пароль». Зато, благодаря такой архитектуре и тому, что NFS использовал протокол UDP без установления сессии, он практически невосприимчив к сбоям сети и самих клиентских компьютеров. Так, при каком-либо сбое, передача файла просто приостановится, а когда связь будет налажена, то передача возобновиться без необходимости какой-либо перенастройки.
Настройка
Думаю, с теорией понятно, так что давайте переходить к практике. Как было сказано, все настройки будет проводить на Ubuntu 14.04.1
Прежде всего, на компьютер, который будет выступать в роли сервера NFS, нужно установить необходимые компоненты.
Теперь создаём собственно директорию к которой хотим раздать доступ. Стоит отметить, что можно также “расшарить” уже имеющиеся на сервере директории, но мы создадим новую:
Далее мы должны сделать так, чтобы владельцем директории /var/nfs и группе, к которой он принадлежит стали все пользователи в нашей системе. Для этого вводим на сервере команду:
Перед вами откроется конфигурационный файл с закомментированными строками, которые содержат примеры настройки для разных версий NFS.
Закомментированные – это те, в начале которых стоит символ #, и это значит, что параметры, указанные в них, не имеют силы.
Нам необходимо внести в этот файл следующие не закомментированные строки:
После этого, нужно создать таблицу соответствия расшаренных директорий и клиентов, а затем запустить NFS сервис. Для этого вводим следующие команды:
После выполненных действий расшаренные директории должны стать доступными для доступа с клиентов.
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Настройка NFS в Ubuntu
Сетевая файловая система NFS или Network File System, это популярный протокол сетевой файловой системы, который позволяет пользователям подключать удаленные сетевые каталоги на своей машине и передавать файлы между серверами. Вы можете использовать дисковое пространство на другой машине для своих файлов и работать с файлами, расположенными на других серверах. По сути, это альтернатива общего доступа Windows для Linux, в отличие от Samba реализована на уровне ядра и работает более стабильно.
В этой статье будет рассмотрена установка NFS в Ubuntu. Мы разберем установку всех необходимых компонентов, настройку общей папки, а также подключение сетевых папок.
Немного теории
Как уже было сказано, NFS, это сетевая файловая система. Для работы необходим сервер, на котором будет размещена общая папка и клиенты, которые могут монтировать сетевую папку как обычный диск в системе. В отличие от других протоколов NFS предоставляет прозрачный доступ к удаленным файлам. Программы будут видеть файлы как в обычной файловой системе и работать с ними как с локальными файлами, nfs возвращает только запрашиваемую часть файла, вместо файла целиком, поэтому эта файловая система будет отлично работать в системах с быстрым интернетом или в локальной сети.
Установка компонентов NFS
Перед тем как мы сможем работать с NFS, нам придется установить несколько программ. На машину, которая будет сервером нужно установить пакет nfs-kernel-server, с помощью которого будет выполнено открытие шары nfs в ubuntu 16.04. Для этого выполните:
sudo apt install nfs-kernel-server
Теперь давайте проверим правильно ли установился сервер. Сервис NFS слушает соединения как для TCP, так и для UDP на порту 2049. Посмотреть действительно ли сейчас используются эти порты можно командой:
Также важно проверить поддерживается ли NFS на уровне ядра:
cat /proc/filesystems | grep nfs
Видим, что работает, но если нет, нужно вручную загрузить модуль ядра nfs:
Давайте еще добавим NFS в автозагрузку:
sudo systemctl enable nfs-server
На клиентском компьютере вам нужно установить пакет nfs-common, чтобы иметь возможность работать с этой файловой системой. Вам необязательно устанавливать компоненты сервера, достаточно будет только этого пакета:
sudo apt install nfs-common
Вот и все, дальше настройка NFS в Ubuntu.
Настройка сервера NFS в Ubuntu
Мы можем открыть NFS доступ к любой папке, но давайте создадим для этих целей новую:
Дальше нас интересует настройка ubuntu nfs server. Все общие папки и другие настройки nfs находятся в файле /etc/exports. Синтаксис записи папки такой:
адрес_папки клиент (опции)
Например, для нашей папки, если вы хотите разрешить к ней подключаться только с определённого IP адреса, эта строка может выглядеть вот так:
sudo vi /etc/exports
Можно разрешить только нужную подсеть, например:
Для того чтобы разрешить все адреса используйте подсеть 0.0.0.0/0 или символ *.
Открытие шары NFS в Ubuntu почти завершено. Осталось разобраться с правами. Кроме ограничений IP адреса работает обычная система полномочий UNIX, поэтому если вы хотите чтобы определённый пользователь мог получить доступ к папке, то на сервере должен существовать пользователь с таким же UID и эта папка должна принадлежать ему или группе в которой он состоит.
Кроме того, обратите внимание на то, что все подключения от имени пользователя root считаются по умолчанию анонимными (nfsnobody), чтобы это отключить добавьте опцию монтирования no_root_squash, но это не безопасно, потому что любой root пользователь сможет получить доступ на запись ко всем файлам. Теперь попытаемся настроем клиента и попытаемся ее примонтировать.
Для того чтобы все пользователи могли получить доступ ко всем файлам можно создать пользователя с UID 1001 и попросить NFS все запросы считать запросами от анонимного пользователя, а анонимному пользователю присвоить UID 1001. Это делается такими опциями:
Когда все будет настроено, останется только обновить таблицу экспорта NFS:
Если на вашем сервере используется брандмауэр, то следует открыть порты 111 и 2049:
sudo ufw allow 111
sudo ufw allow 2049
Подключение NFS
Мы не будем подробно останавливаться на этом вопросе в сегодняшней статье. Это довольно большая тема, заслуживающая отдельной статьи. Но пару слов я все же скажу. Чтобы подключить сетевую папку вам не нужен никакой nfs клиент ubuntu, достаточно использовать команду mount:
sudo mount 127.0.0.1:/var/nfs/ /mnt/
Теперь вы можете попытаться создать файл в подключенной директории:
Также мы посмотрите подключенные файловые системы с помощью df:
127.0.0.1:/var/nfs 30G 6,7G 22G 24% /mnt
Чтобы отключить эту файловую систему достаточно использовать стандартный umount:
Выводы
В этой статье была рассмотрена настройка NFS в Ubuntu 20.04, как видите, все делается очень просто и прозрачно. Подключение NFS шары выполняется в несколько кликов, с помощью стандартных команд, а открытие шары NFS ненамного сложнее подключения. Если у вас остались вопросы, пишите в комментариях!
Установка и настройка NFS-сервера и клиента в CentOS/RHEL
Network File System (NFS) – протокол распределенной файловой системы для организации общего доступа к файлам и папками. За основу в NFS взят протокол удаленных процедур (ONC RPC). NFS позволяет монтировать удаленные файловые системы по сети сеть. В отличии от FTP, NFS позволяет получить доступ только к тем частям файла, к которым обратился процесс. Имейте в виду, что данные в протоколе NFS по умолчанию не шифруются, и аутентификация клиентов не выполняется (доступ ограничивается по IP).
NFS очень прост в настройке, как со стороны сервера, так и со стороны клиента. В данной статье мы рассмотрим установку и настройку NFS-сервера и после чего, подключим NFS ресурс на клиенте. В этой статье для примера использования технологии NFS мы используем CentOS 8. В других Linux дистрибутивах (RHEL, Fedora и т.д.) все действия аналогичны.
Установка и настройка NFS-сервера в Linux CentOS
По умолчанию nfs уже установлен в CentOS 8 с пакетом Standard. Если вы удалили компоненты NFS, или ставили сервер в режиме Minimal Install, можно установить пакет NFS с помощью пакетного менеджера yum (dnf):
У меня пакет уже был установлен:
После установки нужных пакетов, нужно запустить службы nfs-server и rpcbind, добавьте их в автозагрузку:
Если у вас в системе установлен firewalld откройте необходимые порты:
Теперь создадим директорию, которая будет раздаваться вашим NFS сервером:
Теперь в конфигурационном файле с настройками NFS сервера (/etc/exports) нужно опубликовать данный каталог и назначить права доступа.
Добавьте в файл следующую строку для предоставления доступа к NFS всем хостам в указанной IP подсети:
Или можно ограничить доступ для конкретного IP:
Рассмотрим более подробно формат предоставления прав к NFS каталогу:
Чтобы применить новые настройки NFS каталогов, выполните:
И перезапустите nfs-сервер:
# systemctl restart nfs-server
На этом установка и настройка nfs-сервера закончена и можно приступить к настройке клиента.
Настройка клиента NFS в CentOS
Для настройки NFS клиента, нужно также установить пакет nfs-utils. Для CentOS 7:
# systemctl enable rpcbind
# systemctl enable nfs-server
# systemctl start rpcbind
# systemctl start nfs-server
Теперь на клиенте, нужно создать директорию, в которую мы смонтируем nfs-каталог:
Теперь можно смонтировать удаленное NFS-хранилище командой:
можно принудительно указать версию NFS протокола, которую нужно использовать
Где IP — это адрес NFS-сервера, который вы настроили ранее.
Теперь Теперь в списке перемонтированных разделов диска отображается подключенный NFS ресурс с удаленного сервере. Вы можете читать данные из этого каталога, или записывать в него (в зависимости от прав, которые назначены для вашего IP на NFS сервере). Чтобы NFS каталог автоматически монтировался при перезагрузке, нужно открыть файл fstab:
После сохранения файла fstab, можно применить его командой:
Итак, мы настроили и подключили удаленное NFS хранилище, которое можно использовать для прозрачного сетевого доступа к общему ресурсу с различных хостов. Можно складывать в NFS каталог бэкапы, хранить там файлы ISO образов и т.д.
🐧 NFS, SAMBA или CIFS
NFS, SAMBA и CIFS – это три разных термина, которые часто упоминаются, когда кто-то говорит об обмене файлами между двумя или более системами.
Но знаете ли вы, что делают эти три реализации, и чем они отличаются друг от друга? По какой-то причине эти технологии остаются загадкой даже для опытных системных администраторов.
На самом деле у каждой из этих трех технологий есть некоторые определяющие характеристики, которые делают их разными, и ни одна из них не является очень сложной для понимания.
В этой статье мы подробно рассмотрим NFS, SAMBA и CIFS, а также поговорим об их реализации в контексте системы Linux.
Мы также взвесим все плюсы и минусы этих трех технологий, чтобы вы могли решить, какая из них лучше всего подходит для вашей сети.
Что выбрать NFS, SAMBA, CIFS?
Начнем с Samba и CIFS.
Оба реализуют протокол SMB (Server Message Block), который был создан компанией Microsoft. Samba и CIFS могут взаимодействовать друг с другом, поскольку они делают одно и то же, только разными способами.
Если вы не работаете с устаревшими системами, вам следует придерживаться Samba.
amba более современна, надежна и быстра.
Таким образом, решение здесь очень простое.
Если вам нужно поддерживать совместимость с компьютерами Windows, используйте Samba.
Если она не подходит для вашей среды, потому что вы используете устаревшие системы, то вы можете остаться с CIFS. И это может вызвать у вас некоторые головные боли, поскольку серверы Samba могут выступать в качестве контроллера домена, а серверы CIFS – нет.
то позволяет пользователям Windows использовать свои учетные данные на сервере Samba, а не дублировать весь набор пользователей с Windows на Linux в случае с CIFS.
NFS работает совершенно аналогично Samba – они оба позволяют одному или нескольким клиентам обмениваться файлами с сервером.
Но есть одна существенная оговорка: NFS и SMB не являются совместимыми протоколами.
Это означает, что сервер Samba не сможет взаимодействовать с сервером NFS, по крайней мере, без некоторых доработок. NFS был разработан компанией Sun Microsystems, но Windows Server способен размещать общие ресурсы NFS, и другие операционные системы Windows могут подключаться к нему. Конечно, системы Linux также могут размещать или подключаться к общим ресурсам NFS.
Из этого можно сделать очевидный вывод: NFS отлично подходит для сред Linux, а Samba – для сред Windows или смешанных сред (Linux + Windows).
Если ваш сервер хранения работает под Linux, выбирайте NFS.
Если это Windows, выбирайте Samba.
Это даст вам наиболее идеальную настройку и наилучшую производительность, хотя, безусловно, можно использовать любой из этих вариантов.
Установка Samba на Linux
Чтобы начать использовать Samba в систеамх Linux, используйте соответствующую команду для установки программного обеспечения в вашей системе.
В Ubuntu, Linux Mint и других дистрибутивах на базе Debian:
Установка NFS в Linux
Чтобы начать использовать NFS в Linux, используйте соответствующую команду для установки программного обеспечения в вашей системе.
В Ubuntu, Linux Mint и других дистрибутивах на базе Debian:
На Fedora, CentOS, AlmaLinux и других дистрибутивах на базе RHEL:
Заключение
В этом руководстве мы рассмотрели основы NFS, SAMBA и CIFS.
Это должно помочь вам принять решение о том, какая технология обмена файлами лучше всего подходит для вашей сетевой среды.
Как только вы будете готовы приступить к работе, мы дадим вам соответствующие команды для установки программного обеспечения на вашу систему.
После этого вам нужно будет настроить NFS или SAMBA, чтобы завершить установку и начать совместное использование файлов.