Nfs windows для linux

Как настроить сервер NFS и смонтировать общие ресурсы NFS в Linux

Сетевая файловая система (NFS) – это популярный протокол распределенной файловой системы, который позволяет пользователям монтировать удаленные каталоги на своем компьютере. NFS довольно хорошо работает c каталогами, к которым пользователям требуется частый доступ. Практически во всех версиях Linux команды будут одинаковые. Мы рассмотрим как монтировать общий ресурс NFS на примере сервера Ubuntu 18.04.
Пусть компьютеры будут иметь следующие адреса:

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

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

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

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

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

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

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

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

Здесь нужно создать строку для каждого из каталогов, которые должны быть общими и указать с какими компьютерами мы разделяем ресурсы. В нашем примере IP-адрес клиента – 192.168.1.100, поэтому строки должны выглядеть примерно так:

В случае если нужно раздать каталог на все компьютеры подсети вместо 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-соединение.

Как смонтировать общий ресурс NFS в Linux

Сетевая файловая система (NFS) — это протокол распределенной файловой системы, который позволяет вам обмениваться удаленными каталогами по сети. С помощью NFS вы можете монтировать удаленные каталоги в своей системе и работать с удаленными файлами, как если бы они были локальными файлами.

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

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

Читайте также:  Wifi connect для windows

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

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

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

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

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

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

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

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

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

Точка монтирования — это каталог на локальном компьютере, где должен быть смонтирован общий ресурс NFS.

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

Где 10.10.0.10 — это IP-адрес сервера NFS, /backup — это каталог, который сервер экспортирует, а /var/backups — локальная точка монтирования.

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

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

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

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

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

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

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

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

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

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

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

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

Где 10.10.0.10 — IP-адрес сервера NFS, /backup — это экспортированный каталог, а /var/backups — локальная точка монтирования.

Выполните команду 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.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Системное администрирование и мониторинг Linux/Windows серверов и видео CDN

Статьи по настройке и администрированию Windows/Linux систем

  • Полезное
    • Карта сайта
    • Мой сайт-визитка
  • Рубрики
    • Linux
      • VoIP
      • Безопасность
      • Видеопотоки
      • Системы виртуализации
      • Системы мониторинга
    • Windows
    • Интересное
    • Сеть и Интернет
  • Мета
    • Войти
    • RSS Feed
Читайте также:  Блокировщик для windows mobile

Настройка и монтирование NFS


Навожу инструкцию по установке и настройке NFS (Network File System). NFS – это сетевая файловая система, с помощью которой можно обращаться к файлам и каталогам удалённого компьютера (сервера), как будто эти файлы и каталоги были локальными. Главным преимуществом такой системы является то, что отдельно взятые рабочие станции могут использовать меньше собственного дискового пространства, так как совместно используемые данные хранятся на отдельной машине (хранилище данных) и доступны для других машин в сети. NFS – это клиент-серверное приложение, где роль хранилища возлагается на сервер. Каждый участник сети – это NFS-клиент, который монтирует сетевой диск сервера у себя в файловой системе.

В роли сервера возьмем Ubuntu 12.04.
В качестве клиентов будем использовать и тестировать Centos и Winows 7.

Master server: 192.168.2.213 (Ubuntu)

Clients: 192.168.2.72 (Centos), 192.168.2.180 (Windows)

Настройка сервера

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

После установки нужного пакеты у нас создались два файла конфигураций. Из лога установки:

В первом файле описан user (созданный при установке пакета) и group , для участия в mapping-e (идентификации пользователей).

Как мы знаем, в Linux каждый файл принадлежит конкретному пользователю, у которого есть свой (UID,GID), но у Windows системах схема немного другая. И в связи с этим был придуман механизм mapping, который делает трансляцию разных пользователей с различных ОС в понятный для файловой системы Linux вид.
Второй файл нужен для настройки идентификации Kerberos и настройке нестандартного порта, на котором будет слушаться демон. Он пока нам не нужен. Об настройке Kerberos речь пойдет в следующей статье.

Теперь продолжим настройку.
Все директории для шаринга нужно прописывать в файле /etc/exports. Для начала создадим 2 папки в домашней директории и закинем в них файлы. Дерево каталогов и файлов для экспорта:

Теперь нужно присвоит юзера и группу для этих каталогов (берем с файла /etc/idmapd.conf ).

Для начала сделаем экспорт директории nfs_dir1 для конкретного IP. Редактируем файл /etc/exprots.

Здесь наведен минимальный набор опций для корректной работы хранилища с ОС Windows.

  • /home/alex/nfs_dir1 – путь к папке, для которой раздается доступ;
  • 192.168.2.180 – IP-адрес, которому раздается доступ к папке(можно указать всю сеть, тогда запись примет вид 192.168.2.0/24)
  • (rw,sync,all_squash,no_subtree_check) – набор опций.
  • rw –чтение/запись(может принимать значение ro-только чтение);
  • no_root_squash – по умолчанию пользователь root на клиентской машине не будет иметь доступа к разделяемой директории сервера. Этой опцией мы снимаем это ограничение. В целях безопасности этого лучше не делать;
  • sync – синхронный режим доступа(может принимать обратное значение — async);
  • noaccess – запрещает доступ к указанной директории. Может быть полезной, если перед этим вы задали доступ всем пользователям сети к определенной директории, и теперь хотите ограничить доступ в поддиректории лишь некоторым пользователям.
  • all_squash– подразумевает, что все подключения будут выполнятся от анонимного пользователя (нужно для Windows клиента)
  • anonuid=1000 – привязывает анонимного пользователя к «местному» пользователю;
  • anongid=1000 – привязывает анонимного пользователя к группе «местного» пользователя.
  • no_subtree_check(subtree_check) –если экспортируется подкаталог файловой системы, но не вся файловая система, сервер проверяет, находится ли запрошенный файл в экспортированном подкаталоге. Отключение проверки уменьшает безопасность, но увеличивает скорость передачи данных.
  • Обычно, Linux (и другие Unix-подобные операционные системы) резервируют TCP и UDP порты от 1-1023 (так называемые безопасные порты) для использования процессами пользователя root. Чтобы удостовериться, что именно root инициировал удаленное подключение NFS, сервер NFS обычно требует, чтобы удаленные клиенты использовали безопасные порты. Это соглашение, однако, не соблюдается некоторыми операционными системами (например Windows). В таких случаях опция insecure позволяет клиенту NFS использовать любой порт TCP/UDP. Обычно она требуется при обслуживании клиентов Windows.
