刚才介绍的RClone Windows和Linux都可以支持,但是感觉效果还是稍微差了点,其实类似的工具远不止RClone,还有名气更大的blobfuse

blobfuse也可以支持上文中介绍的这种mount文件的功能,只是现在还不支持Windows,还只能在Linux上用

首先先把blobfuse装上,直接通过微软的repo进行安装即可,先把repo安装好

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm

使用Blobfuse mount blob文件到本地磁盘_Blob


之后再通过yum命令安装即可

yum install blobfuse -y

使用Blobfuse mount blob文件到本地磁盘_存储_02


接下来是一些准备工作,比如配置文件,创建mount用的文件夹等

Blobfuse 要求文件系统中存在一个临时路径,用于缓冲和缓存任何打开的文件,以便提供类似本机的性能。 对于此临时路径,请选择性能最高的磁盘,或者使用 ramdisk 来获得最佳性能。

这里直接使用Azure VM自带的临时磁盘用作缓存

sudo mkdir /mnt/resource/tmp -p

使用Blobfuse mount blob文件到本地磁盘_linux_03

创建一个config文件,用来存储blobfuse需要使用的blob信息

sudo vim blobfuse.cfg
sudo chmod 600 blobfuse.cfg

格式类似下边这种,当然这只是个简单示例,所有的配置文件选项都可以在Github上找到,这个也是可以支持Service Principal或者MSI等方式的

accountName myaccount
accountKey storageaccesskey
containerName mycontainer

使用Blobfuse mount blob文件到本地磁盘_microsoft_04

接下来开始尝试mount

sudo blobfuse ~/blobmount --tmp-path=/mnt/resource/temp  --config-file=./blobfuse.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120

默认只有mount这个目录的用户才可以访问,如果要允许别人访问,可以加-o allow_other 进行装载

使用Blobfuse mount blob文件到本地磁盘_配置文件_05


cd blobmount/
ls

这里显示的内容和blob中实际存储的是一样的

使用Blobfuse mount blob文件到本地磁盘_Blob_06


创建文件,在portal上也可以做到,读写都可以支持