Монтирование MinIO на Ubuntu через NetDrive

5 мин чтения provider-guide minio linux
Kai
KaiJunior Engineer
Подключите бакет MinIO как локальную точку монтирования в Linux через экспериментальную сборку NetDrive для Ubuntu: настройка endpoint, path-style доступ и проверка.

Команда сборки держит собственный кластер MinIO на стойке серверов Ubuntu вместо того, чтобы платить за управляемое объектное хранилище — кэши слоёв Docker, ночные тестовые фикстуры и несколько терабайт артефактов, которым не нужно покидать офисную сеть. CI-раннеры уже читают и пишут локальные пути обычными командами оболочки, и переписывать всё это под SDK MinIO только ради доступа к бакету, который стоит в трёх стойках отсюда, — значит решать проблему, которой не существует. Сборка NetDrive для Linux вместо этого монтирует бакет как обычный путь, поэтому существующие скрипты продолжают работать без изменений.

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

Монтирование MinIO на Ubuntu

NetDrive показывает Google Drive, OneDrive, S3, SFTP, WebDAV и другие хранилища как обычные диски в Windows и macOS — без синхронизации и полной загрузки файлов.

  • S3-совместимое подключение — работает с любым self-hosted MinIO endpoint
  • Работает на Ubuntu 16.04 и новее
  • Существующие shell-скрипты читают и пишут через обычную точку монтирования
WindowsmacOS
Скачать NetDrive для Linux →

Бесплатный пробный период. Доступны бессрочная лицензия и подписка.

Почему точка монтирования лучше скриптов поверх API MinIO

Работа с MinIO напрямую означает подключение клиента mc или S3 SDK, обработку ротации ключей доступа и написание логики повторных попыток на том языке, на котором написана конкретная задача. Ничего из этого не сложно, но это инфраструктурная работа, навешенная на задачу, которая по сути сводится к «прочитать этот файл, записать тот файл». Монтирование бакета полностью убирает этот слой — tar, cp, rsync и всё остальное, что уже умеет работать с локальным путём, точно так же работает и с точкой монтирования.

NetDrive относится к MinIO как к полноценно поддерживаемому S3-совместимому подключению начиная с версии 3.15.450 (2021-11-08) — того же релиза, в котором появилась общая поддержка S3-совместимых хранилищ наряду с самим Amazon S3. Именно на Linux этот тип подключения работает через экспериментальную сборку NetDrive для Ubuntu, а не через куда более тщательно протестированные релизы для Windows и macOS — это стоит знать заранее, поскольку Linux помечен как «экспериментальный» прямо на странице сравнения NetDrive.

NetDrive mounting a self-hosted object storage bucket as a local Linux mount point

Что нужно подготовить заранее

  • URL endpoint MinIO — что-то вроде http://minio.internal:9000 для машины в локальной сети, либо HTTPS-адрес, если кластер стоит за обратным прокси. API MinIO по умолчанию слушает порт 9000; веб-консоль работает на отдельном порту, и с ней NetDrive не взаимодействует.
  • Access Key и Secret Key — сервисный аккаунт с доступом к нужному бакету, созданный в консоли MinIO через Identity → Service Accounts или командой mc admin user svcacct add. Не используйте root-учётные данные для чего-либо долгоработающего.
  • Имя бакета — NetDrive подключается на уровне бакета, поэтому серверу, которому нужно несколько бакетов, потребуется отдельное подключение NetDrive для каждого.
  • Ubuntu 16.04 или новее, с открытым в межсетевом экране исходящим доступом к порту endpoint MinIO.

Установка NetDrive на Ubuntu

NetDrive для Linux не входит в стандартные репозитории Ubuntu, поэтому установка идёт через GitHub, а не через apt:

  1. Перейдите на github.com/NetDrive/installer и скачайте релиз, соответствующий вашей версии Ubuntu.
  2. Перед установкой проверьте описание релиза — сначала должен загрузиться компонент-драйвер, иначе подключения не смонтируются.
  3. Установите пакет, затем запустите NetDrive один раз, чтобы драйвер загрузился. В зависимости от настроек системы этот шаг может запросить sudo.

Пошагово: подключение бакета MinIO

  1. Откройте Drive Manager в NetDrive и нажмите + Add Drive.
  2. Выберите Amazon S3 из списка провайдеров — MinIO говорит на языке API S3, поэтому именно эта точка входа используется NetDrive для MinIO и других S3-совместимых хранилищ.

NetDrive Drive Manager showing multiple cloud connections including S3-compatible storage

  1. Введите Access Key ID и Secret Access Key от сервисного аккаунта, созданного ранее.
  2. Установите Region в любое непустое значение, например us-east-1 — MinIO его игнорирует, но поле не может быть пустым.
  3. Введите Endpoint — URL API MinIO, например http://minio.internal:9000.
  4. Введите имя Bucket для монтирования.
  5. Включите Path style (иногда обозначается как Force path style). У self-hosted MinIO обычно нет DNS-записи для virtual-hosted-style URL бакетов, поэтому path-style-адресация — где бакет отображается как сегмент пути — это настройка, которая работает «из коробки».
  6. Укажите точку монтирования, например /mnt/minio-artifacts, и нажмите Connect.

Проверка монтирования перед тем, как на него положится CI-задача

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

# Confirm the mount is listed
mount | grep minio-artifacts

# Or just list it
ls /mnt/minio-artifacts

Confirming that a connected drive mounted successfully after setup

Если каталог оказывается пустым или монтирование вообще не появляется, сначала проверьте, что межсетевой экран машины разрешает исходящий трафик к порту endpoint MinIO, и только потом подозревайте неверный ключ доступа — на закрытых сборочных серверах заблокированный порт встречается чаще, чем неверные учётные данные.

Checking that a network port is reachable when troubleshooting a failed connection

Что стоит учитывать в сборке для Linux

  • Отдельный цикл релизов. Исправления, выходящие для Windows или macOS, не всегда попадают в сборку для Linux в ту же неделю.
  • Нет интеграции с apt. Обновления приходят из релизов GitHub, а не из пакетного менеджера, поэтому отслеживание новых версий — ручной процесс.
  • Windows и macOS проходят более глубокое тестирование. CI-раннер или ночная задача, читающая из MinIO, — разумный сценарий для сборки Linux; тщательно протестируйте её, прежде чем ставить за ней необслуживаемый продакшн-конвейер.

Итог

Монтирование self-hosted бакета MinIO на Ubuntu даёт сборочному серверу тот же доступ в стиле диска, что NetDrive предоставляет на Windows и macOS, без переписывания кода под S3 SDK. Про тот же провайдер на более тщательно протестированных платформах см. Mount MinIO on Windows и Mount MinIO on macOS; про общую картину по Linux — NetDrive on Ubuntu Linux; а про сценарий использования в CI на базе S3-совместимого хранилища — DevOps: S3 Test Fixtures with NetDrive.

— Kai, NetDrive