Читайте также:  Windows 10 не заряжается батарея до 100 lenovo

Все доступные опции и синтаксис записи хостов, групп хостов и т.п. можно почитать в мануале

Далее нужно применить настройки

Теперь проверяем что у нас экспортировалось.

Настройка клиентов

Настройка Windows клиента

Если не было сообщений об ошибке. Можно приступить к монтирование на клиентской стороне.
Для начала, нужно добавить сервис (службу-клиента) NFS. Для этого переходив в Пуск —> Панель управления —> Программы и компоненты и нажимаем на пункт меню слева Включение или отключение компонентов Windows. В появившимся окне выбираем Клиент для NFS и жмем ОК(рис. 1).


Рисунок 1

Далее нужно смонтировать диск. Для этого можно использовать командную строку или же просто щелкнуть правой кнопкой мыши на Мой компьютер и выбрать Подключение сетевого диска. И ввести строку \\192.168.2.213\home\alex\nfs_dir1. Это IP сервера и путь к папке (рис. 2).


Рисунок 2

Если все ок, мы увидим диск (рис. 3).


Рисунок 3

То же можно проделать, используя командную строку (рис. 4).


Рисунок 4

Вы не сможете подключить сетевой NFS диск к Windows OS (рис. 5), если
1. Не установлен клиент NFS
2. Включен (не настроен) фаэрвол
3. Нет сетевого доступа к серверу
4. Неверно введены параметры монтирования
5. Не настроен (не применены настройки) экспорт на сервере.
6. Добавить опцию insecure в настройках экспорта


Рисунок 5 – Ошибка подключения сетевого NFS диска

Вы не сможете добавить файл в смонтированную файловую систему (рис. 6) , если:
1. На сервере не выставлены права на папку (nobody:nogroup)
2. Не выставлена опция all_squash в настройках экспорта
3. Не выставлена опция rw в настройках экспорта


Рисунок 6 – Ошибка при добавлении файла на NFS диска

Настройка Centos клиента

Настройка линукс систем довольно проста и безболезненна. Нужно просто установить нужные пакеты и смонтировать диск. Для Centos нужны следующие пакеты

Далее создаем папку и монтируем NFS раздела

В данном случае мы можем добавлять любой файл и директорию в смонтированную nfs_dir1 папку от имени любого пользователя системы (all_squash). Но если мы смонтируем вторую папку nfs_dir2, то в нее может записывать ТОЛЬКО root, так как там стоит опция no_root_squash. Проверяем.

Возможные флаги монтирования.

Флаг Описание
rw Монтирование файловой системы для чтения/записи (она должна экспортировать­ся сервером в режиме чтения/записи)
го Монтирование файловой системы только для чтения
bg Если смонтировать файловую систему не удается (сервер не отвечает), следует перевести операцию в фоновый режим и продолжить обработку других запросов на монтирование
hard Если сервер отключился, операции, которые пытаются получить к нему доступ, блокируются до тех пор, пока сервер не включится вновь
soft Если сервер отключился, операции, которые пытаются получить к нему доступ, завершаются выдачей сообщения об ошибке. Этот флаг полезно устанавливать для того, чтобы предотвратить зависание процессов в случае неудачного монтирова­ния не очень важных файловых систем
intr Позволяет прерывать с клавиатуры заблокированные операции (будут выдаваться сообщения об ошибке)
nointr Не позволяет прерывать с клавиатуры заблокированные операции
retrans=n Указывает, сколько раз нужно повторить запрос, прежде чем будет выдано со­общение об ошибке (для файловых систем, смонтированных с флагом soft)
timeo=n Задает интервал тайм-аута для запросов (в десятых долях секунды)
rsize=n Задает размер буфера чтения равным n байт
wsize=fl Задает размер буфера записи равным n байт
sec=режим Задает режим безопасности
vers=n Задает версию протокола NFS
proto = протокол Выбирает транспортный протокол; им должен быть протокол tcp для версии NVS 4

Так же можно проверить с консоли, правильно ли сервер экспортировал файловую систему.

Добавляем монтирование в автозагрузку

Чтобы проверить правильно ли добавили запись в fstab — смонтируем ФС.

В первом случаи нужно создать папку. Во втором — синтаксические ошибки в fstab.
Если возникли ошибки при монтировании NFS разделов – пройдитесь по списку Возможные ошибки из предыдущего раздела.
Для монтирования NFS разделов можно также использовать autofs. О чем пойдет речь в следующей статье.

Оцените статью