Добавить в корзинуПозвонить
Найти в Дзене
NAS и Linux для дома

Настройка постоянного монтирования NFS-диска в Fedora Linux 40 с использованием Systemd

На моём Synology-сервере настроена NFS (Network File System). Это позволяет легко и удобно подключать и использовать сетевые ресурсы с разных устройств. NFS обеспечивает надёжное и высокопроизводительное сетевое хранилище, которое идеально подходит для домашних и небольших офисных сред.
В этой статье я расскажу, как настроить постоянное монтирование NFS-диска в Fedora Linux 40 с использованием systemd для подключения к уже настроенному Synology.
Руководство описывает процесс настройки постоянного монтирования NFS-диска в Fedora Linux 40 с помощью systemd. В качестве примера используется путь /home/user/synology/homes и подключение к Synology по адресу 192.168.1.10:/volume1/homes. Шаг 1: Установка необходимых пакетов Если еще не установлены необходимые пакеты для работы с NFS, выполнить следующую команду: sudo dnf install nfs-utils Шаг 2: Создание точки монтирования Создать директорию, в которую будет монтироваться NFS-диск: sudo mkdir -p /home/user/synology/homes Шаг 3: Создание сис
Оглавление

На моём Synology-сервере настроена NFS (Network File System). Это позволяет легко и удобно подключать и использовать сетевые ресурсы с разных устройств. NFS обеспечивает надёжное и высокопроизводительное сетевое хранилище, которое идеально подходит для домашних и небольших офисных сред.

В этой статье я расскажу, как настроить постоянное монтирование NFS-диска в Fedora Linux 40 с использованием systemd для подключения к уже настроенному Synology.

Руководство описывает процесс настройки постоянного монтирования NFS-диска в Fedora Linux 40 с помощью systemd. В качестве примера используется путь /home/user/synology/homes и подключение к Synology по адресу 192.168.1.10:/volume1/homes.

Шаг 1: Установка необходимых пакетов

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

sudo dnf install nfs-utils

Шаг 2: Создание точки монтирования

Создать директорию, в которую будет монтироваться NFS-диск:

sudo mkdir -p /home/user/synology/homes

Шаг 3: Создание системных юнитов для монтирования

3.1 Создание файла юнита для монтирования

Создать файл* /etc/systemd/system/home-user-synology-homes.mount:

sudo nano /etc/systemd/system/home-user-synology-homes.mount

Добавить в файл следующие строки:

[Unit]
Description=Mount NFS Share at /home/user/synology/homes
Requires=network-online.target
After=network-online.target

[Mount]
What=192.168.1.10:/volume1/homes
Where=/home/user/synology/homes
Type=nfs
Options=defaults,bg,soft
TimeoutSec=30

[Install]
WantedBy=multi-user.target

3.2 (Опционально) Создание файла юнита для автоматического монтирования**

Создать файл /etc/systemd/system/home-user-synology-homes.automount:

sudo nano /etc/systemd/system/home-user-synology-homes.automount

Добавить в файл следующие строки:

[Unit]
Description=Automount NFS Share

[Automount]
Where=/home/user/synology/homes

[Install]
WantedBy=multi-user.target

Шаг 4: Обновление конфигурации systemd и включение юнитов

4.1 Обновление конфигурации systemd

sudo systemctl daemon-reload

4.2 Включение и запуск юнита для автоматического монтирования

Если создан .automount юнит, включить и запустить его следующими командами:

sudo systemctl enable --now home-user-synology-homes.automount

4.3 Включение и запуск юнита для монтирования

Если не используется .automount юнит, включить и запустить только .mount юнит:

sudo systemctl enable --now home-user-synology-homes.mount

Шаг 5: Проверка статуса монтирования

Проверить статус монтирования командой:

systemctl status home-user-synology-homes.mount

Если сервер NFS будет недоступен, несмотря на то, что система убедилась в наличии сети, это может вызвать следующие ситуации:

  1. Задержка при загрузке: Systemd будет пытаться смонтировать NFS-диск, что может вызвать задержку в процессе загрузки.
  2. Ошибки монтирования: Если сервер не отвечает, попытки монтирования будут неудачными, и в логах systemd можно будет увидеть сообщения об ошибках.
  3. Проблемы с доступом к точке монтирования: Директория /home/user/synology/homes будет недоступна, так как монтирование не удалось, что может вызвать проблемы для приложений или процессов, которые ожидают доступ к этой директории.

Использование параметров bg и soft в настройках монтирования, а также установка таймаута (TimeoutSec=30), помогает системе продолжить загрузку и вернуться к нормальной работе даже при недоступном сервере NFS.

Заключение

Теперь NFS-диск должен монтироваться автоматически при загрузке системы благодаря systemd. Добавление зависимости на network-online.target гарантирует, что монтирование произойдет только после полной инициализации сети, что предотвращает ошибку Network is unreachable. Использование параметров bg и soft позволяет системе продолжить загрузку в случае недоступности NFS-сервера. Следуя этим шагам, можно настроить постоянное монтирование NFS-диска, что обеспечит доступ к необходимым данным сразу после загрузки системы.

* Название файла юнита в systemd

Название должно соответствовать пути монтирования, где все символы «/» заменяются на символы «-». Это помогает systemd корректно интерпретировать и связывать юниты с соответствующими точками монтирования. Для пути /home/user/synology/homes файл юнита должен называться home-user-synology-homes.mount.

** Различия между mount и automount

mount юниты

- Подходят для ресурсов, которые должны быть всегда доступны.

- Монтируют файловую систему сразу при загрузке или запуске юнита.

Пример:

[Unit] Description=Mount NFS Share at /home/user/synology/homes
Requires=network-online.target
After=network-online.target

[Mount] What=192.168.1.10:/volume1/homes
Where=/home/user/synology/homes
Type=nfs
Options=defaults,bg,soft
TimeoutSec=30
[Install] WantedBy=multi-user.target

amount юниты:

- Монтируют файловую систему при первом доступе к ней.

- Экономят ресурсы, уменьшают время загрузки.

Пример:

[Unit]
Description=Automount NFS Share at /home/user/synology/homes

[Automount]
Where=/home/user/synology/homes

[Install]
WantedBy=multi-user.target

Использование automount юнитов полезно для редко используемых ресурсов, в то время как mount юниты подходят для постоянно необходимых ресурсов.