基于OSSFS挂载阿里云OSS至本地使用
来源:互联网 发布:国语电影排行榜 知乎 编辑:程序博客网 时间:2024/06/12 01:51
概要:
局限性
ossfs提供的功能和性能和本地文件系统相比,具有一些局限性。具体包括:
- 随机或者追加写文件会导致整个文件的重写。
- 元数据操作,例如list directory,性能较差,因为需要远程访问oss服务器
- 文件/文件夹的rename操作不是原子的
- 多个客户端挂载同一个oss bucket时,依赖用户自行协调各个客户端的行为。例如避免多个客户端写同一个文件等等。
- 不支持hard link。
- 不适合用在高并发读/写的场景,这样会让系统的load升高
一、安装ossfs之前安装相应的依赖库:
Ubuntu 14.04:sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev \ libfuse-dev libssl-dev libxml2-dev make pkg-configCentOS 7.0:sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel \ fuse-devel make openssl-devel
安装ossfs源码,可以从github上获取
git clone https://github.com/aliyun/ossfs.gitcd ossfs./autogen.sh./configuremakesudo make install
二、配置相应文件
设置bucket name, access key/id信息,将其存放在/etc/passwd-ossfs 文件中, 注意这个文件的权限必须正确设置,建议设为640。
echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfschmod 640 /etc/passwd-ossfs
挂载oss相应的bucket到本地挂载点
ossfs my-bucket my-mount-point -ourl=my-oss-endpoint
example:将my-bucket这个bucket挂载到/tmp/ossfs目录下,AccessKeyId是faint, AccessKeySecret是123,oss endpoint是http://oss-cn-hangzhou.aliyuncs.comecho my-bucket:faint:123 > /etc/passwd-ossfschmod 640 /etc/passwd-ossfsmkdir /tmp/ossfsossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com
卸载oss
卸载bucket:umount /tmp/ossfs # root userfusermount -u /tmp/ossfs # non-root user
遇到的问题:
ossfs test /ossfsfile -ourl=http://oss-cn-hangzhou.aliyuncs.com[ERR] curl.cpp:CheckBucket(2625): Check bucket failed, OSS response: <?xml version="1.0" encoding="UTF-8"?><Error> <Code>RequestTimeTooSkewed</Code> <Message>The difference between the request time and the current time is too large.</Message> <RequestId>58F6D89ECBB6F0795271EEBA</RequestId> <HostId>test.oss-cn-hangzhou.aliyuncs.com</HostId> <MaxAllowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds> <RequestTime>2017-04-19T04:21:16.000Z</RequestTime> <ServerTime>2017-04-19T03:25:18.000Z</ServerTime></Error>[ERR] curl.cpp:CheckBucket(2625): Check bucket failed, OSS response: <?xml version="1.0" encoding="UTF-8"?><Error> <Code>RequestTimeTooSkewed</Code> <Message>The difference between the request time and the current time is too large.</Message> <RequestId>58F6D89ECBB6F0795271EEC1</RequestId> <HostId>test.oss-cn-hangzhou.aliyuncs.com</HostId> <MaxAllowedSkewMilliseconds>900000</MaxAllowedSkewMilliseconds> <RequestTime>2017-04-19T04:21:16.000Z</RequestTime> <ServerTime>2017-04-19T03:25:18.000Z</ServerTime></Error>[CRT] s3fs.cpp:s3fs_check_service(3690): invalid credentials - result of checking service.ossfs: Check OSS service failed. Run with -f option for more details.
上面的错误最主要的一句话为:
The difference between the request time and the current time is too large.
意思是请求的时间和当前的时间差异太大
尝试查看本地时间
[root@storm1 tmp]# dateWed Apr 19 16:47:47 CST 2017
果然差距一个小时 只需更新同步时间即可
ntpdate cn.pool.ntp.org19 Apr 15:52:39 ntpdate[71442]: step time server 51.15.41.135 offset -3357.358058 sec
再次挂载
ossfs test /ossfsfile -ourl=http://oss-cn-hangzhou.aliyuncs.com
在遇到错误的时候尝试添加debug信息日志
ossfs test /ossfsfile -ourl=http://oss-cn-hangzhou.aliyuncs.com -o dbglevel=debug -f -d > /tmp/fs.log 2>&1
查看日志信息,并解决。
0 0
- 基于OSSFS挂载阿里云OSS至本地使用
- 阿里云oss的ossfs 补充说明
- 对象存储oss挂载工具ossfs的使用
- centos7挂载阿里oss到本地
- 阿里云ossfs同步问题
- 阿里云OSS存储基于JAVA基本使用(一)
- 阿里云OSS使用-Python
- aliyun oss 客户端ossfs安装
- 阿里云 OSS开发使用文档
- 阿里云oss的jssdk 使用
- 阿里云ECS使用cloudfs4oss挂载OSS
- linux下使用阿里云OSS
- 将阿里 OSS 挂载到本地或云服务器
- ossfs挂载到本地磁盘
- 阿里云oss挂载到本地及oss文件的上线记录
- 构建基于阿里云OSS文件上传服务
- 基于阿里云OSS的数据库同步问题
- Springboot 上传文件至阿里云OSS
- css盒模型
- python3+PyQt5 自定义视图
- laravel5.4 ftp新建目录出错
- java并发包:future模式
- 合并石子java
- 基于OSSFS挂载阿里云OSS至本地使用
- C++读取配置文件,重点是读取XML配置文件
- Python基础入门(三)- Python程序怎样运行
- javaIO file类
- 党的十八大光辉照亮了北京大学校园
- Linux误删C基本运行库libc.so.6急救方法
- 199. Binary Tree Right Side View | 从右边看二叉树得到的集合
- Lumen中使用JWT-Auth刷新token实现方式
- 欢迎使用CSDN-markdown编辑器