本文介绍 BlobFuse 和本机 Linux 文件系统之间的相似性和差异。
BlobFuse 和 Linux 文件系统之间的相似性
可以使用与本机 Linux 文件系统类似的 BlobFuse 装载存储。 虚拟目录方案使用相同的正斜杠 (/) 分隔符。 基本文件系统作,例如mkdir,、opendirreaddirrmdiropenreadcreatewritecloseunlinktruncate,stat以及在rename本机 Linux 文件系统中的工作方式相同。
BlobFuse 和 Linux 文件系统之间的差异
readdir 中的硬链接计数:出于性能原因,BlobFuse 无法正确报告目录中的硬链接数。 空目录的硬链接计数始终返回为 2,对于无空目录,无论实际链接数如何,无空目录始终返回为 3。
非原子重命名:Azure Blob 存储不支持原子重命名作。 单文件重命名实际上是两个作:副本后跟删除原始副本。 目录重命名以递归方式枚举目录中的所有文件,并单独重命名每个文件。
特殊文件:BlobFuse 仅支持目录、常规文件和符号链接。 不支持特殊文件,例如设备文件、管道和套接字。
mkfifo:BlobFuse 不支持 Fifo 创建。 尝试此操作会导致“函数未实现”错误。
chown 和 chmod:BlobFuse 不支持
chown对块 Blob 存储(FNS)或 Data Lake Storage(HNS)的作。 FNS 存储帐户不支持chmod作。 HNS 存储帐户支持作,但仅支持chmod装载目录中的子对象,而不支持根装载目录本身。设备文件或管道:BlobFuse 不支持创建设备文件或管道。
扩展属性 (x-attrs):BlobFuse 不支持扩展属性 (
x-attrs)作。写入流式处理:对大型文件的并发读取和写入作可能会产生不可预知的结果。 不支持从不同的线程同时写入同一 Blob。