Монтирование Backblaze B2 в Linux — экспериментальная сборка NetDrive для Ubuntu

4 мин чтения provider-guide backblaze-b2 linux
Steve
SteveSenior Engineer
Монтируйте бакет Backblaze B2 как обычную точку монтирования Ubuntu с помощью экспериментальной Linux-сборки NetDrive — установка через GitHub, настройка бакета и проверка.

Администратор бэкапов запускает ночные задачи снапшотов на парке headless-серверов Ubuntu, отправляя тарбол каждой ночи в бакет Backblaze B2 для хранения вне площадки. Существующий скрипт уже умеет писать в локальный путь через tar и rsync — переписывать его под нативный API B2 или командную строку b2 означало бы новую обработку аутентификации и новые коды ошибок ради задачи, которая и так прекрасно работала. Linux-сборка NetDrive позволяет обойти переписывание: она монтирует бакет B2 как обычную точку монтирования Ubuntu, так что тот же скрипт, что уже пишет в /mnt/backups/nightly.tar.gz на локальном диске, может без изменений писать в путь, за которым стоит B2.

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

Монтирование Backblaze B2 в Ubuntu

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

  • Работает на Ubuntu 16.04 и новее
  • Backblaze B2 поддерживается начиная с NetDrive 3.5.434
  • Существующие скрипты читают и пишут через обычную точку монтирования — без переписывания под API B2
WindowsmacOS
Скачать NetDrive для Linux →

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

Зачем монтировать бакет вместо написания скриптов под API B2

Прямое обращение к B2 означает обработку аутентификации по application key, повторов запросов и постраничного листинга бакета на том языке, на котором написана система бэкапов — задача решаемая, но это инфраструктурная работа, не имеющая отношения к самой цели: отправить тарбол за пределы площадки. Монтирование бакета убирает этот слой: NetDrive разрешает чтение и запись в бакет B2 через точку монтирования, так что задача tar или команда cp взаимодействуют с ним так же, как с любым другим каталогом на машине.

Backblaze B2 поддерживается как тип подключения в NetDrive начиная с версии 3.5.434 (11.05.2018), которая также добавила многочастную загрузку для файлов от 5 ГБ — поддержка B2 успела созреть, а не была недавно добавлена специально под Linux-сборку.

NetDrive mounting a cloud storage account as a local drive on a Linux mount point

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

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

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

Минимальная поддерживаемая версия для Linux-сборки — Ubuntu 16.04, и она несёт ту же метку экспериментальная, что и на странице сравнения платформ NetDrive для Linux в целом — основной объём тестирования приходится на Windows и macOS. Обновления приходят как релизы GitHub, а не через apt upgrade, поэтому проверку новых версий стоит включить как отдельный ручной шаг в регламент обслуживания машины.

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

  1. Откройте Drive Manager NetDrive и нажмите + Add Drive.
  2. Выберите Backblaze B2 из списка типов подключения.

NetDrive Backblaze B2 provider logo shown in the drive connection list

  1. Введите B2 Application Key ID и Application Key — их можно получить в аккаунте Backblaze, ограничив область действия конкретным бакетом, если не хочется давать серверу доступ ко всему аккаунту.
  2. Введите имя бакета, который должен смонтировать NetDrive.
  3. Задайте точку монтирования — путь вроде /mnt/b2-backups или любой пустой каталог, к которому у вас есть доступ на запись.
  4. Нажмите Connect. NetDrive выполнит аутентификацию и смонтирует бакет по этому пути.

Проверка монтирования до того, как от него зависит задача бэкапа

Убедитесь, что монтирование действительно сработало, через терминал, а не полагаясь только на GUI — разумная предосторожность для экспериментальной сборки, и стоит сделать это до того, как cron-задача начнёт писать по этому пути без присмотра:

# Confirm the mount is listed
mount | grep b2-backups

# Or just try listing it
ls /mnt/b2-backups

Confirming that a cloud drive connected successfully after mounting

Если каталог оказывается пустым или монтирование вообще не появляется, сначала проверьте, не блокирует ли межсетевой экран сервера исходящий HTTPS-трафик на порту 443, и только потом подозревайте, что неверны учётные данные бакета — закрытый исходящий порт встречается на закрытых build- и backup-серверах чаще, чем неверный Application Key.

Confirming a network port is reachable for troubleshooting a failed connection

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

  • Отдельный цикл релизов. Драйвер для Linux сопровождается по собственному графику, поэтому исправление, вышедшее для Windows или macOS, не всегда появляется на Linux в ту же неделю.
  • Нет интеграции с apt. Установка и обновления идут через релизы GitHub, а не через PPA или менеджер пакетов.
  • Windows и macOS как основные, наиболее проверенные платформы. Сама NetDrive считает эти две платформы получающими больше всего тестирования. Ночной сервер бэкапов или CI-раннер, читающий фикстуры из B2 — разумный сценарий для Linux-сборки; для продакшен-конвейера без присмотра стоит сначала провести тщательное тестирование.

Итог

Монтирование бакета B2 в Ubuntu даёт headless-серверу тот же доступ в стиле диска, что NetDrive предоставляет на Windows и macOS, без переписывания под нативный API B2. Про того же провайдера на более тщательно протестированной платформе см. Mount Backblaze B2 on Windows или Mount Backblaze B2 on macOS; про более широкую картину по Linux см. NetDrive on Ubuntu Linux; а про сценарий использования, построенный вокруг именно этого провайдера, см. Photography RAW Archives on Backblaze B2.

— Steve, NetDrive