如何将存储账户BlockBlob容器的子路径挂载到虚拟机?
问题解决:Azure Blob存储NFS挂载子文件夹失败
原因说明
Azure Blob存储的NFS 3.0协议仅支持挂载整个容器,不支持直接挂载容器内的虚拟子文件夹(比如你创建的testfolder)。这就是挂载整个容器成功,但挂载子路径时提示No such file or directory的核心原因。
可行解决方案
方案1:挂载整个容器后通过本地路径访问或创建软链接
- 先正常挂载整个容器:
mount -o sec=sys,vers=3,nolock,proto=tcp storeabc.blob.core.windows.net:/storeabc/testcontainer /nfsdata - 之后可直接通过
/nfsdata/testfolder访问目标文件夹,或者创建软链接将该文件夹映射到你需要的路径,比如:
后续访问ln -s /nfsdata/testfolder /mnt/testfolder-mount/mnt/testfolder-mount就等同于直接访问容器内的testfolder。
方案2:迁移内容到新容器后挂载
如果需要单独挂载该文件夹的内容,可将testfolder里的所有Blob迁移到一个新容器(比如testfolder-container),再挂载这个新容器:
- 新建容器
testfolder-container(确保存储账户已开启NFS 3.0支持) - 将
testcontainer/testfolder下的所有内容迁移到新容器 - 使用以下命令挂载新容器:
mount -o sec=sys,vers=3,nolock,proto=tcp storeabc.blob.core.windows.net:/storeabc/testfolder-container /nfsdata
内容的提问来源于stack exchange,提问作者Shubhm
相关产品推荐
相关产品推荐

