Azure File Storage на Linux — NetDrive для Ubuntu
Монтирование общего SMB-ресурса Azure File Storage в Linux через экспериментальную сборку NetDrive для Ubuntu — настройка в Azure Portal, аутентификация и проверка.
Сервер сборки перенёс репозиторий конфигурации со стареющего локального файлового ресурса на Azure File Storage, и теперь каждой задаче, которая раньше читала /mnt/configs/*.yaml обычными командами shell, нужен другой подход. Переписать каждый скрипт под Azure SDK — один вариант. Смонтировать ресурс как обычный путь Linux, чтобы существующие вызовы cat, cp и find продолжали работать без изменений — другой, и именно так поступает сборка NetDrive для Linux.

Монтирование Azure File Storage на Ubuntu
NetDrive показывает Google Drive, OneDrive, S3, SFTP, WebDAV и другие хранилища как обычные диски в Windows и macOS — без синхронизации и полной загрузки файлов.
- Работает на экспериментальной сборке NetDrive для Ubuntu
- Существующие shell-скрипты и cron-задачи читают ресурс как обычный путь
- Фоновая загрузка не блокирует вызывающий процесс при записи больших файлов
Бесплатный пробный период. Доступны бессрочная лицензия и подписка.
Azure File Storage, а не Azure Blob
NetDrive показывает Azure File Storage и Azure Blob Storage как два отдельных типа подключения, и их путаница впустую тратит попытку настройки. Blob Storage — это объектное хранилище, подходящее для логов, резервных копий и статических ресурсов, доступных через API. File Storage — это полностью управляемый SMB-ресурс: то же самое, что предоставляет традиционный файловый сервер, только размещённое в Azure. Если команда просто перенесла локальный файловый сервер в Azure «как есть», File Storage почти всегда и есть подходящий тип подключения.
Оба типа появились в NetDrive в одном и том же релизе, 3.11.204 (2020-07-22). В Linux это подключение работает на экспериментальной сборке NetDrive для Ubuntu, а не на более тщательно протестированных версиях для Windows и macOS — это стоит знать перед тем, как направить на него необслуживаемую промышленную задачу, поскольку на собственной странице сравнения NetDrive Linux помечен как «экспериментальный».

Что нужно из Azure Portal
Перед открытием NetDrive соберите три значения:
- Имя учётной записи хранения — на странице обзора ресурса Storage account в Azure Portal.
- Ключ доступа — в разделе Security + networking → Access keys учётной записи хранения. Подойдёт
key1илиkey2; NetDrive нужен только один. - Имя файлового ресурса — в разделе Data storage → File shares, точное имя ресурса, который нужно смонтировать.
Если в организации отключена аутентификация по ключу доступа, сгенерируйте токен Shared Access Signature (SAS), привязанный к File service, с разрешениями как минимум Read, Write, List, Create и Delete, и используйте его вместо ключа доступа.
Также понадобится Ubuntu 16.04 или новее и открытый исходящий доступ к конечной точке Azure Storage на брандмауэре машины — трафик SMB через Azure по умолчанию блокируется некоторыми корпоративными сетями и группами безопасности облака.
Установка NetDrive в Ubuntu
NetDrive для Linux распространяется как релиз на GitHub, а не через apt:
- Перейдите на github.com/NetDrive/installer и скачайте сборку, соответствующую вашей версии Ubuntu.
- Прочитайте примечания к этому релизу перед установкой — перед тем как сможет смонтироваться любое подключение, должен загрузиться компонент драйвера.
- Установите пакет, затем запустите NetDrive один раз, чтобы загрузился драйвер. Может потребоваться
sudo.
Пошагово: подключение файлового ресурса Azure
- Откройте Drive Manager NetDrive и нажмите + Add Drive.
- Выберите Azure File Storage в списке провайдеров — не Azure Blob Storage.

- Введите имя Storage Account и Access Key (или SAS-токен), полученные в портале.
- Введите имя ресурса (Share name) точно так, как оно указано в разделе File shares в портале.
- Укажите точку монтирования, например
/mnt/azure-configs, и нажмите Connect.
Проверка монтирования перед тем, как на него положиться
Прежде чем направить на новый путь cron-задачу или этап CI, убедитесь, что диск действительно смонтирован:
# Confirm the mount is listed
mount | grep azure-configs
# Or just list its contents
ls /mnt/azure-configs

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

Что учитывать в сборке для Linux
- Отдельный цикл выпуска. Исправления и функции, выходящие для Windows или macOS, не попадают в сборку для Linux автоматически в том же окне.
- Нет интеграции с
apt. Новые версии приходят из релизов GitHub, а не из менеджера пакетов, поэтому отслеживание обновлений — ручная задача для того, кто отвечает за машину. - Windows и macOS тестируются глубже. Ресурс с конфигурационными файлами, который читают несколько скриптов, — разумный сценарий для сборки Linux. Протестируйте конкретную нагрузку — запись больших файлов, параллельных читателей, всё, что реально делает задача — прежде чем ставить за ней без присмотра необслуживаемый промышленный конвейер.
Итог
Монтирование файлового ресурса Azure File Storage в Ubuntu даёт Linux-машине тот же доступ в стиле диска, который NetDrive предоставляет в Windows и macOS, без переписывания скриптов под Azure SDK или ручной настройки SMB-клиента. О том же типе подключения на более тщательно протестированных платформах см. Mount Azure File Storage on Windows или Mount Azure File Storage on macOS; об объектном хранилище вместо файлового ресурса — Mount Azure Blob Storage on Linux. Более широкую картину по Linux см. в NetDrive on Ubuntu Linux.
— Kai, NetDrive