当前位置: 首页 > news >正文

OSSFs挂载工具简介

OSSFs挂载工具

OSSFs挂载工具简介

​ ossfs允许您在Linux系统中将对象存储OSS的存储空间(Bucket)挂载到本地文件系统。挂载完成后,您能够像操作本地文件一样操作OSS的对象(Object),从而实现数据共享。

​ 使用起来,可以把存储桶Bucket理解成一个文件夹,进入到文件夹后增删改查目录中的文件,即相当于在操作Bucket。

演示体验:

这里已经创建了一个Bucket :longgovv

在存储桶中创建2个文件夹

如果Linux服务器已经部署了OSSFs系统并配置,则效果如下:

[root@wangting ~]# cd /oss/longgovv/
[root@wangting longgovv]# ll
total 1
drwxrwxrwx 1 root root 0 Mar  2 16:20 FypA9M
drwxr-xr-x 1 root root 0 Mar  3 09:55 wangt

可以在服务器上查看到与longgovv同步的目录,以上就是直观的使用感受

OSSFs运行环境

Linux系统:

  • CentOS 7.0及以上版本
  • Ubuntu 14.04及以上版本
  • Anolis7及以上版本
  • fuse 2.8.4以上版本

​ ossfs基于fuse用户态文件系统开发,只能运行在支持fuse的机器上。OSS提供了Ubuntu和CentOS系统的安装包,如果需要在其它环境下运行,可以通过源码方式构建目标程序。
​ ossfs支持在阿里云内网以及互联网环境下使用。在内网环境下时,建议使用内网访问域名,以提升访问速度和稳定性

OSSFs主要功能

ossfs基于s3fs构建,具有s3fs的全部功能。其中包括:

  • 支持POSIX文件系统的大部分功能,例如上传下载文件、目录,设置用户权限等
  • 默认使用OSS的分片上传和断点续传功能上传文件
  • 支持MD5校验,保证数据完整性

OSSFs使用限制

  • 不支持挂载归档型Bucket
  • 不适合高并发读写的场景
  • 编辑OSS内文件会导致文件被重新上传
  • 元数据操作(例如list directory)需要远程访问OSS服务器,所以性能较差
  • 重命名文件或文件夹可能会出错。若操作失败,可能会导致OSS和本地数据不一致
  • 多个客户端挂载同一个OSS Bucket时,数据一致性由您自行维护。建议您合理规划文件使用时间,避免出现多个客户端写同一个文件的情况
  • 不支持hard link
  • 如果您因意外中断了文件上传的过程,且未继续完成该文件的上传,则已上传的部分会以碎片(Part)的形式存储在OSS的存储空间(Bucket)中。如果您不再需要这些Part,建议您通过以下方式删除,以免产生额外的存储费用

安装ossfs

1.下载安装包

# CentOS 7.0 (x64)
[root@wangting ~]# wget https://gosspublic.alicdn.com/ossfs/ossfs_1.80.7_centos8.0_x86_64.rpm# CentOS 8.0 (x64)
[root@wangting ~]# wget https://gosspublic.alicdn.com/ossfs/ossfs_1.80.7_centos8.0_x86_64.rpm

其它版本可到官方查找下载连接

2.安装rpm包

[root@wangting ~]# yum install -y ossfs_1.80.7_centos8.0_x86_64.rpm

【注意】

yum安装ossfs的rpm包时,-y会自动安装一些附带的依赖,如果纯离线环境需要考虑yum安装环境

无法直接使用yum下载依赖包。您可以在网络正常的、相同版本操作系统的节点上,使用yum下载依赖包并拷贝到网络特殊的节点。例如,ossfs需要依赖fuse 2.8.4以上版本,可使用如下命令,下载yum源中最新的fuse到本地

yum install --downloadonly --downloaddir=./ fuse
# 如果需要下载其他依赖包,请将fuse换成对应包的名称

3.配置账号访问信息

  • 配置账号

echo BucketName:yourAccessKeyId:yourAccessKeySecret > /etc/passwd-ossfs

[root@wangting ~]# echo longgovv:LT6qNAI5txgaUaUtEo4zF:AqJFq9jP6q0rzzeHITNNMCFRtCqKlL > /etc/passwd-ossfs
[root@wangting ~]# chmod 640 /etc/passwd-ossfs

将Bucket名称以及具有该Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在/etc/passwd-ossfs文件中。文件的权限建议设置为640。

  • 配置挂载信息

ossfs BucketName mountfolder -o url=Endpoint

[root@wangting ~]# mkdir -p /oss/longgovv
[root@wangting ~]# ossfs longgovv /oss/longgovv -o url=http://oss-cn-shanghai.aliyuncs.com

Endpoint为访问端口,在Bucket的概览首页即可查找到

OSSFs验证与使用

Linux端写文件操作

配置完挂载信息,则直接可以在命令行查看使用Bucket了

