MCPcopy Index your code
hub / github.com/Azure/azure-storage-fuse

github.com/Azure/azure-storage-fuse @blobfuse2-2.5.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release blobfuse2-2.5.3 ↗ · + Follow
2,963 symbols 13,988 edges 206 files 873 documented · 29%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Blobfuse - A Microsoft supported Azure Storage FUSE driver

About

Blobfuse is an open source project developed to provide a virtual filesystem backed by the Azure Storage. It uses the libfuse open source library (fuse3) to communicate with the Linux FUSE kernel module, and implements the filesystem operations using the Azure Storage REST APIs. BlobFuse lets Linux workloads use Azure Blob Storage like a local file system for several scenarios, including AI/ML training and checkpointing, HPC simulations, Kubernetes stateful workloads, big data analytics/preprocessing, and large-scale backup and archiving. BlobFuse supports standard file operations with caching, offers health monitoring and blob filtering, and can preload containers or folders into the local cache for faster access.

BlobFuse supports two operating modes: a caching mode that works by caching data locally on VM nodes, ideal for repeatedly accessed data that fits on VM local storage, and a streaming mode that reads large files in chunks directly from storage for big AI/ML, genomics, or HPC workloads. This article helps you decide which mode is best suited for your workloads.

[!NOTE] BlobFuse v2 is the latest version of BlobFuse and has many significant improvements over BlobFuse v1. BlobFuse v1 support ends in September 2026. Migrate to BlobFuse v2 by using the provided instructions.

Detailed documentation of BlobFuse is here.
Please submit any issues/feature requests/questions here.

Install BlobFuse

You can install BlobFuse from Microsoft repositories for Linux by using simple commands to install the BlobFuse package. If no package is available for your distribution and version, you can build the binary from source code. Refer to the instructions for details.

Mount BlobFuse

You can mount a container by using the mount command. You can either include your desired configuration settings as command line parameters or provide a configuration file that contains your settings. Refer the page for details.

BlobFuse Logging

By default, BlobFuse logs warnings to the system log. However, you can route logs to a local directory, change which types of information appear in logs, or disable logs entirely by changing the default configuration. Refer the page for details.

Monitor BlobFuse

Health monitor is a tool that you use to monitor mount activities and resource usage. This article describes what data you can obtain, and how to enable health monitor and view output reports.

Find help from your command prompt

To see a list of commands, type blobfuse2 -h and then press the ENTER key. To learn about a specific command, just include the name of the command (For example: blobfuse2 mount -h).

Limitations and known issues with BlobFuse

Refer the page for limitations and known issues.
For troubleshooting common issues, refer this page.

License

This project is licensed under MIT.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Extension points exported contracts — how you extend this code

Logger (Interface)
Logger : Interface to define a generic Logger. Implement this to create your new logging lib [3 implementers]
common/log/logger.go
ConfigChangeEventHandler (Interface)
config is the common package to handle all configuration related functions of the entire tool Precedence order for retri [3 …
common/config/config_parser.go
Monitor (Interface)
(no doc) [4 implementers]
tools/health-monitor/internal/monitor.go
Component (Interface)
Component : Base internal for every component to participate in pipeline [2 implementers]
internal/component.go
AzConnection (Interface)
(no doc) [2 implementers]
component/azstorage/connection.go
NewComponent (FuncType)
NewComponent : Function that all components have to register to allow their instantiation
internal/pipeline.go
XComponent (Interface)
(no doc) [1 implementers]
component/xload/xcomponent.go
ConfigChangeEventHandlerFunc (FuncType)
(no doc)
common/config/config_parser.go

Core symbols most depended-on inside this repo

Err
called by 595
common/log/logger.go
Name
called by 364
component/file_cache/cache_policy.go
CreateFile
called by 280
component/azstorage/connection.go
Trace
called by 255
common/log/logger.go
Remove
called by 222
common/cache_policy/lru_policy.go
WriteFile
called by 218
internal/component.go
Debug
called by 183
common/log/logger.go
OpenFile
called by 182
internal/component.go

Shape

Method 1,879
Function 771
Struct 246
Class 37
TypeAlias 14
Interface 9
Enum 4
FuncType 3

Languages

Go95%
C2%
Python2%
C++1%

Modules by API surface

component/azstorage/block_blob_test.go139 symbols
component/azstorage/datalake_test.go115 symbols
component/file_cache/file_cache_test.go90 symbols
internal/mock_component.go88 symbols
component/block_cache/block_cache_test.go64 symbols
component/azstorage/block_blob.go55 symbols
component/block_cache/block_cache.go53 symbols
component/attr_cache/attr_cache_test.go51 symbols
internal/component.go50 symbols
component/libfuse/libfuse_handler_test.go46 symbols
cmd/mountv1_test.go46 symbols
internal/base_component.go44 symbols

For agents

$ claude mcp add azure-storage-fuse \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page