java系统找不到指定文件怎么解决
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/blobfusetmp 命令,确保对应用户有权限访问该路径:
配置存储账户凭据
运行 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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~