最近学习了使用如何使用天翼云对象存储挂载,通过FUSE实现对将对象存储挂载进用户的空间文件系统。

     用户空间文件系统Filesystem in Userspace,简称FUSE)是一个面向类Unix计算机操作系统的软件接口,它使无特权的用户能够无需编辑内核代码而创建自己的文件系统。当前Linux通过内核模块对此进行支持。一些文件系统如ZFS、glusterfs和lustre使用FUSE实现。Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。

这里我们关注的是如何挂载OOS,对于在云上创建OOS一笔带过,介绍主要流程和挂载思路,并分别介绍两种自动挂载方案。

一、天翼云OOS挂载主要流程

1、在天翼云oos中创建容器桶,创建accesskey,记录下容器名(桶名称)、endpoint、ak及sk信息

2、由于目前不是所有区域都支持oos,默认endpoint指向贵州节点(oos-cn.ctyunapi.cn)

其他地域的endpoint列表如下。

地区 OOS   API Endpoint
北京2 oos-bj2.ctyunapi.cn
内蒙 oos-nm2.ctyunapi.cn
长沙 oos-hncs.ctyunapi.cn
西安 oos-snxa.ctyunapi.cn
杭州 oos-hz.ctyunapi.cn
江苏 oos-js.ctyunapi.cn
广州 oos-gz.ctyunapi.cn
北京 oos-hq-bj.ctyunapi.cn
上海 oos-hq-sh.ctyunapi.cn

3、进入客户主机系统安装fuse、编译安装环境及git

4、通过git克隆s3fs-fuse到本地编译安装

5、尝试手工挂载判断前面的桶名、endpoint、ak、sk等信息是否有误

6、设置自动挂载,两种方式(/etc/rc.local或/etc/fstab)

二、下载安装s3fs-fuse到本地的详细命令

yum install -y automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
git clone https://github.com/s3fs-fuse/s3fs-fuse.git
cd s3fs-fuse
./autogen.sh && ./configure && make && make install

第一行安装系统所需的编译环境与fuse支持,第二行通过git克隆s3fs-fuse的源码到本地目录,第三行进入本地克隆好的目录,第四行通过四条组合命令完成本地编译安装。

还有一种非常简单的安装方式,通过yum安装

yum install epel-release && yum install s3fs-fuse -y

一条命令搞定s3fs-fuse的安装。

三、了解s3fs-fuse的关键信息

s3fs允许Linux和macOS通过FUSE挂载S3存储桶。s3fs保留文件的本机对象格式,与Amazon S3,Google Cloud Storage和其他基于S3的对象存储兼容,天翼云的对象存储就是兼容S3的。

s3fs密码文件的默认位置:

  • 使用用户主目录中的.passwd-s3fs文件(即$ {HOME} /。passwd-s3fs)
  • 使用系统范围的/ etc / passwd-s3fs文件

在文件中输入您的凭据${HOME}/.passwd-s3fs并设置仅所有者权限:

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
chmod 600 ${HOME}/.passwd-s3fs比如当前你使用root用户登陆,就在/root/下建立一个密码文件/root/.passwd-s3fs即可,文件采用纯文本形式,格式是ak:sk

四、手工挂载命令

桶名:mybucket

endpoint:oos-cn.ctyunapi.cn

ak:2d19d9ef0904a4d5accb

sk:94fd08d6517d43393117ae9ba93da8eb452df431

第一步生成用户认证文件

echo "2d19d9ef0904a4d5accb:94fd08d6517d43393117ae9ba93da8eb452df431" > /root/.password-s3fs && chmod 600 /root/.password-s3fs

第二步生成挂载目录

mkdir /home/bucket

第三步完成命令行挂载

s3fs mybucket /home/bucket -o passwd_file=/root/.passwd-s3fs -o url=http://oos-cn.ctyunapi.cn  -o allow_other

五、自动挂载两种方式

1、将挂载命令行加入/etc/rc.local实现开机自动挂载

echo "s3fs mybucket /home/bucket -o passwd_file=/root/.passwd-s3fs -o url=http://oos-cn.ctyunapi.cn" >> /etc/rc.local

注意检查/etc/rc.local必须要有可执行权限。

2、利用/etc/fstab实现磁盘自动挂载

第一步编辑/etc/fstab,最后一行加入下面命令

s3fs#mybucket /home/bucket  fuse _netdev,allow_other,use_path_request_style,url=http://oos-cn.ctyunapi.cn/ 0 0

第二步挂载

mount -a

六、debug挂载信息

s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o dbglevel=info -f -o curldbg

七、s3fs参数使用说明

-o allow_other

本参数用于设置挂载目录可以被任意登陆服务器的用户使用,且可以将该挂载目录用于创建NFS/SMB共享。

-o umask=0

本参数用于设置挂载挂载后资源的访问权限,确保挂载后所有用户能够对挂载目录下资源具有访问权限。umask与chmod配套,当设置umask=0时对于文件权限为777,若需要设置权限为755则设置umask=022,以此类推配置所需权限

-o max_write

本参数用于设置vfs的上传块大小,默认值为4096,可将该数值设置为fuse所支持的最大值128k(即设置-o max_write=131072),以提升性能。

-o use_cache

