最全对象存储(云盘)挂载本地主机或服务器

img

1.对象存储介绍

1.1 分类

分布式存储的应用场景相对于其存储接口,现在流行分为三种:
块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,块存储一般体现形式是卷或者硬盘(比如windows里面看到的c盘),数据是按字节来访问的,对于块存储而言,对里面存的数据内容和格式是完全一无所知的。可以简单的理解为玉米粒
文件存储: 通常意义是支持POSIX接口,它跟传统的文件系统如Ext4是一个类型的,但区别在于分布式存储提供了并行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存储的接口),但是有时候又会把GFS,HDFS这种非POSIX接口的类文件存储接口归入此类。可以简单的理解为数据像玉米粒一样组成玉米棒子,再对应到不同的玉米杆上,要找到某个玉米粒,先找到玉米杆,再找到玉米棒子,然后根据玉米粒在玉米棒子上的位置找到它。
对象存储: 也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他扩展,如七牛、腾讯cos、阿里oss、亚马逊S3。可以简单的理解为数据的玉米粒被做成了玉米罐头,每个玉米罐头都有一个唯一出厂号,但是买卖罐头,都一次是一盒为单位。

1.2 挂载协议

本章重点介绍基于S3FS协议的云存储挂载。

S3FS是Google开发的一款支持将对象存储中的bucket以文件形式导出的文件系统接口,兼容POSIX语法

S3FS基于FUSE开发的文件系统,允许Linux和MacOS以及windows挂载S3的存储桶到本地文件系统,并保持对象原来格式。

只要支持S3存储协议的都支持挂载,比如minio、华为云OBS、阿里云OSS等,特殊一点的腾讯cos自己整了个cosfs,类似于S3FS。

2.华为云OBS、亚马逊云S3等挂载Linux系统

2.1 安装s3fs

#centos 安装
yum -y install s3fs-fuse
#ubantu 安装
apt install s3fs

2.2 挂载明亮介绍

S3FS参数说明

命令: s3fs BUCKET:[/PATH] MOUNTPOINT [OPTION]…

OPTIONS:

  • passwd_file: 指定要使用的s3fs密码文件
  • url: 设置用于访问对象存储的 url
  • endpoint: 存储端点,默认值为us-east-1
  • umask: 为装载目录设置umask
  • no_check_certificate: 不检查认证
  • use_path_request_style: 使用路径请求样式(使用传统API调用),兼容支持与不支持S3的类似api的虚拟主机请求
    nonempty: 允许挂载点为非空目录
  • default_acl: 默认private,取值有private,public-read
  • ensure_diskfree: 设置磁盘可用空间。如果磁盘空闲空间小于此值,s3fs不适用磁盘空间
  • allow_other: 允许所有用户访问挂载点目录,可将该挂载点用于创建NFS共享
  • use_cache: 指定本地文件夹用作本地文件缓存。默认为空
  • del_cache: 在S3FS启动和退出时删除本地缓存
  • enable_noobj_cache: 减少s3fs发送的列举桶的请求,从而提升性能
  • dbglevel: 设置消息级别,默认关键(critical), 可以使用 info 进行调试输出
  • multireq_max: 列出对象的并行请求的最大数据
  • parallel_count: 上传大对象的并行请求数
  • retries: 默认值为5,传输失败重试次数
  • storage_class: 存储类(默认为标准) ,值有 standard,standard_ia , onezone_ia , reduced_redundancy
  • connect_timeout: 连接超时时间,默认为300秒
  • readwrite_timeout: 读写超时,默认值为60秒
  • max_stat_cache_size: 最大静态缓存大小,默认值为100000个条目(约40MB)
  • stat_cache_expire: 为stat缓存中条目指定过期时间(秒)。此过期时间表示自stat缓存后时间
  • -f : 前台输出执行信息
  • -d: 将dubug消息输出到 syslog中

2.3 创建访问密钥文件

#命令格式:echo [IAM用户访问密钥ID]:[ IAM用户访问密钥] >[密钥文件名] ( $ACCESS_KEY_ID:SECRET_ACCESS_KEY)
echo "username:password" > /data/s3fs/.passwd-s3fs 
# 设置密钥智能被当前用户访问
chmod 600 /data/s3fs/.passwd-s3fs

