Проблемы с автоматическим монтированием внешнего HDD на сервере Ubuntu

Вопрос или проблема

У меня проблема с автоматическим монтированием внешнего HDD на моем сервере Ubuntu, который запускает Jellyfin.

Информация о системе:

Операционная система: Ubuntu 24.04.1 LTS

Формат внешнего HDD: exFAT

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

Я создал правило UDEV для обработки автоматического монтирования, но, похоже, оно работает только при перезагрузке сервера, а не когда я просто отключаю и повторно подключаю HDD.

Правило UDEV:

ACTION=="add", SUBSYSTEM=="block", KERNEL=="sdb2", ATTRS{serial}=="00000000NT17B957", RUN+="/usr/local/bin/mount-external-hdd.sh"

Скрипт mount-external-hdd.sh:

#!/bin/bash
mount /mnt/external-hdd

Ответ или решение

Проблемы с Автоматическим Монтированием Внешнего HDD на Ubuntu Server

Введение

Автоматическое монтирование внешнего жесткого диска на сервере Ubuntu, особенно для приложений, таких как Jellyfin, может быть сложной задачей. В данной статье мы обсудим, как правильно настроить автоматическое монтирование вашего внешнего HDD, используя UDEV правила и bash-скрипты.

Подробности О Проблеме

Пользователь сталкивается с проблемой, в которой внешний HDD, подключаемый через USB-переключатель, не монтируется автоматически при повторном подключении. Несмотря на наличие UDEV правила и bash-скрипта для монтирования, автоматизация работает только при перезагрузке системы, что является недостатком.

Системная Информация

  • Операционная Система: Ubuntu 24.04.1 LTS
  • Формат Внешнего HDD: exFAT
  • Устройство: Подключено через USB-переключатель

Подход к Решению Проблемы

  1. Проверка UDEV Правила

    UDEV правила предоставляют возможность управлять действиями при добавлении или удалении устройств. В вашем случае правило:

    ACTION=="add", SUBSYSTEM=="block", KERNEL=="sdb2", ATTRS{serial}=="00000000NT17B957", RUN+="/usr/local/bin/mount-external-hdd.sh"

    проверяет, что устройство с определенным серийным номером добавляется в систему. Убедитесь, что:

    • KERNEL=="sdb2" действительно относится к вашему внешнему HDD. Используйте команду lsblk после подключения диска, чтобы проверить правильность имени устройства.
    • Убедитесь, что серийный номер устройства правильно указан.
  2. Создание Bash Скрипта

    Ваш скрипт mount-external-hdd.sh выглядит следующим образом:

    #!/bin/bash
    mount /mnt/external-hdd

    Убедитесь, что:

    • Директория /mnt/external-hdd существует. Если нет, создайте её командой:

      mkdir -p /mnt/external-hdd
    • Убедитесь, что у вашего скрипта есть права на выполнение:

      chmod +x /usr/local/bin/mount-external-hdd.sh
  3. Настройка Файла fstab

    Чтобы обеспечить возможность монтирования exFAT отформатированного HDD с помощью udev, вам может потребоваться добавить запись в файл /etc/fstab. Пример записи:

    UUID=ваш-uuid /mnt/external-hdd exfat defaults,nofail 0 0
    • Определите UUID вашего диска командой:
      blkid
  4. Отладка UDEV Правил

    Если правило не срабатывает, вам следует использовать udevadm для отладки. Выполните:

    udevadm monitor --environment --udev

    Это позволит вам видеть, какие события запускаются при подключении устройства. Убедитесь, что ваше правило действительно активируется.

  5. Использование systemd

    В некоторых случаях, если UDEV не работает должным образом, вы можете рассмотреть возможность создания systemd сервиса для управления монтированием. Пример конфигурации:

    Создайте файл сервиса:

    sudo nano /etc/systemd/system/mount-external-hdd.service

    И добавьте следующее содержимое:

    [Unit]
    Description=Mount External HDD
    
    [Service]
    Type=oneshot
    ExecStart=/usr/local/bin/mount-external-hdd.sh
    
    [Install]
    WantedBy=multi-user.target
  6. Автоматизация при Постоянных Подключениях

    Если ваша цель заключается в автоматизации при каждом подключении, рассмотрите возможность использования cron или системного таймера для проверки подключения устройства через определенные интервалы времени.

Заключение

Настройка автоматического монтирования внешнего HDD на сервере Ubuntu может включать несколько этапов: проверить корректность UDEV правил, права скриптов, добавить запись в fstab, а также использовать systemd для управления. Тщательно следуя этим шагам, вы сможете убедиться, что ваше устройство монтируется автоматически при каждом подключении. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью в сообщество Ubuntu.

Оцените материал
Добавить комментарий

Капча загружается...