使用内存作为缓存目录,而非本地磁盘作为cache将提升文件读写性能,即将该值设置为-o use_cache=/dev/shm。如果系统内存使用较高则建议另外挂载一个SSD盘作为缓存目录

-o enable_noobj_cache

使用本参数后,将减少s3fs发送的列举桶的请求,从而提升性能。

-o big writes

开启本参数后,内核会进行IO合并,对于大块读写,提升性能。

-o sigv2

缺省值为采用V4鉴权,使用V2鉴权效率更高,兼容性更好。

-o del_cache

文件使用完成后及时清理缓存中的数据。

天翼云应用之-对象存储挂载相关推荐

  1. 天翼云对象存储android实现,对象存储基础介绍(华为云、腾讯云、天翼云都提供对象存储服务)...

    什么是对象存储 面向对象存储(Object-Oriented Storage,OOS)是云服务提供商为客户提供的一种海量.弹性.高可用.高性价比的存储服务.您只需花极少的钱就可以获得一个几乎无限的存储 ...

  2. 基于天翼云OSS实现文件存储

    基于天翼云OOS实现文件存储 1.技术分析 2.实现详细步骤 3.实现代码 1.技术分析 因项目原因必须采用天翼云OOS,而天翼云OOS开发文档简直一团糟.本文将实现基于OOS文件上传功能,若有不足, ...

  3. java对接天翼云OOS实现文件存储

    java对接天翼云OOS实现文件存储 1. 注册天翼云账户.开通对象存储.创建容器 2. 获取AccessKeyID.SecretAccessKey 确定四个参数,在application.yml中填 ...

  4. 微信、QQ都在用的腾讯云EB级对象存储架构剖析

    背景:5月23-24日,以"焕启"为主题的腾讯"云+未来"峰会在广州召开,广东省各级政府机构领导.海内外业内学术专家.行业大咖及技术大牛等在现场共议云计算与数字 ...

  5. 阿里云国际站的对象存储oss与自建存储的区别

    对象存储oss是阿里云国际站的一个云产品,其功能是提供海量.安全可靠.低成本高持久的云存储服务.那么为什么要选择阿里云国际站的对象存储oss而不是自建存储,下面跟Unirech小编从几个方面来对比分析 ...

  6. 腾讯cos做文件服务器,将腾讯云COS对象存储挂载至腾讯云服务器实现大硬盘存储...

    老蒋在前面的文章中有介绍到腾讯云COS对象存储的用途还是比较大的,有我们常见的用来当做网盘使用,也可以将用来网站静态文件分离,同时还有可以作为数据同步备份.在这篇文章中,我还准备测试商家支持将COS挂 ...

  7. 一分钟了解阿里云产品:对象存储OSS概述

    阿里云的产品种类繁多,今天让我们一起来了解下对象存储(Object Storage Service,简称OSS)吧! 什么是对象存储呢? 简单来说,对象存储OSS是阿里云提供的海量.安全和高可靠的云存 ...

  8. 阿里云ACP云计算对象存储OSS例题

    应用场景,考法1:阿里云其他产品搭配使用OSS [单选题]A公司将最近两年的内部培训录像都保存在阿里云对象存储OSS中,以方便员工在需要的时候学习.随着智能手机的普及,很多员工希望通过手机来观看视顿, ...

  9. 华为云实战 之 对象存储的使用以及与腾讯云COS对比

    一.OBS是什么 OBS即对象存储服务(Object Storage Service),是一个基于对象的海量存储服务,为客户提供海量.安全.高可靠.低成本的数据存储能力,包括:创建.修改.删除桶,上传 ...

最新文章

  1. 计算机中音乐设备数字接口,一种计算机用声卡封存装置的制作方法
  2. 头秃,在线求名字:网易使用昵称交流,再也没有“哥,姐,总”
  3. CStringArray序列化处理
  4. spring IOC容器设计理念与核心注解的使用
  5. xheditor开源编辑器ajax上传功能的完善
  6. UVA - 1314 Hidden Password(最小表示法)
  7. 制作win10安装u盘_最简单的Win10系统安装U盘制作方法
  8. Colourshell:给 shell 命令着色
  9. 规范第三方支付易加大竞合关系
  10. NVIDIA-SMI
  11. 大小写字母c语言,C语言 大小写字母转换
  12. GPS与compass对比
  13. 132,怎样理解帝国和王朝的兴衰
  14. 如何修改电脑用户文件名
  15. php 国外手机号,国内外手机号码正则表达式
  16. 【渗透测试】CS DNS上线(DoH隧道+CS特征隐藏)
  17. Incorrect decimal value: ‘‘ for column ‘XXX‘ at row 1
  18. 基于stm32单片机的模拟IIC时序(附源码)
  19. 服务注册Service Registration
  20. 【python】打开网页和下载文件

热门文章

  1. Java基础学习记录(三)
  2. solidity之函数篇
  3. php表示一年,一个星期等时间,很好用,方便
  4. 探秘最新Linux内核中的自旋锁
  5. 基于Java的在线饮品销售系统的设计与实现
  6. 与Flash9的一次亲密接触!
  7. 二叉搜索树/二叉排序树/二叉查找树
  8. R语言机器学习mlr3:模型评价和比较
  9. 政务内网、 政务专网、政务外网的区别
  10. 在IIS中发布WebService后,测试出现HTTP错误400