Поделиться через


Что такое BLOBFuse?

BlobFuse — это драйвер виртуальной файловой системы с открытым исходным кодом, который обеспечивает простую интеграцию хранилища BLOB-объектов Azure с средами Linux. С помощью BlobFuse можно монтировать контейнеры учетной записи хранения Azure как файловую систему, делая данные blob доступными через стандартные операции с файлами Linux. BlobFuse преобразует эти операции в вызовы REST API BLOB-объектов Azure, чтобы приложения могли использовать масштабируемость и устойчивость хранилища BLOB-объектов Azure.

BlobFuse предоставляет несколько механизмов кэширования, включая кэширование файлов, метаданных и атрибутов, для повышения производительности и минимизации расходов на сетевой трафик. Вы можете настроить расположение кэша, размер и политики хранения для оптимальной производительности.

Проект BLOBFuse лицензирован в соответствии с лицензией MIT.

Замечание

BlobFuse — это последняя версия BLOBFuse и имеет много существенных улучшений по сравнению с BLOBFuse версии 1. Поддержка BLOBFuse версии 1 заканчивается в сентябре 2026 года. Выполните миграцию в BLOBFuse версии 2 с помощью приведенных инструкций.

Основные варианты использования

Преобразовав вызовы файловой системы в вызовы REST API BLOB-объектов Azure, BLOBFuse обеспечивает практический мост между рабочими нагрузками на основе файлов и массовым масштабированием и экономичностью хранилища BLOB-объектов Azure. Примеры вариантов использования:

  • Обучение моделей и сохранение контрольных точек для ИИ и машинного обучения (МО). BlobFuse повышает рабочие процессы искусственного интеллекта и машинного обучения, обеспечивая быстрый доступ к наборам данных с несколькими петабайтами в хранилище BLOB-объектов Azure с помощью интеллектуального кэширования. Она позволяет вычислительным узлам (виртуальным машинам), контейнерам и модулям (pod) Azure Kubernetes Service (AKS) эффективно загружать обучающие данные и сохранять контрольные точки модели. Предварительная загрузка данных с помощью BLOBFuse обеспечивает быстрый доступ перед началом обучения, помогая оптимизировать использование GPU. BlobFuse проверяется с помощью распределенных платформ машинного обучения, таких как PyTorch и Ray, обеспечивая более высокую переносимость рабочих процессов.

  • Высокопроизводительные вычисления (HPC). BlobFuse обеспечивает быстрый масштабируемый доступ к хранилищу BLOB-объектов Azure в параметрах HPC, эффективно обрабатывая данные в таких доменах, как:

    • Задачи автономного вождения (ADAS), использующие AKS. Эти рабочие нагрузки используют BlobFuse для крупномасштабных симуляций и данных для обучения моделей.

    • Симуляции гидрофоила. BlobFuse управляет вычислительными файлами и результатами для упрощенного анализа инженерии.

    • Секвенирование геномики. BlobFuse обрабатывает большие наборы данных и ускоряет общий доступ к данным.

    • Имитации игр, использующие быстрый доступ к данным. BlobFuse повышает параллельную обработку и масштабирование для поддержки сложных сценариев.

  • Интеграция облачно-нативной нагрузки. BlobFuse можно использовать как постоянный уровень хранилища для контейнеров и рабочих нагрузок с сохранением состояния в Kubernetes с помощью драйвера CSI. Это позволяет приложениям делиться большими файлами, весами моделей или журналами с помощью масштабируемой емкости хранилища блобов Azure. BlobFuse хорошо подходит для режимов доступа чтение-запись или только для чтения в сценариях совместного использования кластера.

  • Аналитика больших данных и предварительная обработка данных для обучения ИИ. BlobFuse улучшает рабочие нагрузки аналитики, интегрируя с такими инструментами, как Hadoop и Spark для эффективного хранения данных и извлечения. BlobFuse также полезно для предварительной обработки данных BLOB для задач искусственного интеллекта, таких как очистка, проверка и преобразование.

  • Резервное копирование и архивация данных. BlobFuse упрощает резервное копирование и архивацию больших наборов данных путем хранения данных непосредственно в BLOB-хранилище Azure. Она поддерживает основные задачи резервного копирования, такие как резервные копии баз данных Oracle Recovery Manager (RMAN) и резервные копии корпоративной системы. Она обеспечивает безопасное масштабируемое хранилище для видеоданных наблюдения, что снижает затраты на управление данными вручную.

Ключевые возможности

Ниже приведены некоторые ключевые задачи.

  • Подключите контейнер Хранилище BLOB-объектов Azure или файловую систему Azure Data Lake Storage в Linux.

    BlobFuse поддерживает учетные записи хранения с конфигурацией плоских пространств имен или иерархических пространств имен.

  • Используйте базовые операции файловой системы, такие как mkdir, opendirreaddirrmdiropenreadcreatewritecloseunlinktruncatestatrenameи .

  • Используйте кэширование локальных файлов для улучшения последующего времени доступа.

  • Получите аналитические сведения об операциях монтирования и использовании ресурсов с помощью монитора работоспособности.

  • Ограничьте просмотр и обработку больших двоичных объектов монтированием с помощью фильтра BLOB-объектов.

  • Скачайте целые контейнеры или вложенные каталоги в локальный кэш при монтировании BlobFuse. См. статью "Оптимизация производительности путем предварительной загрузки данных".

Как работает BLOBFuse

BlobFuse использует библиотеку libfuse (fuse3) для подключения к модулю ядра Linux FUSE. Он выполняет операции файловой системы с помощью REST API службы хранилища Azure. С помощью соглашений о путях он преобразует имена объектов хранилища BLOB-объектов Azure в структуру, похожую на каталог. Доступ к файлам можно получить, как если бы они находились на вашем устройстве. BlobFuse поддерживает стандартные операции, такие как mkdir, opendir, readdir, rmdir, open, read, create, write, close, unlink, truncate, stat и rename. Она также поддерживает chmod учетные записи иерархического пространства имен (HNS).

Замечание

BlobFuse не гарантирует полное соответствие POSIX, поскольку он преобразует запросы в REST API Blob. Например, операции переименования атомарны в POSIX, но не в BLOBFuse. См. сравнение файловой системы BLOBFuse и Linux.

BlobFuse имеет два режима работы: кэширование (кэш файлов) и потоковая передача (кэш блоков).

В режиме кэширования BLOBFuse загружает весь файл из хранилища BLOB-объектов Azure в локальный каталог кэша, прежде чем сделать его доступным для приложения. Все последующие операции чтения и записи работают с этим локальным кэшем, пока файл не будет вытесн или недействителен. При создании или изменении файла закрытие дескриптора файла активирует отправку файла в контейнер хранилища. Этот режим хорошо подходит для рабочих нагрузок, которые повторно обращаются к файлам или работают с наборами данных, которые могут разместиться на локальном диске.

В режиме потоковой передачи BlobFuse потоково передает данные в блоках и подает их по мере скачивания. Этот режим предназначен для рабочих нагрузок, включающих большие файлы, такие как наборы данных для обучения ИИ/МАШИН, последовательность генома и имитации HPC.

Следующие шаги

См. также