Поиск по сайту:

Как установить сервер и клиент NFS в AlmaLinux 9


Что такое НФС? NFS, или сетевая файловая система, — это протокол, который позволяет локальным пользователям получать доступ к удаленным данным с нескольких дисков и каталогов, например локальный доступ. Протокол NFS изначально был разработан Sun Microsystem и стал стандартным протоколом для обмена файлами по сети. Он широко используется в централизованной среде, где пользователи или клиентские компьютеры смогут хранить данные и получать к ним доступ к одному централизованному удаленному серверу.

NFS можно легко установить и настроить в большинстве систем Linux как для сервера NFS, так и для клиента. Почти каждый дистрибутив Linux по умолчанию предоставляет пакеты NFS в своем репозитории. Имя пакета другое, но конфигурация для большинства дистрибутивов Linux одинакова.

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

Предварительные условия

Прежде чем начать, вы должны убедиться, что у вас есть следующее:

  • Сервер AlmaLinux 9. В этой демонстрации мы используем сервер с именем хоста almalinux9-server и IP-адресом 192.168.10.15.
  • Пользователь без полномочий root с правами root/администратора.
  • Один или несколько клиентских компьютеров. Это может быть любой дистрибутив на основе RHEL.

Установка NFS-сервера

Чтобы настроить NFS (сетевое хранилище файлов) в Almalinux, вам просто нужно установить nfs-utils как на сервере NFS, так и на клиенте. Он доступен в репозитории AppStream, вы можете легко установить его через DNF.

Запустите следующую команду, чтобы установить пакет nfs-utils. Введите y при появлении запроса, затем нажмите ENTER.

sudo dnf install nfs-utils

Теперь откройте файл /etc/idmapd.conf, используя приведенную ниже команду редактора nano.

sudo nano /etc/idmapd.conf

Раскомментируйте параметр Domain и измените значение на полное доменное имя вашего сервера (полное доменное имя) или используйте имя хоста.

Domain = almalinux9-server

Сохраните и выйдите из файла по завершении.

Затем выполните следующую команду, чтобы запустить и включить службу NFS.

sudo systemctl start nfs-server
sudo systemctl enable nfs-server

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

sudo systemctl status nfs-server

Если установка прошла успешно, вы должны получить такой вывод:

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

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

Сначала создайте два каталога /mnt/shared и /mnt/backup, используя следующую команду.

sudo mkdir -p /mnt/shared /mnt/backup

Измените владельца обоих каталогов на пользователя и группу «Никто», затем измените разрешение по умолчанию на 775.

sudo chown -R nobody:nobody /mnt/shared /mnt/backup
sudo chmod 775 /mnt/shared /mnt/backup

Затем создайте новый файл конфигурации aa с помощью редактора nano.

sudo nano /etc/exports

Вставьте в файл следующие строки. В этом примере мы создадим три общих каталога /mnt/backup и /home для клиента 192.168.10.21 и . >/mnt/shared для всей сети в 192.168.10.0/24.

/mnt/backup  192.168.10.21(rw,sync,no_subtree_check)
/home 192.168.10.21(rw,sync,no_root_squash,no_subtree_check)
/mnt/shared 192.168.10.0/24(rw,sync,no_subtree_check)

Сохраните и закройте файл, когда закончите.

Вот некоторые важные параметры NFS, которые вам следует знать:

  • rw: разрешить чтение и запись для целевого общего каталога.
  • синхронизация: этот параметр гарантирует, что данные сначала будут записаны на диск, прежде чем клиент сделает новый запрос. Таким образом, ваши данные будут в безопасности, но при более медленной скорости операций чтения/записи.
  • no_subtree_check: отключите проверку поддерева, чтобы повысить скорость и производительность сервера NFS. Проверка поддерева — это процесс, гарантирующий отсутствие конфликтов при изменении пользователем имени файла.
  • no_root_squash: это отключит сжатие, что позволит клиентам NFS иметь привилегии root в общем каталоге. В этом примере мы отключим сжатие только для общего каталога /home.

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

sudo systemctl restart nfs-server

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

sudo exportfs -v

