Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Внимание
BlobFuse2 является последней версией BLOBFuse и имеет много существенных улучшений по сравнению с версией, описанной в этой статье, BLOBFuse версии 1. Чтобы узнать об улучшениях в BlobFuse2, см. список улучшений BlobFuse2.
BlobFuse — это драйвер виртуальной файловой системы для использования в хранилище BLOB Azure. BlobFuse позволяет получить доступ к имеющимся блочным BLOB-данным в вашем аккаунте хранения через файловую систему Linux. BlobFuse использует схему виртуального каталога с косой чертой (/) в качестве разделителя.
В этом руководстве показано, как использовать BLOBFuse версии 1 и подключить контейнер хранилища BLOB-объектов в Linux и получить доступ к данным. Дополнительные сведения о BLOBFuse версии 1 см. в разделе readme и wiki.
Предупреждение
BlobFuse не гарантирует 100% совместимости с POSIX, так как он просто преобразует запросы в Blob REST APIs. Например, операции переименования в POSIX являются атомарными, а в BlobFuse — нет. Полный список различий между собственной файловой системой и BlobFuse см. в репозитории исходного кода BlobFuse.
Установка BLOBFuse версии 1 в Linux
Двоичные файлы BLOBFuse доступны в репозиториях программного обеспечения Майкрософт для Linux для Ubuntu, Debian, SUSE, Oracle Linux и RHEL. Чтобы установить BlobFuse в этих дистрибутивах, настройте один из репозиториев из списка. Вы также можете создавать двоичные файлы из исходного кода, следуя действиям по установке службы хранилища Azure, если для вашего дистрибутива нет двоичных файлов.
BlobFuse публикуется в репозитории Linux для версий Ubuntu: 16.04, 18.04 и 20.04, RHEL версии: 7.5, 7.8, 7.9, 8.0, 8.1, 8.2, Debian версии: 9.0, 10.0, SUSE версии: 15, Oracle Linux 8.1. Выполните следующую команду, чтобы убедиться в том, что у вас развернута одна из этих версий:
cat /etc/*-release
Настройка репозитория пакетов Майкрософт
Настройте репозиторий пакетов Linux для продуктов Майкрософт.
Например, в дистрибутиве Red Hat Enterprise Linux 8:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm
Аналогичным образом измените .../rhel/7/...
URL-адрес, чтобы указать на дистрибутив Red Hat Enterprise Linux 7.
Установка BLOBFuse версии 1
Подготовка к монтажу
Для BlobFuse требуется временный путь в файловой системе, чтобы поместить все открытые файлы в буфер и кэшировать их, что помогает обеспечить производительность, близкую к исходной. Для этого временного пути выберите самый высокопроизводительный диск или используйте электронный диск для достижения оптимальной производительности.
Примечание.
BlobFuse хранит все содержимое открытых файлов во временном пути. Убедитесь, что имеется достаточно места для всех открытых файлов.
Используйте рамдиск для временного пути (необязательно)
В следующем примере создается RAM-диск на 16 ГБ и каталог для BlobFuse. Выберите размер в соответствии со своими потребностями. Такой RAM-диск позволяет BlobFuse открывать файлы размером до 16 ГБ.
sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=16g tmpfs /mnt/ramdisk
sudo mkdir /mnt/ramdisk/blobfusetmp
sudo chown <youruser> /mnt/ramdisk/blobfusetmp
Использование диска SSD в качестве временного пути
В Azure можно использовать временные диски (SSD), доступные на виртуальной машине, чтобы обеспечить для BlobFuse буфер с малой задержкой. В зависимости от используемого агента подготовки временный диск будет подключен в каталог '/mnt' для cloud-init или '/mnt/resource' для виртуальных машин waagent.
Убедитесь, что у вашего пользователя есть доступ к временному пути:
sudo mkdir /mnt/resource/blobfusetmp -p
sudo chown <youruser> /mnt/resource/blobfusetmp
Предоставление доступа к учетной записи хранения
Вы можете авторизовать доступ к учетной записи для хранения с помощью ключа доступа учетной записи, подписанного общего доступа, управляемого удостоверения или принципала службы. Сведения об авторизации можно указать в командной строке, в файле конфигурации или в переменных среды. Дополнительные сведения см. в Допустимые параметры проверки подлинности в руководстве по BlobFuse.
Например, предположим, что вы выполняете авторизацию с помощью ключей доступа к учетной записи и сохраняете их в файле конфигурации. Файл конфигурации должен иметь следующий формат:
accountName myaccount
accountKey storageaccesskey
containerName mycontainer
authType Key
accountName
— это имя учетной записи хранения, а не полный URL-адрес. Вам нужно обновить myaccount
, storageaccesskey
, и mycontainer
данными вашего хранилища.
Создайте этот файл с помощью следующей команды:
sudo touch /path/to/fuse_connection.cfg
После создания и изменения этого файла ограничьте к нему доступ, чтобы никто не смог его прочитать.
sudo chmod 600 /path/to/fuse_connection.cfg
Примечание.
Если вы создали файл конфигурации в Windows, обязательно запустите dos2unix
, чтобы очистить данные и преобразовать файл в формат Unix.
Создайте пустой каталог для монтирования
sudo mkdir ~/mycontainer
Маунт
Примечание.
Полный список параметров подключения см. в репозитории BlobFuse.
Чтобы подключить BlobFuse, выполните следующую команду вашим пользователем. Эта команда монтирует контейнер, указанный в "/path/to/fuse_connection.cfg", на местоположение "/mycontainer".
sudo blobfuse ~/mycontainer --tmp-path=/mnt/resource/blobfusetmp --config-file=/path/to/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120
Примечание.
При использовании учетной записи ADLS необходимо включить --use-adls=true
.
Теперь у вас должен быть доступ к блочным BLOB-объектам через обычные API файловой системы. Только тот пользователь, который подключает каталог, может пользоваться им по умолчанию, что обеспечивает безопасный доступ. Чтобы разрешить доступ всем пользователям, можно выполнить подключение через параметр -o allow_other
.
sudo cd ~/mycontainer
sudo mkdir test
sudo echo "hello world" > test/blob.txt
Перманентное монтирование
Сведения о том, как сохранить подключение, см. в разделе Сохранение на вики-сайте BlobFuse.
Поддержка функций
На поддержку данной функции может повлиять включение протокола Data Lake Storage 2-го поколения, протокола сетевой файловой системы (NFS) 3.0 или протокола SFTP. Если вы включили любую из этих возможностей, см. Сведения о поддержке функций хранилища BLOB-объектов в учетных записях хранения Azure, чтобы оценить поддержку данной функции.