2.4 运行挂载命令

亚马逊云s3官网参考:https://aws.amazon.com/cn/blogs/china/s3fs-amazon-ec2-linux/
华为云官网OBS官网参考:https://support.huaweicloud.com/fstg-obs/obs_12_0008.html

#挂载 S3存储
# 命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o endpoint=[区域名]
s3fs prodfile-bucket /data/s3fs/s3mnt -o passwd_file=/data/s3fs/.passwd-s3fs -o url=http://s3.cn-north-1.amazonaws.com.cn -o endpoint=cn-north-1
#挂载华为云OBS
# 命令格式:s3fs [S3存储桶名] [本地目录名] -o passwd_file=[密钥文件名] -o endpoint=[区域名]
s3fs prodfile-bucket /data/s3fs/s3mnt -o passwd_file=/data/s3fs/.passwd-s3fs -o url=http://obs.cn-north-4.myhuaweicloud.com 
#挂载minio存储
# 需要加上 use_path_request_style进行兼容
s3fs prodfile-bucket /data/s3fs/s3mnt -o passwd_file=/data/s3fs/.passwd-s3fs -o url=http://www.mydomain.com:9001  -o use_path_request_style
# 可以使用 -o dbglevel=info -f  进行输出调试信息
s3fs prodfile-bucket /data/s3fs/s3mnt -o passwd_file=/data/s3fs/.passwd-s3fs -o url=http://www.mydomain.com:9001  -o use_path_request_style -o dbglevel=info -f

2.5 开机自动挂载

写入到 /etc/fstab

# 命令格式:s3fs#[S3存储桶名] [本地目录名] fuse _netdev,[options1],[optins2]... 0 0
s3fs prodfile-bucket /data/s3fs/s3mnt fuse _netdev,passwd_file=/data/s3fs/.passwd-s3fs,url=http://obs.cn-north-4.myhuaweicloud.com  0 0

3.阿里云oss等挂载MacOS系统

步骤基本上于Linux系统相同,命令略有差别

阿里云oss挂载官网参考:https://www.alibabacloud.com/help/zh/oss/developer-reference/mount-oss-buckets-to-local-file-systems-by-using-amazon-s3-protocols

3.1 装s3fs的命令

brew install --cask macfuse 
brew install gromgit/fuse/s3fs-mac

3.2 配置账号访问信息

#将具有Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在.passwd-s3fs文件中。
echo $ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs
#将.passwd-s3fs文件的权限设置为600。
chmod 600 ${HOME}/.passwd-s3fs

3.3 挂载存储空间

#创建挂载点
mkdir /tmp/oss-bucket
#将华东1(杭州)地域的examplebucket挂载至/tmp/oss-bucket。
s3fs examplebucket /tmp/oss-bucket -o passwd_file=$HOME/.passwd-s3fs -ourl=http://oss-cn-hangzhou.aliyuncs.com
#如果是与OSS同地域的ECS访问,您可以使用oss-cn-hangzhou-internal.aliyuncs.com的内网endpoint。

3.4 设置开机自动启动

  1. 创建开机自启动脚本
#vim oss-start.sh
#初始化需要先解绑定,否则会有意外的错误发生
umount -f /tmp/oss-bucket
nohup  s3fs -f examplebucket /tmp/oss-bucket -o passwd_file=$HOME/.passwd-s3fs -ourl=http://oss-cn-hangzhou.aliyuncs.com >/dev/null 2>&1 & 
#增加可执行权限
#chmod +x oss-start.sh
  1. 将启动脚本增加到启动项中
    img

4.阿里云oss、腾讯云cos等挂载windos系统

阿里云oss挂载官网参考:https://www.alibabacloud.com/help/zh/oss/developer-reference/mount-oss-buckets-to-local-file-systems-by-using-amazon-s3-protocols
腾讯云cos挂载官网参考:https://cloud.tencent.com/document/product/436/55241
windos系统挂载云盘需要借助Rclone,Rclone是一个命令行程序,用于管理云存储中的数据,支持在50多种云存储产品间同步数据。相对于s3fs和goofys,Rclone还支持将存储空间挂载到Windows系统上,作为本地磁盘共享数据。

