阿里OSS-OSSFS
简介
OSSFS就以把OSS作为文件系统的一部分,能让你在linux系统中把OSS bucket挂载到本地文件系统中,实现数据的共享。
主要功能
ossfs 基于s3fs 构建,具有s3fs 的全部功能。主要功能包括:
- 支持POSIX 文件系统的大部分功能,包括文件读写,目录,链接操作,权限,uid/gid,以及扩展属性(extended attributes)
- 通过OSS 的multipart 功能上传大文件。
- MD5 校验保证数据完整性。
局限性
ossfs提供的功能和性能和本地文件系统相比,具有一些局限性。具体包括:
- 随机或者追加写文件会导致整个文件的重写。
- 元数据操作,例如list directory,性能较差,因为需要远程访问OSS服务器。
- 文件/文件夹的rename操作不是原子的。
- 多个客户端挂载同一个OSS bucket时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等等。
- 不支持hard link。
- 不适合用在高并发读/写的场景,这样会让系统的load升高。
安装包
centos 7
ossfs_1.80.2_centos7.0_x86_64.rpm
centos 6.5
ossfs_1.80.2_centos6.5_x86_64.rpm
安装方法
先看一下有没有安装fuse,如果有先删除了
yum remove fuse -y
把安装包传的服务器然后直接安装,以centos 7为例
yum -y localinstall ossfs_1..2_centos7.0_x86_64.rpm
配置
设置bucket name 和 AccessKeyId/Secret信息,将其存放在/etc/passwd-ossfs 文件中,注意这个文件的权限必须正确设置,建议设为640。
echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod /etc/passwd-ossfs
这里涉及到阿里的accessKeyId/Secret的知识。为了安全我们应该去新建一个RAM然后生成这个key。并对这个RAM进行限制。这样即使这个key被泄露,也不会对其它bucket造成危险。
挂载
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint
可以把这句加到/etc/rc.local中
卸载
fusermount -u /tmp/ossfs
实验过程
这里出现的信息均不是真实。
[root@myhost ~]# yum remove fuse
Loaded plugins: fastestmirror
No Match for argument: fuse
No Packages marked for removal
[root@myhost ~]# yum localinstall ossfs_1..2_centos7.0_x86_64.rpm
Loaded plugins: fastestmirror
Examining ossfs_1..2_centos7.0_x86_64.rpm: ossfs-1.80.-.x86_64
Marking ossfs_1..2_centos7.0_x86_64.rpm to be installed
Resolving Dependencies
--> Running transaction check
---> Package ossfs.x86_64 :1.80.- will be installed
--> Processing Dependency: fuse >= 2.8. for package: ossfs-1.80.-.x86_64
Loading mirror speeds from cached hostfile
--> Processing Dependency: fuse-libs >= 2.8. for package: ossfs-1.80.-.x86_64
--> Running transaction check
---> Package fuse.x86_64 :2.9.-.el7 will be installed
---> Package fuse-libs.x86_64 :2.9.-.el7 will be installed
--> Finished Dependency Resolution Dependencies Resolved ===========================================================================================================================================================================================
Package Arch Version Repository Size
===========================================================================================================================================================================================
Installing:
ossfs x86_64 1.80.- /ossfs_1..2_centos7.0_x86_64 4.0 M
Installing for dependencies:
fuse x86_64 2.9.-.el7 base k
fuse-libs x86_64 2.9.-.el7 base k Transaction Summary
===========================================================================================================================================================================================
Install Package (+ Dependent packages) Total size: 4.2 M
Total download size: k
Installed size: 4.5 M
Is this ok [y/d/N]: y
Downloading packages:
(/): fuse-2.9.-.el7.x86_64.rpm | kB ::
(/): fuse-libs-2.9.-.el7.x86_64.rpm | kB ::
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total kB/s | kB ::
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : fuse-libs-2.9.-.el7.x86_64 /
Installing : fuse-2.9.-.el7.x86_64 /
Installing : ossfs-1.80.-.x86_64 /
Verifying : ossfs-1.80.-.x86_64 /
Verifying : fuse-2.9.-.el7.x86_64 /
Verifying : fuse-libs-2.9.-.el7.x86_64 / Installed:
ossfs.x86_64 :1.80.- Dependency Installed:
fuse.x86_64 :2.9.-.el7 fuse-libs.x86_64 :2.9.-.el7 Complete! [root@myhost ~]# echo mybuckey:JMIdhjrtutkGtjjr:eFAC8jinzajflsietagv6JoOwfXbFN > /etc/passwd-ossfs
[root@myhost ~]# chmod /etc/passwd-ossfs
[root@myhost ~]# ossfs mybuckey /data1 -ourl=oss-cn-shenzhen-internal.aliyuncs.com
[root@myhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 40G .0G 36G % /
ossfs 256T 256T % /data1
阿里OSS-OSSFS的更多相关文章
- VUE-利用OSS BrowserJS-SDK实现阿里OSS前端上传
项目中遇到利用阿里OSS上传文件,线上很多示例用到了各种SDK,却没有看到OSS BrowserJS-SDK相关示例,鉴于脑子不好使,记一下. 封装upload相关组件  使用npm安装SDK的开发 ...
- 微信公众号通过图片选取接口上传到阿里oss
前言 之前写过一篇微信JS-SDK的使用方法,可进行参考 https://www.cnblogs.com/fozero/p/10256862.html 配置并调用公众号接口权限 1.配置权限微信公众号 ...
- ThinkPHP 提供Auth 权限管理、支付宝、微信支付、阿里oss、友盟推送、融云即时通讯、云通讯短信、Email、Excel、PDF 等等
多功能 THinkPHP 开源框架 项目简介:使用 THinkPHP 开发项目的过程中把一些常用的功能或者第三方 sdk 整合好,开源供亲们参考,如 Auth 权限管理.支付宝.微信支付.阿里oss. ...
- 小程序--->小程序图片上传阿里OSS使用方法
小程序图片上传阿里OSS使用方法 首先看下参考文档 ( http://blog.csdn.net/qq_38125123/article/details/73870667) 这里只将一些运用过程中遇到 ...
- java接受安卓及ios App上传的图片,并保存到阿里OSS
做后台的时候,写了两个方法,分别用来获取安卓和苹果IOS端上传的头像,保存到阿里云OSS图片存储服务器上.(SMM框架) 安卓及H5版本: /** * 上传用户头像 */ @RequestMappin ...
- 关于使用阿里OSS服务搭建图床和使用PicGO上传图片到图床
最近喜欢上了使用markdown来写博客,可是markdown的图片却是本地的,如果我要发博客,那么又要重复截图了.于是干脆弄了个图床,本地截图的时候上传到图床,markdown中的代码结果也是图床里 ...
- 通过阿里OSS文件服务返回的URL获取文件流下载
我们都知道将文件上传到阿里的OSS文件服务上后,可以通过generatePresignedUrl(bucketName, key, expiration)方法获取该文件的防问路径,但是当我们知道该文件 ...
- 阿里oss上传图片react组件alioss-react,vue组件alioss-vue (不用我先收藏着,后端看下前端处理方法)
1.介绍 最近开发了一个项目,其中需要一个上传图片到阿里云的 oss 上面,就是上传图片到阿里云的 oss 上面. 因为之前开发过 vue 的阿里云 oss 上传,所以直接复制粘 vue 的组件. 因 ...
- 使用laravel-amdin调用文件上传阿里oss注意点
开发者工作中,项目代码开发提高效率,往往会使用一些github上面的一些扩展类,这里举例说明一下遇到的情况. 一.使用laravel-admin框架开发管理后台文件或者图片上传 情景:运营或者产品通过 ...
- aliyun-oss 通过redis来实现跨域上传图片到阿里 OSS并回显进度条
public class PutObjectProgressListener implements ProgressListener { private long bytesWritte ...
随机推荐
- 关于CSS3 animation 属性在ie edge浏览器中不能工作
我想要给div边框加一个闪烁,所以我将css中设置如下 给想要闪烁的div加上blink类 这样在firefox,chrome下是正常显示的,但是在ie下box-shadow属性不能被正常的展现 后 ...
- DB-SQLServer:SQLServer
ylbtech--DB-SQLServer:SQLServer SQL是英文Structured Query Language的缩写,意思为结构化查询语言.SQL语言的主要功能就是同各种数据库建立联系 ...
- phpStrom编辑器 通过 git 提交代码到 gitlab
前提: 1.已经成功安装 git: 2.将 phpstrom 和 gitlab 连接起来.参考此文章 一.在 phpstrom 中打开需要推送的项目 二.将 ‘工作区’ 代码 添加到 ‘暂存区’ 三. ...
- 【DM642学习笔记二】dsp基础实验:发光二级管的显示 led.c
1,OSDFPGA配置一个专用的8位寄存器控制指示灯亮灭,访问地址为90080017h,由电路图可知低电平点亮. 2,程序运行时,可直接editmemory.即修改90080017h地址的值(可在Ed ...
- 使用MySQL会话变量实现窗口函数
一.MySQL窗口函数 (1) 序号函数 row_number()在相等的两条记录上随机排序,但序号按照1.2递增,然后后面的序号继续递增为3,中间不会产生序号间隙: rank()/dense_ran ...
- vue之this.$route.params和this.$route.query的区别
1.this.$route.query的使用 A.传参数: this.$router.push({ path: '/monitor', query:{ ...
- Winform 分页
1.图列展示 2.分页控件代码 Paging.Designer.cs partial class Paging { /// <summary> /// 必需的设计器变量. /// < ...
- centos apache安装oracle扩展
参考网址: http://blog.csdn.net/a82168506/article/details/11763989 步骤如下: 下载安装包,下载地址.(我下载的11.1版本) http://w ...
- WPF学习笔记-用Expression Blend制作自定义按钮
1.从Blend工具箱中添加一个Button,按住shift,将尺寸调整为125*125; 2.右键点击此按钮,选择Edit control parts(template)>Edit a cop ...
- Java问题解读系列之基础相关---含继承时的执行顺序
今天来研究一下含继承.静态成员.非静态成员时Java程序的执行顺序: 一.不含继承,含有静态变量.静态代码块 创建一个子类,该类包含静态变量.静态代码块.静态方法.构造方法 /** * @create ...