如何使用Blobfuse将Blob存储装载为文件系统

网友投稿 294 2022-10-08

如何使用Blobfuse将Blob存储装载为文件系统

前面和大家演示了如何直接将Blob存储装载为文件系统,但在很多客户的实际使用场景中是通过Blobfuse进行装载的。

Blobfuse是Azure Blob存储的虚拟文件系统驱动程序。Blobfuse允许通过Linux文件系统访问存储账户中的现用块Blob数据。Blobfuse使用虚拟目录方案,并使用正斜杠“/”作为分隔符。接下来我们一起来看下如何使用Blobfuse在Linux VM上装载Blob存储容器并访问数据。

在Linux VM上安装Blobfuse

首先我们需要在Linux VM上导入一个存储库,用于安装Blobfuse,在此我们使用微软的库:

sudo rpm -Uvh ​​​sudo yum install blobfuse​​​ 来安装Blobfuse:

Blobfuse 装载准备

临是路径准备

Blobfuse要求在文件系统中存在一个临是路径,用于缓冲和缓存任何打开的文件,一边提供类似本机的访问性能。对此临是路径,建议选择性能最好的磁盘,或者使用ramdisk来获得最佳性能。在Azure中可以选择两种方式来用作此临是路径,一种是创建ramdisk,另外一种方式是使用Azure VM上提供的临是磁盘(SSD)。接下来就看下如何使用Azure VM的临时盘用作Blobfuse的临是路径。

在Linux VM下,临是磁盘一般装载在/mnt/resource上,首先我们在临时盘内创建一个临是路径,运行如下命令:

sudo mkdir /mnt/resource/blobfusetmp -p

运行 ​​​sudo chown root /mnt/resource/blobfusetm​​​p 命令,确保对应用户有权限访问该路径:

配置存储账户凭据

运行 ​​touch ~/fuse_connection.cfg​​​ 命令在根目录创建链接配置文件:

在配置文件中配置存储账户信息,Blobfuse 要求将凭据采用以下格式存储在文本文件中:

accountName myaccount

accountKey storageaccesskey

containerName mycontainer

创建并编辑此文件以后,请确保限制对它的访问权限,防止其他用户读取它。

创建装载目录

运行 ​​mkdir ~/blobfuse​​ 创建装载目录:

使用Blobfuse装载Blob存储

若要装载 Blobfuse,需要以用户身份运行以下命令。 此命令将“/path/to/fuse_connection.cfg”中指定的容器装载到“/blobfuse01”位置:

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

装载完成后,通过df -h可以看到相关信息:

测试文件读写

现在应该可以通过常规文件系统 API 访问块 Blob。 装载该目录的用户是可以访问它的唯一人员,默认情况下,这可以保护访问权限。 若要允许所有用户进行访问,可以通过选项 ​​-o allow_other​​​ 进行装载。

运行如下命令测试文件写入:

cd ~/mycontainer mkdir test echo "hello world" > test/blob.txt

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Azure Cache for Redis 计划更新
下一篇:kafka的消息存储机制和原理分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~