Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
BlobFuse 是一个开源虚拟文件系统驱动程序,可无缝集成 Azure Blob 存储与 Linux 环境。 通过使用 BlobFuse,可以将 Azure 存储帐户容器装载为文件系统,使 Blob 数据可通过标准 Linux 文件作进行访问。 BlobFuse 将这些作转换为 Azure Blob REST API 调用,因此应用程序可以利用 Azure Blob 存储的可伸缩性和持久性。
BlobFuse 提供了多种缓存机制,包括文件、元数据和属性缓存,以提高性能并最大程度地降低网络流量费用。 可以配置缓存位置、大小和保留策略,以实现最佳性能。
BlobFuse 项目 根据 MIT 许可证获得许可。
注释
BlobFuse 是 BlobFuse 的最新版本,对 BlobFuse v1 进行了许多重大改进。 BlobFuse v1 支持于 2026 年 9 月结束。 使用提供的 说明迁移到 BlobFuse v2。
关键用例
通过将文件系统调用转换为 Azure Blob REST API 调用,BlobFuse 可在基于文件的工作负载与 Azure Blob 存储的大规模和成本效益之间提供实际桥梁。 示例用例包括:
用于 AI 和机器学习(ML)的模型训练和检查点管理。 BlobFuse 通过智能缓存提供对 Azure Blob 存储中多 PB 数据集的快速访问,从而提升 AI/ML 工作流。 它使计算节点(虚拟机)、容器和 Azure Kubernetes 服务(AKS)Pod 能够有效地加载训练数据并保存模型检查点。 使用 BlobFuse 预加载数据可确保在训练开始之前快速访问,从而帮助优化 GPU 使用率。 BlobFuse 使用分布式 ML 框架(如 PyTorch 和 Ray)进行验证,从而提供更高的工作流可移植性。
高性能计算(HPC)。 BlobFuse 支持在 HPC 设置中快速、可缩放地访问 Azure Blob 存储,从而跨域高效处理数据,例如:
使用 AKS 的自动驾驶工作负载 (ADAS)。 这些工作负载利用 BlobFuse 存取大规模的模拟和模型训练数据。
水翼模拟。 BlobFuse 管理计算文件和结果,以便简化工程分析。
基因组学排序。 BlobFuse 处理大型数据集并加速数据共享。
依赖于快速数据访问的游戏模拟。 BlobFuse 可提升并行处理和缩放,以支持复杂方案。
云原生工作负载集成。 可以通过 CSI 驱动程序将 BlobFuse 用作 Kubernetes 中的容器和有状态工作负荷的持久性存储层。 它允许应用程序使用 Azure Blob 存储的可缩放容量共享大型文件、模型权重或日志。 BlobFuse 非常适合共享群集方案中的读写或只读访问模式。
大数据分析和 AI 训练数据预处理。 BlobFuse 通过与 Hadoop 和 Spark 等工具集成来增强分析工作负载,以便高效数据存储和检索。 BlobFuse 还可用于预处理 AI 任务的 Blob 数据,例如数据清理、验证和转换。
数据备份和存档。 BlobFuse 通过在 Azure Blob 存储中启用直接存储来简化大型数据集的备份和存档。 它支持主要备份任务,例如 Oracle 恢复管理器(RMAN)数据库备份和企业系统备份。 它为监视视频数据提供安全、可缩放的存储,减少了手动数据管理开销。
关键功能
下面是一些关键任务。
在 Linux 上装载 Azure Blob 存储容器或 Azure Data Lake Storage 文件系统。
BlobFuse 支持配置平面命名空间或分层命名空间的存储帐户。
使用基本的文件系统操作,例如
mkdir、opendir、readdir、rmdir、open、read、create、write、close、unlink、truncate、stat和rename。使用本地文件缓存来改善后续访问时间。
通过使用 运行状况监视器,深入了解挂载活动和资源使用情况。
使用 blob 筛选器限制装载可以查看或操作的 blob。
装载 BlobFuse 时,将整个容器或子目录下载到本地缓存。 请参阅 通过预加载数据优化性能。
BlobFuse 的工作原理
BlobFuse 使用 libfuse (fuse3) 库连接到 Linux FUSE 内核模块。 它使用 Azure 存储 REST API 执行文件系统操作。 通过路径约定,它将 Azure Blob 存储对象名称转换为类似目录的结构。 你可以像在本地一样访问文件。 BlobFuse 支持标准操作,例如mkdir、opendir、readdir、rmdir、open、read、create、write、close、unlink、truncate、stat和rename。 它还支持 chmod 分层命名空间(HNS)帐户。
注释
BlobFuse 不保证完整的 POSIX 符合性,因为它将请求转换为 Blob REST API。 例如,重命名操作在 POSIX 中是原子操作,但在 BlobFuse 中不是原子操作。 请参阅 比较 BlobFuse 和 Linux 文件系统。
BlobFuse 有两种作模式: 缓存 (文件缓存)和 流式处理 (块缓存)。
在 缓存 模式下,BlobFuse 将整个文件从 Azure Blob 存储下载到本地缓存目录中,然后再将其提供给应用程序。 所有后续读取和写入都会在此本地缓存上运行,直到文件被逐出或失效。 创建或修改文件时,关闭文件句柄会触发文件上传到存储容器。 此模式适用于需要反复访问文件的工作负载,或者适用于可以存放在本地磁盘上的数据集。
在流式处理模式下,BlobFuse 以区块(块)形式流式传输数据,并在下载过程中实时提供服务。 此模式适用于涉及大型文件的工作负载,例如 AI/ML 训练数据集、基因组排序和 HPC 模拟。