阿里云 OSS文件存储挂到云服务器ESC文件系统中

摘要:
ossfs能让您在Linux系统中,将对象存储OSS的存储空间挂载到本地文件系统中,您能够像操作本地文件一样操作OSS的对象,实现数据的共享。编辑已上传文件会导致文件被重新上传。元数据操作,例如listdirectory,因为需要远程访问OSS服务器,所以性能较差。重命名文件/文件夹可能会出错。使用OSS的multipart功能上传大文件。支持MD5校验,保证数据完整性。将Bucket名称以及具有此Bucket访问权限的AccessKeyId/AccessKeySecret信息存放在/etc/passwd-ossfs文件中。

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

使用限制

ossfs使用有以下限制:
  • 不支持挂载归档型Bucket。
  • 编辑已上传文件会导致文件被重新上传。
  • 元数据操作,例如list directory,因为需要远程访问OSS服务器,所以性能较差。
  • 重命名文件/文件夹可能会出错。若操作失败,可能会导致数据不一致。
  • 不适合高并发读/写的场景。
  • 多个客户端挂载同一个OSS Bucket时,数据一致性由您自行维护。例如,合理规划文件使用时间,避免出现多个客户端写同一个文件的情况。
  • 不支持hard link。

主要功能

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

  • 支持POSIX 文件系统的大部分功能,包括文件读写、目录、链接操作、权限、uid/gid、以及扩展属性(extended attributes)。
  • 使用OSS的multipart功能上传大文件。
  • 支持MD5校验,保证数据完整性。

下载地址

Linux发行版下载
Ubuntu 18.04 (x64)ossfs_1.80.6_ubuntu18.04_amd64.deb
Ubuntu 16.04 (x64)ossfs_1.80.6_ubuntu16.04_amd64.deb
Ubuntu 14.04 (x64)ossfs_1.80.6_ubuntu14.04_amd64.deb
CentOS 7.0 (x64)ossfs_1.80.6_centos7.0_x86_64.rpm
CentOS 6.5 (x64)ossfs_1.80.6_centos6.5_x86_64.rpm

快速安装

由于低版本的Linux系统内核版本比较低,ossfs进程在运行过程中容易出现掉线或者其他问题。因此建议您将操作系统升级到CentOS 7.0或者Ubuntu 14.04及以上版本。

1.下载安装包,以下载CentOS 7.0 (x64)版本为例:

wget http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm

2.安装ossfs。

Ubuntu系统的安装命令:

sudo apt-getupdate
sudo apt-get install gdebi-core
sudo gdebi your_ossfs_package

CentOS6.5及以上系统版本的安装命令:

sudo yum localinstall your_ossfs_package

说明对于使用yum安装rpm包的客户端,如果客户端节点网络环境特殊,无法直接用yum下载依赖包。可以在网络正常的、相同版本操作系统的节点上,使用yum下载依赖包并拷贝到网络特殊的节点。例如,ossfs需要依赖fuse 2.8.4以上版本,可使用如下命令,下载yum源中最新的fuse到本地:

sudo yum install --downloadonly --downloaddir=./ fuse

如果需要下载其他依赖包,则将fuse换成对应包的名称。

CentOS5系统版本的安装命令:

sudo yum localinstall your_ossfs_package --nogpgcheck

3.配置账号访问信息。

将Bucket名称以及具有此Bucket访问权限的AccessKeyId/AccessKeySecret信息存放在/etc/passwd-ossfs文件中。注意这个文件的权限必须正确设置,建议设为640。
阿里云 OSS文件存储挂到云服务器ESC文件系统中第1张

阿里云 OSS文件存储挂到云服务器ESC文件系统中第2张

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs

4.将Bucket挂载到指定目录。

ossfs my-bucket my-mount-point -ourl=my-oss-endpoint

挂载示例:将杭州地域,名称为bucket-test的Bucket挂载到/tmp/ossfs目录下。

echo bucket-test:LTAIbZcdVCmQ****:MOk8x0y9hxQ31coh7A5e2MZEUz**** > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
mkdir /tmp/ossfs
ossfs bucket-test /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com

阿里云 OSS文件存储挂到云服务器ESC文件系统中第3张

5.如果您不希望继续挂载此Bucket,您可以将其卸载。

fusermount -u /tmp/ossfs

免责声明:文章转载自《阿里云 OSS文件存储挂到云服务器ESC文件系统中》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇web.config配置详细说明Ubuntu的NTP同步时钟设置方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【安卓开发】为什么不能往Android的Application对象里存储数据

在一个App里面总有一些数据需要在多个地方用到。这些数据可能是一个 session token,一次费时计算的结果等。通常为了避免activity之间传递对象的开销 ,这些数据一般都会保存到持久化存储里面。 有人建议将这些数据保存到 Application 对象里面,这样这些数据对所有应用内的activities可用。这种方法简单,优雅而且……完全扯淡。...

软件开发版本管理阶段描述

目录: 软件阶段 版本命名规范 补充 软件阶段 软件开发过程中,势必会有开发、测试、发行各阶段的版本管理以及产品命名规范的依据,各公司虽有不一,但都大同小异。 一般软件发行版本有:Alpha版 -> Beta版 -> RC版 -> Release版 ・ Alpha版本: 内部发行版。首先由开发者进行功能自测试,检验产品功能的完整性、...

UML建模三个工具: StarUML ,Telelogic TAU 和 Rose

UML建模软件目前用的主要有3种: 商业版本:Telelogic TAU 和 RationalRose开源版本:StarUML Telelogic TAU与Rational Rose的功能很强,但是需要买License。 StarUML就是希望能提供和TAU/Rose一样功能的开源版本。 目前使用起来还是不错的。 能熟练使用其中一个是软件设计人员的基本功...

前端—HTML

前端 1.什么是前端? 任何直接能够跟用户打交道的交互界面都可以称之为前端 2.为什么要学前端? 因为我们是Python全栈开发 Web服务本质 importsocket sk =socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen(5) whileTrue: con...

DataSanp App与Rest, WebBroker App的区别

DataSanp App与Rest, WebBroker App的区别  datasnap server :选择这一项,我们得到的将是一个独立EXE的三层服务器应用程序(TCP及HTTP两种模式)          Tokyo 10.2.2,加上HTTPS,共3中通讯协议。     ServerContainerUnit1、 TServerContaine...

MATLAB相关快捷键以及常用函数

MATLAB快捷键大全 F1帮助F2改名F3搜索 F4地址 F5刷新F6切换F10菜单CTRL+A全选CTRL+C复制CTRL+X剪切CTRL+V粘贴CTRL+Z撤消CTRL+O打开SHIFT+DELETE永久删除DELETE删除ALT+ENTER属性ALT+F4关闭CTRL+F4关闭ALT+TAB切换ALT+ESC切换ALT+空格键窗口菜单CTRL+ES...