4.1 Rclone特点

  • Rclone支持文件同步、文件传输、加密、挂载等。
  • Rclone支持多种系统,能让您将存储空间挂载到本地文件系统中,并通过多种协议提供服务
    关于Rclone的介绍,请参见Rclone。

4.2 安装Winfsp

以下载winfsp-1.12.22339版本为例。下载地址,请参见Winfsp

4.3 下载Rclone工具

以下载rclone-v1.60.1-windows-amd64版本为例。下载地址,请参见Rclone。Rclone是一个命令行程序,下载后,只需解压到本地任意目录即可,此处以解压到D:\Rclone目录为例。

4.4 配置Rclone。

  1. 将D:\Rclone添加到环境变量。

小提示:环境变量设置,在“我的电脑”->“属性”->“高级”->“环境变量”中增加或修改环境变量后,一般需重启系统才能使之生效

  1. 打开命令行窗口,输入rclone --version,然后按下Enter。返回rclone v1.60.1,表明Rclone已成功安装。

  2. 输入rclone config命令,然后按下Enter。

  3. 输入n,按下Enter,然后新建new remote。

  4. 以new remote命名为test-remote为例。

  5. 输入磁盘名称,例如oss-disk,然后按下Enter。

  6. 选择包含Amazon S3 Compliant Storage的选项,即输入5,然后按下Enter。

  7. 选择包含Alibaba Cloud Object Storage System (OSS)的选项,即输入2,然后按下Enter。

  8. 执行到env_auth>,按下Enter。

  9. 执行到access_key_id>,输入OSS的访问密钥AccessKey ID,然后按下Enter。

  10. 执行到 secret_access_key> ,输入OSS的访问密钥AccessKey Secret,然后按下Enter。

  11. 执行到endpoint>,输入访问OSS的endpoint,然后按下Enter。

  12. 以访问华东1(杭州)外网为例,endpoint填写为oss-cn-hangzhou.aliyuncs.com。如果是ECS上的Windows环境,您可以使用oss-cn-hangzhou-internal.aliyuncs.com的内网endpoint。

  13. 执行到acl>,选择Object读写权限。该选项仅对新上传的Object有效。您可以根据实际需求选择合适的读写权限。此处以选择default(私有权限)为例,即输入1,然后按下Enter。

  14. 执行到storage_class>,选择Object的存储类型。 此处以选择default(继承Bucket存储类型)为例,即输入1,然后按下Enter。

  15. 执行到Edit advanced config? (y/n) ,输入n,然后按下Enter。

  16. 输入q,完成所有配置。

4.5 挂载存储空间

以将examplebucket挂载到E:盘,并以D:\disk-cache路径作为缓存目录为例。

rclone mount oss-disk:/examplebucket E: --cache-dir D:\disk-cache --vfs-cache-mode writes

返回The service rclone has been started信息,表示挂载成功。此时,您还可以查看到examplebucket(E:)的磁盘。

4.6 设置开机启动

  1. 创建oss挂载启动脚本
#在E:\oss-cache\start-shell目录创建oss-start.bat,内容如下:
rclone mount oss-disk:/examplebucket E: --cache-dir D:\disk-cache --vfs-cache-mode writes
  1. 创建windows程序开机启动脚本
#创建start-oss-shell.bat文件
powershell.exe -command "& {Start-Process  -WindowStyle hidden  -FilePath 'E:\oss-cache\start-shell\oss-start.bat'}"
  1. 将开机启动脚本移动至powershell开机启动项下
    win+R输入 shell:startup,随后将start-oss-shell.bat文件放在该文件下
    关机重启即可测试

5.特殊项腾讯云cos挂载Linux系统

腾讯云cos挂载windows和oss、s3等基本类似,均是需要借助上述Rclone工具
但是cos挂载到linux系统时,与其他云盘就不一样了,很是特殊,使用s3fs挂载之后打不开cos,需要借助其特有的挂载工具cosfs才可以,真是格色…。

腾讯云cosfs官网参考:https://cloud.tencent.com/document/product/436/30743

5.1 cosfs安装

官网教程:https://cloud.tencent.com/document/product/436/6883
工具下载地址:https://github.com/tencentyun/cosfs/releases
下载与系统相匹配的rpm文件后安装

