OSSFs挂载工具简介

news2024/12/23 23:53:52
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.coloradmin.cn/o/384333.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RT_Thread Nano 简介, 移植

官网介绍 RT_Thread Nano 1.简介 RT-Thread Nano 是一个极简版的硬实时内核,它是由 C 语言开发,采用面向对象的编程思维,具有良好的代码风格,是一款可裁剪的、抢占式实时多任务的 RTOS。其内存资源占用极小,功能包括…

打怪升级之MFC变量小实验

按惯例,这一篇文章主要还是作者读《深入浅出MFC》整理的一些笔记。不过本次还加上了一些作者自己的理解。 实验的前期准备 做实验前,你最好了解一下MFC的执行流程,从winapp到各类控件的实际变化过程,可以参考博主之前的笔记。 …

SOTA!目标检测开源框架YOLOv6 3.0版本来啦

近日,美团视觉智能部发布了 YOLOv6 3.0 版本,再一次将目标检测的综合性能推向新高。YOLOv6-L6 检测精度和速度超越 YOLOv7-E6E,取得当前实时目标检测榜单 SOTA。本文主要介绍了 YOLOv6 3.0 版本中引入的技术创新和优化,希望能为从…

64. 最小路径和

64. 最小路径和 给定一个包含非负整数的 m∗nm * nm∗n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid [[1,3,1],[1,5,1],[…

Hudi的7种索引

1、Bloom Index Bloom Index (default) 使用根据记录键构建的bloom过滤器,也可以使用记录键范围修剪候选文件.原理为计算RecordKey的hash值然后将其存储到bitmap中,为避免hash冲突一般选择计算3次 HoodieKey 主键信息:主要包含recordKey 和p…

[ IFRS 17 ] 新准则下如何确认保险合同

本系列文章:[ IFRS 17 ] 针对保险新准则 IFRS 17 进行一些列文章更新。如若文中如有所疑问或者不同见解,欢迎留言互动交流。 注:本系列文章受众群体较小众,如若对你感到不适,请立刻点击右上角的 【】 本系列文章适用…

RDD持久化原理和共享变量

(一) RDD持久化原理 Spark中有一个非常重要的功能就是可以对RDD进行持久化。当对RDD执行持久化操作时,每个节点都会将自己操作的RDD的partition数据持久化到内存中,并且在之后对该RDD的反复使用中,直接使用内存中缓存…

互联网工程师 1480 道 Java 面试题及答案整理 ( 2023 年 整理版)

最近很多粉丝朋友私信我说:熬过了去年的寒冬却没熬过现在的内卷;打开 Boss 直拒一排已读不回,回的基本都是外包,薪资还给的不高,对技术水平要求也远超从前;感觉 Java 一个初中级岗位有上千人同时竞争&#…

安卓逆向_4 --- 定位关键Smali、monitor使用、log插桩、栈追踪、methodprofiling(方法分析)

1、快速定位关键 smali 代码 1.分析流程 搜索特征字符串 搜索关键api 通过方法名来判断方法的功能 2.快速定位关键代码 反编译 APK 程序,AndroidManifest.xml > 包名/系统版本/组件 程序的主 activity(程序入口界面) 每个…

Allegro如何画半圆形的线操作指导

Allegro如何画半圆形的线操作指导 在用Allegro设计PCB的时候,在某些应用场合会需要画半圆形,如下图 如何画半圆形,具体操作如下 点击Add点击Arc w/Radius

WebRTC QoS方法之Pacer实现

本文将解读WebRTC中Pacer算法的实现。WebRTC有两套Pacer算法:TaskQueuePacedSender、PacedSender。本文仅介绍PacedSender的实现。(文章中引用的WebRTC代码基于master,commit:3f412945f05ce1ac372a7dad77d85498d23deaae源码分析&a…

算法练习(八)区域搜索

一、腐烂的橘子 1、题目描述: 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的…

从零开始:学习使用 Hugo 构建自己的静态网站

1、什么是 Hugo 1.1、简介 Hugo 是一个由 Go 语言编写的静态网站生成器。它可以帮助用户快速构建高性能的静态网站,特别是博客、文档和个人网站等。与其他静态网站生成器相比,Hugo 的特点是速度快、易于使用、可扩展性强等。Hugo 使用简单的 Markdown …

【项目】游戏-我在万科转生成了一只狗

文章目录学习unity一些基操..位置坐标系父子关系常用工具导入游戏模型资源商店创建地形为地形化妆--纹理绘制脚本组件脚本的生命周期脚本执行顺序标签和图层的作用向量的运算和意义欧拉角和四元数-常用C#预制体-类与对象Debug的使用C#物体属性使用游戏时间使用-C#计时器的设置路…

无需手动编码的XGBoost中的分类特征

无需手动编码的XGBoost中的分类特征 XGBoost 是一种基于梯度提升的基于决策树的集成机器学习算法。 然而,直到最近,它还没有原生支持分类数据。 在将分类特征用于训练或推理之前,必须对其进行手动编码。 在序数类别的情况下,例如…

视觉SLAM十四讲ch4 李群和李代数笔记

视觉SLAM十四讲ch4 李群和李代数视觉SLAM十四讲ch4 李群和李代数李群和李代数基础指数映射与对数映射李代数求导与扰动模型视觉SLAM十四讲ch4 李群和李代数 李群和李代数基础 可以将SO3看成旋转矩阵集合,SE3看成变换矩阵集合 李代数是6个自由度的向量空间…

qsort函数的应用以及模拟实现

前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言进阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:介绍库函数qsort函数的模拟实现和应用 金句分享: ✨追…

Docker之部署Mysql

通过docker对Mysql进行部署。 如果没有部署过docker,看我之前写的目录拉取镜像运行容器开放端口拉取镜像 前往dockerHub官网地址,搜索mysql。 找到要拉取的镜像版本,在tag下找到版本。 拉取mysql镜像,不指定版本数&#xff0c…

04 Android基础--RelativeLayout

04 Android基础--RelativeLayout什么是RelativeLayout?RelativeLayout的常见用法:什么是RelativeLayout? 相对布局(RelativeLayout)是一种根据父容器和兄弟控件作为参照来确定控件位置的布局方式。 根据父容器定位 在相…

JavaWeb--RequestResponse

Request&Response1 Request和Response的概述2 Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 小结2.2.5 获取请求参数的通用方式2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…