Краткая инструкция по настройкам NFS-сервера в Ubuntu.
Network File System — это сетевая файловая система для удаленной работы с компьютером. По сути, она превращает любой компьютер в аналог сервера, к которому можно дистанционно подключиться и взаимодействовать с файлами, которые на нем хранятся. Причем взаимодействие происходит так, словно файлы хранятся на локальной машине. См. также: Устанавливаем VNC-сервер в Ubuntu.
На практике выходит некий общий доступ как в Windows или macOS. Подойдет как для разворачивания полномасштабного сервера для группы коллег, так и для превращения вечно активного Linux-компьютера в удаленный жесткий диск.
Устанавливаем необходимые утилиты
Перед тем как настроить Network File System и подключиться к ней, нужно загрузить и установить на сервер ряд приложений, с помощью которых можно преобразовать файловую систему Linux в общедоступную.
Для начала скачаем базовый компонент, а именно сервер NFS Kernel. Это ядро. Для его установки:
- Откроем терминал Ubuntu, одновременно нажав клавиши Ctrl + Win + T.
- Введем туда команду sudo apt-get install nfs-kernel-server.
- Затем вводим пароль администратора, чтобы продолжить установку.
- После этого надо подтвердить загрузку, ответив на запрос в терминале. Просто вводим прописную Y.
Теперь надо проверить установленные компоненты на работоспособность. Для начала убедимся, что порт 2049, который NFS использует для подключения, ничем не занят и готов к работе.
Для этого введем в терминал команду rpcinfo -p | grep nfs.
Потом выясним, поддерживается ли NFS на уровне ядра системы с помощью команды __ cat /proc/filesystems | grep nfs__.
Если все нормально, то больше ничего загружать и устанавливать на стороне сервера не нужно. Считайте, все готово. А если команда не отозвалась, то введем в терминал: modprobe nfs. То есть вручную включим NFS.
Теперь надо установить компонент для взаимодействия с файловой системой Network File System удаленно. Для этого введем в терминал команду sudo apt-get install nfs-common.
Это приложение надо устанавливать уже на стороне клиента. То есть на компьютере, с которого вы будете подключаться к серверу.
Настраиваем подключение на стороне сервера
NFS не заменяет собой файловую системы полностью. По сути, она дает возможность превратить в сервер любую папку на жестком диске. Все настраивается буквально одной командой.
Чтобы не теряться, для примера создадим папку, которую в итоге и сделаем сетевой. Для этого:
- Откроем терминал.
- Введем в него команду sudo mkdir NFS.
- Подтвердим создание папки с помощью пароля администратора.
Теперь будем работать с этой папкой, чтобы не мудрить.
Чтобы настроить NFS сервер в Ubuntu, нужно ввести параметры в файл exports.
- Открываем терминал.
- Вводим туда команду sudo nano /etc/exports, чтобы открыть нужный файл.
- В конец файла вводим строку с параметрами подключения.
Параметры подключения представляют собой: путь до папки IP-адрес клиента (аргументы).
С первыми двумя пунктами все и так ясно. А аргументы могут быть следующие:
- Прописываем rw, чтобы разрешить всем, кто подключился по NFS, просматривать и редактировать документы, хранящиеся в сетевой папке.
- ro, чтобы позволить только просматривать файлы в сетевой папке без возможности их изменять.
- sync, чтобы заставить сервер отзываться на запросы извне только после полной синхронизации данных с диском.
- async, чтобы с сервером могли взаимодействовать извне, даже если не все данные были синхронизированы с диском.
- secure, для работы только с портами меньше 1024.
- insecure, для подключения через любые доступные порты.
- root_squash, чтобы преобразовать все запросы от имени root в анонимные запросы.
- all_squashed, чтобы преобразовать все без исключения запросы в анонимные.
Вот пример параметров: /home/NFS 127.0.0.1(rw, async, secure). Мы указали созданную специально для NFS папку, адрес, с которого предположительно к нам могут подключиться, и набор опций для более тонкой настройки подключения.
После того, как указали все настройки, надо: — Нажать Ctrl + X, чтобы закрыть Nano. — Нажать на Y, чтобы сохранить все записанные данные.
Чтобы измененные настройки вступили в силу:
- Введем в терминал команду sudo exportfs -a, чтобы экспортировать директорию, которая станет основой для нашего сервера.
- А потом перезагрузим сервер командой sudo systemcl restart nfs-kernel-server.
Настраиваем подключение на стороне клиента
Мы уже скачали нужные компоненты и готовы к подключению.
Сначала создадим папку в директории mnt, в которую будет подключаться сторонняя файловая система. То есть папку, в которой будут отображаться все файлы и документы с нашего импровизированного сервера. По умолчанию эту роль играет сама директория mnt, но мы сделаем немного аккуратнее и добавим дополнительную папку на случай, если удаленных серверов станет больше одного.
- Открываем терминал.
- Вводим команду sudo mkdir -p /mnt/NFS-client.
NFS-client — это мое название. Вы в праве выбрать любое на свой вкус.
- Осталось подключиться к серверу. Для этого вводим в терминал команду sudo mount IP-адрес сервера:папка NFS папка, куда подключаются внешние серверы на стороне клиента.
Вот пример: sudo mount 192.168.5.10:/home/NFS /mnt/NFS-client.
На этом все.
Теперь, если вы создадите файл в папке NFS-client, этот же файл окажется в папке NFS на сервере. И наоборот.
Автор материала: Владимир Ковылов
Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.