#CentOS7.0
sudo wget https://github.com/tencentyun/cosfs/releases/download/v1.0.21/cosfs-1.0.21-centos7.0.x86_64.rpm
sudo rpm -ivh cosfs-1.0.21-centos7.0.x86_64.rpm
#注意: 如果安装时报错,提示 conflicts with file from package fuse-libs-*,则加 --force 参数再次安装。
#查看是否安装完成
cosfs --help

5.2 配置账号访问信息

#将具有Bucket访问权限的AccessKey ID和AccessKey Secret信息存放在.passwd-s3fs文件中。
echo $ACCESS_KEY_ID:SECRET_ACCESS_KEY > /tmp/passwd-sts
#将.passwd-s3fs文件的权限设置为600。
chmod 600 /tmp/passwd-sts

5.3 执行挂载命令

#使用命令选项 -ocam_role=[role] 指定角色为 sts、-opasswd_file=[path] 指定密钥文件路径,示例如下:
cosfs examplebucket-1250000000 /mnt/cosfs -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=info -oallow_other -ocam_role=sts -opasswd_file=/tmp/passwd-sts

cosfs bucketName mount_address -ourl=http://cos.ap-beijing.myqcloud.com -odbglevel=info  -opasswd_file=/tmp/passwd-sts
#如何挂载 Bucket 下的一个目录
cosfs examplebucket-1250000000:/my-dir /mnt/cosfs -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=info
#注意:my-dir 必须以 / 开头。

5.4 设定 COSFS 开机自动挂载?

#安装 fuse 包:
#CentOS系统
sudo yum install -y fuse
#Ubuntu系统
sudo apt-get install fuse

#在 /etc/fstab 文件中添加如下的内容,其中,_netdev 选项使得网络准备好后再执行当前命令:
cosfs#examplebucket-1250000000 /mnt/cosfs fuse _netdev,allow_other,url=http://cos.ap-guangzhou.myqcloud.com,dbglevel=info

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/319657.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Adobe Illustrator 2023--AI2023中文

Adobe Illustrator 2023是一款专业的矢量图形设计软件,广泛应用于印刷、Web、视频和移动设备的设计制作。它提供了丰富的绘图工具、矢量图形编辑功能和灵活的排版设计工具,帮助用户快速高效地制作出精美的设计作品。相较于其他设计软件,Adobe…

在Windows服务器上部署项目【虚拟机版】

一. jdk的安装 1、直接双击jdk应用程序,然后下一步下一步即可。 2、安装完成后,在此电脑➡右键➡属性➡高级系统变量。 3、配置环境变量 新建JAVA_HOMEC:\Program Files\Java\jdk1.8.0_144 编辑pathpath%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 4、测试&am…

照片删除了怎么恢复回来

照片,对我们来说,这两个字眼再熟悉不过了,每一张照片都包含无比重要的意义,相信在大家的心目中,这些包含意义的照片都是无价的。怎样找回删除的照片? 既然这些照片对我们来说意义非凡,那如果不小…

【银行测试】银行项目,信贷/贷款业务测试+常问面试(二)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 银行测试-信贷&am…

MySQL基础学习: 使用EXPLAIN查看执行计划详解分析

一、EXPLAIN语句的作用 在客户端执行MySQL的操作语句,会依次经过MySQL客户端连接管理、语法解析与优化(查询缓存、语法解析、查询优化)、存储引擎层。其中查询优化器在基于成本和规则对查询语句进行优化,并且在优化后会生成一个执…

AC修炼计划(AtCoder Beginner Contest 334)A~G

传送门:UNIQUE VISION Programming Contest 2023 Christmas (AtCoder Beginner Contest 334) - AtCoder A题是最最基础的语法题就不再讲解。 B - Christmas Trees 该题虽然分低,但我觉得还是很不错的。 给你 l 和 r ,设满足题意的数字是x则…

深入解析JavaScript中构造函数和new操作符

🧑‍🎓 个人主页:《爱蹦跶的大A阿》 🔥当前正在更新专栏:《VUE》 、《JavaScript保姆级教程》、《krpano》 ​ ​ 目录 ✨ 前言 ✨ 正文 第一节:构造函数 第二节:new操作符 第三节:实例与原型 ✨ 结语 ✨ 前言…

