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.
Комментарии (0)