当前位置:首页 > IT > 正文内容

浅谈cos fuse

admin8年前 (2017-05-08)IT1203

QQ截图20170508071901.png

对象存储(Cloud Object Storage)是面向企业和个人开发者提供的高可用,高稳定,强安全的云端存储服务。可以将任意数量和形式的非结构化数据放入COS,并在其中实现数据的管理和处理。COS支持标准的Restful API接口,您可以快速上手使用,按实际使用量计费,无最低使用限制。


COS-Fuse工具最近更新时间:

2017-04-20 15:28:28

f

简介

COS-Fuse 能让您在 Linux 系统中把 Tencent COS bucket 挂载到本地文件 系统中,您能够便捷的通过本地文件系统操作 COS 上的对象,实现数据的共享。

功能

COS-Fuse 基于s3fs 构建,具有 s3fs 的全部功能。主要功能包括:

  • 支持 POSIX 文件系统的大部分功能,包括文件读写,目录,链接操作,权限,uid/gid。

  • 通过 COS 的 multipart 功能上传大文件。

  • MD5 校验保证数据完整性。

使用环境

系统环境

Linux

使用方法

获取程序包

当前版本:COSFS-V4.2.1
GitHub下载地址
本地下载地址

编译安装

安装依赖库

如果没有找到对应的安装包,您也可以自行编译安装。编译前请先安装下列依赖库:
Ubuntu 14.04:

sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev 
                     libfuse-dev libssl-dev libxml2-dev make pkg-config

CentOS 7.0:

sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel 
                 fuse-devel make openssl-devel

安装源码

然后您可以在github上下载源码并编译安装:

git clone https://github.com/XXX/cosfs.gitcd cosfs./autogen.sh./configure
make
sudo make install

配置运行

设置 bucket name, access key/id 信息,将其存放在/etc/passwd-cosfs 文件中, 注意这个文件的权限必须正确设置,建议设为640。

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-cosfschmod 640 /etc/passwd-cosfs

将 cos bucket mount 到指定目录,注意 需要在 bucke 前面指定 appid。

cosfs my-appid:my-bucket my-mount-point -ourl=my-cos-endpoint

示例

将 my-bucket 这个 bucket 挂载到 /tmp/cosfs 目录下,AccessKeyId 是 faint, AccessKeySecret 是 123,cos endpoint 是 http://cn-south.myqcloud.com cn-south 对应华南广州地域 cn-north 对应华北天津地域 cn-east 对应华东上海地域。

echo my-bucket:faint:123 > /etc/passwd-cosfschmod 640 /etc/passwd-cosfsmkdir /tmp/cosfs
cosfs appid:my-bucket /tmp/cosfs -ourl=http://cn-south.myqcloud.com -odbglevel=info -ouse_cache=/path/to/local_cache

说明:-ouse_cache 指定了使用本地cache来缓存临时文件,进一步提高性能,如果不需要本地cache或者本地磁盘容量有限,可不指定该选项。

卸载

卸载 bucket:

fusermount -u /tmp/cosfs # non-root user

常见问题

局限性

COS-Fuse 提供的功能和性能和本地文件系统相比,具有一些局限性。具体包括:

  • 随机或者追加写文件会导致整个文件的重写。

  • 元数据操作,例如 list directory ,性能较差,因为需要远程访问COS服务器。

  • 文件/文件夹的 rename 操作不是原子的。

  • 多个客户端挂载同一个 COS bucket 时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等等。

  • 不支持 hard link 。

  • 不适合用在高并发读/写的场景,这样会让系统的load升高。


作者说

目前还在升级中,遇到好多问题,比如挂载后无法同步上传等,正在解决中,我将及时更新分享经验。


扫描二维码推送至手机访问。

版权声明:本文由小龙的博客发布,如需转载请注明出处。

本文链接:https://xl.cndyun.com/post/84.html

“浅谈cos fuse” 的相关文章

如何快速部署国人开源的 Java 博客系统 Tale

如何快速部署国人开源的 Java 博客系统 Tale

如何快速部署国人开源的 Java 博客系统 Tale转载自腾讯云  作者:宋秉金除了闷头专研技术之外,程序员还需要不断地写作进行技术积累,写博客是其中最重要的方式之一。商业博客平台不少,但是更符合程序员背景的方案,是自己开发一个博客平台或者使用开源的博客平台。开源的博客平台多如牛毛,而且不...

小龙的博客全球节点访问

小龙的博客全球节点访问

小龙的博客全球节点访问华东华北日本美东新加坡华南香港中东欧洲美西澳大利亚一起学习,一起进步!...

手动建站(Windows环境)

手动建站(Windows环境)

手动建站(Windows环境)更新时间:2016-11-23 16:28:41  本节介绍如何使用阿里云镜像,一键部署 Web 环境,包括安装 IIS 组件(不包括 FTP 组件)、PHP 环境、重定向 Rewrite、MySQL、phpwind。该示例不需要更换系统盘。部署之前,请确保您...

Linux软件源、内核升级方法

【CentOS 系列用户】1)yum clean all && yum makecache,更新软件源2)yum update kernel gblic -y,更新当前内核版本3)reboot,重启生效4)uname -r,检查当前版本是否为上述【安全版本】,如果是,则说明修复成功。...

CentOS 系统执行 yum update 更新不升级系统内核

CentOS 系统执行 yum update 更新不升级系统内核

针对一般业务场景,建议不要自行升内核(涉及到内核存在重大安全漏洞场景除外)。如何在进行系统软件更新操作时,剔除系统内核的升级。本文对此进行简要说明。这里以 CentOS 6.5 为例来进行说明:1、首先打开 /etc/yum.conf 文件。2、然后在 [main] 后面加入以下两行代码,如下图所示...

"烂火锅"域名收入囊中

"烂火锅"域名收入囊中

站长小龙是个十足的吃货。去年在重庆吃过了朱胖子烂火锅之后,就对“烂火锅”“耿耿于怀”在重庆购下了lanhuoguo.cn当时lanhuoguo.com已经被注册了,联系当时的所有者也谈不拢价格,2017年7月19日查到该域名即将被删除,于是完成抢注,至此获得全套烂火锅域名...