ssm基于java的自助医疗服务系统的设计与实现+jsp论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本自助医疗服务系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

C#MQTT编程04--订阅报文

1、报文回顾 在MQTT中,消息传递模式是采用发布订阅模式(Publish-Subscribe Pattern),它将发送消息的客户端(发布者)与接收消息的客户端(订阅者)解耦,使得两者不需要建立…

【python】07.字符串和常用数据结构

字符串和常用数据结构 使用字符串 第二次世界大战促使了现代电子计算机的诞生,最初计算机被应用于导弹弹道的计算,而在计算机诞生后的很多年时间里,计算机处理的信息基本上都是数值型的信息。世界上的第一台电子计算机叫ENIAC(电…

冠军获奖经历:这一路我们不孤单!

Datawhale干货 获奖:元贞、小罗,Datawhale优秀学习者 前 言 大家好,我是 2023 寻找游戏大模王 AI 原生应用大赛的 Top1 荆轲刺秦王团队的小罗,很高兴能在这里与大家分享我们这次比赛的经验,同时也希望以后有机会可以和…

华为常用的命令——display,记得点赞收藏!

华为设备提供了多条display命令用于查看硬件部件、接口及软件的状态信息。通常这些状态信息可以为用户故障处理提供定位思路。 常用的故障信息搜集的命令如下: 路由器常用维护命令表 交换机常用的故障信息搜集 关注 工 仲 好:IT运维大本营,获…

函数栈桢的创建和销毁

函数栈桢的创建和销毁 一、解决的问题二、认识常用的寄存器及其指令操作三、函数栈桢解析三、回答问题 一、解决的问题 1.局部变量是怎么创建的?  2.为什么局部变量的值是随机值?  3.函数是怎么传参的?传参的顺序是怎样的?  4.…

全新小白菜QQ云端机器人登录系统源码 /去除解密授权学习版源码

源码介绍: 全新小白菜QQ云端机器人登录系统源码,是一款经过全面解密的授权学习版源码。 这款源码已解除了授权版的限制,然而许多人可能对其用途并不了解。实际上,该源码主要面向群机器人爱好者设计。它是一个基于挂机宝机器人框…

【位运算】【二分查找】【C++算法】100160价值和小于等于 K 的最大数字

作者推荐 【动态规划】【字符串】扰乱字符串 本文涉及的基础知识点 二分查找算法合集 位运算 LeetCode100160. 价值和小于等于 K 的最大数字 给你一个整数 k 和一个整数 x 。 令 s 为整数 num 的下标从1 开始的二进制表示。我们说一个整数 num 的 价值 是满足 i % x 0 且…

css3背景与渐变

css3背景与渐变 前言背景颜色background-color基础知识背景图片background-image基础知识背景图片的重复模式 背景尺寸background-sizecontain和cover是两个特殊的background-size的值 背景裁切 background-clip背景固定 background-attachment背景图片位置 background-positio…

LeetCode 590. N 叉树的后序遍历

590. N 叉树的后序遍历 给定一个 n 叉树的根节点 root ,返回 其节点值的 后序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1: 输入:root [1,null,…

虚拟机配置网络

1开启网络 右击打开属性配置ipv4 配置vm 配置系统 配置liunx网卡信息 vim /etc/sysconfig/network-scripts/ifcfg-ens33 打开电脑任务管理器

1.13寒假集训

晚上兼职下班回来才有时间写题&#xff0c;早上根本起不来 A: 解题思路&#xff1a;我第一开始以为只要满足两个red以上的字母数量就行&#xff0c;但是过不了&#xff0c;后面才发现是red字符串&#xff0c;直接三个三个判断就行。 下面是c代码&#xff1a; #include<io…

【GitHub项目推荐--一行命令下载全网视频】【转载】

项目地址&#xff1a;https://github.com/soimort/you-get 首先声明&#xff0c;请不要使用该项目从事违法活动哦~仅供学习使用&#xff01; 解决痛点 如果你上网的时候看了一些东西不错&#xff0c;想下载下来&#xff0c;或者在线观看喜欢的视频&#xff0c;但是没有找到网…