首页 IT正文

浅谈cos fuse

admin IT 2017-05-08 1061 0

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升高。


作者说

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


本文标题:浅谈cos fuse
本文链接:https://xl.cndyun.com/post/84.html
作者授权:除特别说明外,本文由 admin 原创编译并授权 小龙的博客 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
«    2024年3月    »
123
45678910
11121314151617
18192021222324
25262728293031

分享:

支付宝

微信