Linux versions of many Microsoft software products are supported and are available through the “Linux Software Repository for Microsoft Products” at https://packages.microsoft.com.
Unfortunately, the BlobFuse installation via the apt package repository for Microsoft products is not available for Debian. It’s unclear why this significant omission occurred—leaving Debian out of the loop.
Below are steps tailored for Debian 11, which should also be applicable to Debian 12.
Step 1 : Install Dependencies
1 |
sudo apt-get install pkg-config libfuse-dev cmake libcurl4-gnutls-dev libgnutls28-dev uuid-dev libgcrypt20-dev libboost-all-dev gcc g++ -y |
Step 2 : Download Blobfuse directory from Github
1 |
wget https://github.com/Azure/azure-storage-fuse/releases/download/blobfuse2-2.2.0/blobfuse2-2.2.0-Debian-11.0.x86_64.deb |
Step 3 : Extract install using dpkg
1 |
sudo dpkg -i blobfuse2-2.2.0-Debian-11.0.x86_64.deb |
Step 4 : Check Blobfuse2 version
1 |
blobfuse2 -v |
Step 5 : Create blobfuse cache directory
1 |
sudo mkdir /mnt/blobfuse-cache |
Step 6: Create blobfuse directory for mounting with Azure Blob Container
1 |
sudo mkdir /mnt/azure-blob-container |
Step 7 : Create configuration file (DO NOT USE sudo)
1 |
vi /home/myuser/config.yaml |
Step 8: Complete the config.yaml setting using this structure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
allow-other: true logging: type: syslog level: log_debug components: - libfuse - file_cache - attr_cache - azstorage libfuse: attribute-expiration-sec: 120 entry-expiration-sec: 120 negative-entry-expiration-sec: 240 file_cache: path: /mnt/blobfuse-cache timeout-sec: 120 max-size-mb: 4096 attr_cache: timeout-sec: 7200 azstorage: type:block account-name: your-azure-azure-blob-name account-key: your-azure-blob-storage-key container: your-container-in-azure-blob-storage |
Step 9 : mount the Azure Blob Container with local VM directory
1 |
sudo blobfuse2 /mnt/azure-blob-container/ --config-file=/home/myuser/config.yaml |
Done.
Troubleshoot
Case 1 : If you need to unmount, you can use this script
1 |
fusermount -u /mnt/azure-blob-container |
Case 2: If You cannot create directory, make sure your Azure Storage is Hierarchical namespace (HNS) enabled and modify the .yaml file. Replace type:block with type:adls
1 2 3 4 |
... azstorage: type:adls ... |
Case 3 : Your disk is full because of Blobfuse log data ?
Try to change Blobfuse log file configuration using rotate.