Как установить и подключиться к сетевому хранилищу NFS в Linux

NFS (Network File System) – это протокол обмена файлами, предназначенный для работы по сети. Хранилище NFS позволяет нам обмениваться любыми файлами по сети, используя любой дистрибутив Linux. Изначально эта система была разработана компанией Sun Microsystems, что позволило пользователям Linux хранить, обмениваться, просматривать и обновлять файлы на удаленной системе так, как если бы они находились на их локальной машине. В этой статье мы покажем вам, как установить и подключиться к сетевому хранилищу NFS в Linux.

Необходимые условия

  • Два VPS, один для NFS-сервера, другой для NFS-клиента
  • root-доступ или системный пользователь с привилегиями пользователя

Шаг 1. Обновление системы

Сначала нам нужно войти в наш VPS через SSH:

ssh master@IP_Address -p Port

Замените master на пользователя с правами sudo или root, если необходимо. Кроме того, замените IP_Address и Port на соответствующие IP-адрес и номер порта SSH вашего сервера.

Наконец, мы собираемся обновить наш сервер, который будет выступать в качестве NFS-сервера. Выполним приведенную ниже команду, чтобы обновить его. Убедитесь, что вы выполняете команду, соответствующую вашей операционной системе.

Ubuntu/Debian

sudo apt update

CentOS/AlmaLinux/RockyLinux

sudo dnf update

Вот и все, индекс пакетов на вашей машине Linux обновлен. Теперь мы можем перейти к следующему шагу.

Шаг 2. Установка NFS Server

Пакет NFS доступен во всех наиболее распространенных дистрибутивах Linux. Нам просто нужно установить его из существующего репозитория, просто выполните команду ниже.

Ubuntu/Debian

sudo apt install nfs-kernel-server

CentOS/AlmaLinux/RockyLinux

sudo dnf install nfs-utils

На этом этапе сервер NFS был установлен. На Ubuntu/Debian служба уже была установлена в активное состояние, но это не так на CentOS/AlmaLinux/RockyLinux. Поэтому, если вы используете CentOS/AlmaLinux/RockyLinux в качестве NFS-сервера, мы можем выполнить следующую команду:

sudo systemctl enable nfs-server

Шаг 3. Настройка NFS-сервера

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

В данном случае мы открываем общий доступ к папке /mnt/shared – вы можете изменить ее на любую другую.

Ubuntu/Debian

sudo mkdir /mnt/shared
sudo chown nobody:nogroup /mnt/shared
sudo chmod 777 /mnt/shared

CentOS/AlmaLinux/RockyLinux

sudo mkdir /mnt/shared
sudo chown nobody:nobody /mnt/shared
sudo chmod 777 /mnt/shared

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

sudo nano /etc/exports

Вставьте эту строку в файл, чтобы открыть общий доступ к папке /mnt/shared в сети 192.168.53.0 с маской подсети /24 или 255.255.255.0:

/mnt/shared 192.168.53.0/255.255.255.0(rw,sync,no_subtree_check)

Замените 192.168.53.0/255.255.255.0 на IP и маску подсети вашей подсети.

Сохраните файл и выйдите из редактора. Обратите внимание, что строкой выше вы разрешаете доступ к /mnt/shared всем компьютерам в одной сети. Если вы хотите предоставить доступ к NFS-серверу только одному IP-адресу, вы можете использовать эту строку вместо этой и заменить 192.168.53.111 на IP-адрес вашего NFS-клиента:

/mnt/shared 192.168.53.111(rw,sync,no_subtree_check)

Каждый раз, когда вы вносите изменения в файл /etc/exports, вам нужно выполнять эту команду ниже, чтобы применить изменения:

sudo exportfs -a

Когда мы все установили, мы можем подключиться к NFS-серверу.

Шаг 4. Установка NFS-клиента

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

Ubuntu/Debian

sudo apt install nfs-common

CentOS/AlmaLinux/RockyLinux

sudo dnf install nfs-utils

На этом все – установка клиента NFS должна быть завершена.

Шаг 5. Подключение к NFS-серверу

На втором сервере, где установлен клиент NFS, нам нужно создать каталог, в который мы будем монтировать сетевое хранилище. В данном случае мы будем использовать /opt/remote_storage, но вы можете создать и использовать любой каталог по своему усмотрению.

sudo mkdir /opt/remote_storage

Создав каталог, мы можем подключить сетевое хранилище NFS к /opt/remote_storage

Конечно, не забудьте изменить 192.168.53.131 на IP-адрес вашего сервера NFS.

sudo mount -t nfs 192.168.53.131:/mnt/shared /opt/remote_storage

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

touch /opt/remote_storage/test_file

Зайдите на другой сервер, где был установлен сервер NFS, и проверьте каталог:

ls -lh /mnt/shared

В нем вы увидите файл с именем test_file, который вы создали ранее.

Вот и все! Вы успешно установили NFS-сервер и смогли подключиться к нему с другого сервера в качестве NFS-клиента.

Подключение к NFS-серверу при перезагрузке

Теперь, если вы хотите, чтобы ваш NFS-клиент всегда подключался к NFS-серверу (например, при перезагрузке), нам нужно изменить файл fstab (таблица файловой системы). Независимо от того, в каком дистрибутиве Linux работает ваш NFS-клиент, вы можете редактировать файл fstab в одном и том же месте.

sudo nano /etc/fstab

Теперь вставьте в файл следующее:

192.168.53.131:/mnt/shared /opt/remote_storage nfs defaults 0 0

И снова не забудьте заменить каталоги, которые вы использовали, а также заменить 192.168.53.131 на IP-адрес вашего NFS-сервера. Сохраните файл и выйдите. Теперь при каждой перезагрузке сервера он будет автоматически монтировать удаленное хранилище NFS, и вы сможете получить доступ к хранилищу NFS в директории /opt/remote_storage/.

Поздравляем! Вы успешно установили и подключились к сетевому хранилищу NFS на вашей машине Linux.

Зарубин Иван Эксперт по Linux и Windows

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

Вдохновлен www.rosehosting.com

Похожие статьи

Комментарии (0)