[root@wangting longgovv]# df -hT
Filesystem     Type        Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs    899M     0  899M   0% /dev
tmpfs          tmpfs       914M     0  914M   0% /dev/shm
tmpfs          tmpfs       914M  520K  913M   1% /run
tmpfs          tmpfs       914M     0  914M   0% /sys/fs/cgroup
/dev/vda1      xfs          40G   21G   20G  51% /
tmpfs          tmpfs       183M     0  183M   0% /run/user/0
ossfs          fuse.ossfs  256T     0  256T   0% /oss/longgovv

使用体验:

[root@wangting longgovv]# cd /oss/longgovv/
[root@wangting longgovv]# mkdir 20230303
[root@wangting longgovv]# ll
total 2
drwxr-xr-x 1 root root 0 Mar  3 10:24 20230303
drwxrwxrwx 1 root root 0 Mar  2 16:20 FypA9M
drwxr-xr-x 1 root root 0 Mar  3 09:55 wangt
[root@wangting longgovv]# cd 20230303
[root@wangting 20230303]# date >> test.log
[root@wangting 20230303]# date >> test.log
[root@wangting 20230303]# date >> test.log
[root@wangting 20230303]# cat test.log 
Fri Mar  3 10:26:36 CST 2023
Fri Mar  3 10:26:37 CST 2023
Fri Mar  3 10:26:37 CST 2023

查看oss的对象API

[root@wangting 20230303]# curl https://longgovv.oss-cn-shanghai.aliyuncs.com/20230303/test.log
Fri Mar  3 10:26:36 CST 2023
Fri Mar  3 10:26:37 CST 2023
Fri Mar  3 10:26:37 CST 2023

下载test.log

Linux端读取文件操作

挂起目录监控

[root@wangting 20230303]# while true;do date && sleep 1 && ls -l;done

Bucket上传文件:

[root@wangting 20230303]# while true;do date && sleep 1 && ls -l;done
Fri Mar  3 10:34:59 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar  3 10:26 test.log
Fri Mar  3 10:35:00 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar  3 10:26 test.log
Fri Mar  3 10:35:01 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar  3 10:26 test.log
Fri Mar  3 10:35:02 CST 2023
total 1
-rw-r--r-- 1 root root 87 Mar  3 10:26 test.log
Fri Mar  3 10:35:03 CST 2023
total 19165
-rwxrwxrwx 1 root root 19623936 Mar  3 10:35 mariadb-connector-c-3.3.3-win64.msi
-rw-r--r-- 1 root root       87 Mar  3 10:26 test.log
Fri Mar  3 10:35:04 CST 2023
total 19165
-rwxrwxrwx 1 root root 19623936 Mar  3 10:35 mariadb-connector-c-3.3.3-win64.msi
-rw-r--r-- 1 root root       87 Mar  3 10:26 test.log
Fri Mar  3 10:35:05 CST 2023
total 19165
-rwxrwxrwx 1 root root 19623936 Mar  3 10:35 mariadb-connector-c-3.3.3-win64.msi
-rw-r--r-- 1 root root       87 Mar  3 10:26 test.log
http://www.lryc.cn/news/27426.html

相关文章:

  • Spring 容器创建初始化,获取bean流程分析
  • 无聊小知识.03 Springboot starter配置自动提示
  • 2023-03-03 mysql-join类别-分析
  • Saleen 系列来袭!
  • 如何优雅地处理Java中的null值?使用Optional类来实现!
  • 巾帼绽芬芳 一起向未来(中篇)
  • espnet training
  • qsort函数的应用以及模拟实现
  • 【iobit 软件】家族系列 - 正版激活码
  • ACM-大一训练第三周(Floyd算法+并查集算法专题训练)
  • taobao.item.sku.update( 更新SKU信息 )
  • ros2创建一个工程
  • 【力扣】stack容器的探索之有效的括号
  • 【Elsevier出版社】中科院2区,SCIEEI 双检,已有发表案例,3个月左右录用
  • 基于明道云平台重建医院管理流程
  • 【蓝桥杯嵌入式】STM32定时器的配置,解析预分频系数和重装载值与时钟频率的关系
  • ChatGPT API 低价上线,开发者可以人手一个了?
  • 品牌营销策略 | 科学经营合作伙伴关系的5个要素
  • 【剑指offer-C++】JZ20:表示数值的字符串
  • 【NLP相关】深度学习领域不同编程IDE对比
  • 定制ubuntu的docker镜像
  • 我的 System Verilog 学习记录(8)
  • 详解JAVA字节码
  • 前端利用emailjs发送邮件
  • 16 Nacos服务端服务注册源码分析
  • Spring Boot2中如何优雅地个性化定制Jackson
  • 2023年全国最新食品安全管理员精选真题及答案11
  • 【脚本】用于得到某个文件/文件夹所有文件的存储大小(MB单位)
  • 19- CNN进行Fashion-MNIST分类 (tensorflow系列) (项目十九)
  • 【正点原子FPGA连载】第二十二章IP封装与接口定义实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南