Как установить NFS-сервер в Ubuntu 20.04 LTS
В этом руководстве мы покажем вам, как установить сервер NFS в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, NFS или сетевая файловая система — это протокол распределенной файловой системы. Это может помочь вам обмениваться файлами и целыми каталогами с другими пользователями по сети. Это позволяет программам в удаленных системах обмениваться информацией и получать доступ друг к другу, как если бы она была доступна на локальном компьютере. Эта технология дает вам гибкость при совместном использовании ресурса в нескольких системах.
В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo
‘ к командам для получения привилегий root. Я покажу вам пошаговую установку сервера NFS на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint.
Мы используем две машины: одна с Ubuntu 20.04, которая будет работать как сервер NFS, а другая с любым другим дистрибутивом Linux, на котором мы будем монтировать общий ресурс. Машины в этом примере имеют следующие IP-адреса:
NFS Server IP: 192.168.77.20 NFS Clients IPs: From the 192.168.77.0/24 range
Установите сервер NFS на Ubuntu 20.04 LTS Focal Fossa
Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt
команды в терминале.
sudo apt update sudo apt upgrade
Шаг 2. Установка NFS-сервера в Ubuntu 20.04.
Теперь мы запускаем следующую команду, чтобы установить пакет сервера ядра NFS:
sudo apt install nfs-kernel-server
Вы можете проверить, запущена ли служба, как показано ниже:nfs-server
sudo systemctl status nfs-server
Шаг 3. Создание общих каталогов на хосте.
Создание каталога, который будет использоваться клиентскими системами:
sudo mkdir /var/nfs/general -p
Поскольку мы хотим, чтобы клиентские системы имели полный доступ к этому общему каталогу, нам необходимо удалить все права доступа к каталогу, которые ограничивают доступ:
sudo chown nobody:nogroup /var/nfs/general
Шаг 4. Настройте NFS на хосте.
Мы погрузимся в файл конфигурации NFS, чтобы настроить совместное использование этих ресурсов:
sudo nano /etc/exports
Добавьте следующие строки:
/var/nfs/general client_ip(rw,sync,no_subtree_check) /home client_ip(rw,sync,no_root_squash,no_subtree_check)
Для основных вариантов экспорта:
Вариант | Описание |
rw | Разрешить запросы на чтение и запись на томе NFS. |
ro | Разрешить только запросы чтения на томе NFS. |
sync | Отвечайте на запросы только после того, как изменения будут сохранены в стабильном хранилище. (По умолчанию) |
async | Эта опция позволяет серверу NFS нарушать протокол NFS и отвечать на запросы до того, как любые изменения, внесенные этим запросом, будут сохранены в стабильном хранилище. |
secure | Эта опция требует, чтобы запросы исходили через порт Интернета, меньший, чем IPPORT_RESERVED (1024). (По умолчанию) |
insecure | Эта опция принимает все порты. |
wdelay | Немного отложите отправку письменного запроса на диск, если он подозревает, что другой связанный запрос записи может выполняться или может скоро поступить. (По умолчанию) |
no_wdelay | Этот параметр не действует, если также установлен асинхронный режим. Сервер NFS обычно немного задерживает передачу записанного запроса на диск, если подозревает, что другой связанный запрос записи может выполняться или может скоро поступить. Это позволяет зафиксировать несколько запросов на запись на диск с помощью одной операции, что может улучшить производительность. Если сервер NFS получал в основном небольшие несвязанные запросы, такое поведение могло фактически снизить производительность, поэтому можно отключить no_wdelay. |
subtree_check | Эта опция включает проверку поддерева. (По умолчанию) |
no_subtree_check | Этот параметр отключает проверку поддерева, что имеет незначительные последствия для безопасности, но может повысить надежность в некоторых случаях. |
root_squash | Сопоставьте запросы от uid / gid 0 до анонимного uid / gid. Обратите внимание, что это не относится к любым другим идентификаторам uid или gid, которые могут быть столь же чувствительными, например, корзина пользователя или персонал группы. |
no_root_squash | Отключите корневое раздавливание. Эта опция в основном полезна для бездисковых клиентов. |
all_squash | Сопоставьте все uid и gid анонимному пользователю. Полезно для экспортированных через NFS общедоступных каталогов FTP, каталогов новостей и т. Д. |
no_all_squash | Отключите все раздавливание. (По умолчанию) |
anonuid=UID | Эти параметры явно устанавливают uid и gid анонимной учетной записи. Эта опция в первую очередь полезна для клиентов PC / NFS, где вы можете захотеть, чтобы все запросы поступали от одного пользователя. В качестве примера рассмотрим запись экспорта для / home / joe в приведенном ниже разделе примеров, которая сопоставляет все запросы с uid 150. |
anongid=GID | Читайте выше (anonuid = UID) |
Наконец, перезапустите сервер NFS, чтобы изменения вступили в силу:
sudo systemctl restart nfs-kernel-server
Шаг 5. Настройка межсетевого экрана.
Вам необходимо разрешить доступ через брандмауэр, иначе доступ к общему каталогу и его монтирование будут невозможны. Для этого выполните следующую команду:
sudo ufw allow from 192.168.77.0/24 to any port nfs sudo ufw enable sudo ufw status
Шаг 6. Настройте клиентов NFS.
На клиентских машинах нам нужно установить только инструменты, необходимые для монтирования удаленной файловой системы NFS.
- Установите клиент NFS в Debian и Ubuntu
Выполните следующую команду, чтобы установить его:
sudo apt install nfs-common
- Создайте точки монтирования на клиенте.
Теперь создаем на клиенте две директории для монтирования:
sudo mkdir -p /nfs/general sudo mkdir -p /nfs/home
Затем смонтируйте общие ресурсы, используя IP-адрес хоста:
sudo mount host_ip:/var/nfs/general /nfs/general sudo mount host_ip:/home /nfs/home
Убедитесь, что удаленные файловые системы успешно смонтированы, используя команду mount или df
команду:
df -h
Чтобы сделать монтирование постоянным при перезагрузке, откройте файл и добавьте следующие строки:/etc/fstab
sudo nano /etc/fstab
Добавьте следующую строку:
192.168.77.10:/var/nfs/general /nfs/general nfs defaults,timeo=900,retrans=5,_netdev 0 0 192.168.77.10:/home /nfs/home nfs defaults,timeo=900,retrans=5,_netdev 0 0
Шаг 7. Протестируйте совместное использование NFS.
Теперь создаем в общий ресурс тестовый файл :/var/nfs/general
sudo touch /nfs/general/general.test
Проверьте его право собственности:
$ ls -l /nfs/home/home.test -rw-r--r-- 1 root root 0 Aug 1 13:32 /nfs/home/home.test
Шаг 8. Отключение файловой системы NFS.
Если удаленный общий ресурс NFS больше не нужен, его можно размонтировать, как и любую другую подключенную файловую систему, с помощью umount
команды:
sudo umount /general
Поздравляю! Вы успешно установили NFS-сервер. Благодарим за использование этого руководства для установки сервера NFS в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт NFS .