Если операции прошли успешно, вы должны увидеть список общих каталогов NFS на своем терминале следующим образом:

Защита NFS-сервера с помощью Firewalld

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

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

sudo firewall-cmd --add-service={nfs,nfs3,mountd,rpc-bind} --permanent

Затем перезагрузите firewalld, чтобы применить изменения.

sudo firewall-cmd --reload

После этого проверьте правила firewalld, используя команду ниже.

sudo firewall-cmd --list-all

Ожидаемый результат должен быть таким:

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

В этом разделе будет описано, как настроить клиент NFS, используя также сервер AlmaLinux, который может быть реализован в большинстве дистрибутивов на основе RHEL.

Войдите в свой клиент, затем выполните следующую команду, чтобы установить пакет nfs-utils. При появлении запроса введите y для подтверждения и нажмите ENTER.

sudo dnf install nfs-utils

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

sudo showmount -e 192.168.10.15

На вашем сервере NFS вы должны увидеть три разных общих каталога: /mnt/backup, /mnt/shared и /home.

Затем введите следующую команду, чтобы создать новые каталоги/data,/backup и/shared, которые будут использоваться для монтирования общих каталогов NFS.

sudo mkdir -p /data /backup /shared

Выполните следующую команду, чтобы смонтировать общие каталоги NFS. В этом примере мы смонтируем общий каталог/mnt/backup к /backup, /mnt/shared к /shared. и от /home до /data.

sudo mount 192.168.10.15:/mnt/backup /backup
sudo mount 192.168.10.15:/mnt/shared /shared
sudo mount 192.168.10.15:/home /data

Наконец, проверьте список смонтированных файловых систем на клиентском компьютере, используя следующую команду.

sudo df -h

Если процесс прошел успешно, вы увидите общие каталоги NFS, смонтированные на клиентском компьютере, следующим образом:

Проверка доступа на запись от клиента

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

На клиентском компьютере выполните следующую команду, чтобы создать новые файлы /backup/test-write1.txt, /shared/test-write2.txt и /home/alice/test-write3.txt.

echo "This file from client" > /backup/test-write1.txt
echo "This file from client" > /shared/test-write2.txt
echo "This file from client" > /data/alice/test-write3.txt

Если установка сервера NFS и клиента прошла успешно, новые файлы, созданные вами на клиентском компьютере, будут доступны на сервере NFS.

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

cat /mnt/backup/test-write1.txt
cat /mnt/shared/test-write2.txt
cat /home/alice/test-write3.txt

Из вывода ниже мы видим, что файл доступен на сервере NFS.

Настройка автоматического монтирования общего каталога NFS через /etc/fstab

После проверки доступа на чтение и запись в NFS вам также может потребоваться настроить автоматическое монтирование сервера NFS на клиентском компьютере. Таким образом, при каждом перезапуске клиентского компьютера общий каталог NFS будет автоматически монтироваться во время загрузки, и это можно сделать с помощью файла /etc/fstab.

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

sudo umount /data /backup /shared
sudo df -h

Откройте файл /etc/fstab, используя следующую команду редактора nano.

sudo nano /etc/fstab

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

192.168.10.15:/mnt/backup    /backup   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.10.15:/mnt/shared    /shared   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.10.15:/home    /data   nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

Сохраните файл и выйдите из редактора, как только закончите.

Затем выполните следующую команду, чтобы проверить конфигурацию /etc/fstab. И если у вас есть правильный файл fstab, общие каталоги NFS будут смонтированы после выполнения команды.

sudo mount -a

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

sudo df -h

Вы должны увидеть, что общие каталоги NFS монтируются на клиенте с помощью команды «mount -a» на основе файла /etc/fstab.

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

Заключение

Поздравляем! Вы успешно установили сервер и клиент NFS на сервер AlmaLinux 9. Вы также изучили основы использования некоторых команд, таких как mount для монтирования файловых систем, Exportfs для управления общими каталогами NFS и df для отображения смонтированных файловых систем. Более того, вы также настроили автоматическое монтирование общих каталогов NFS на клиентском компьютере через файл /etc/fstab.

Следующим шагом рассмотрим дополнительную безопасность сервера NFS.

Статьи по данной тематике: