基于CenterOS7环境下本地挂载云端COS对象存储桶256TB!

基于腾讯云COSFS工具的256TB大容量网盘挂载技术实践

一、方案目的介绍

方案客户群体:企业或个人海量文件存储备份,数据迁移灾备,数据云端灾备服务,实现本地挂载COS存储256TB大容量网盘。

(1)COSFS 工具支持将 COS 存储桶挂载到本地,像使用本地文件系统一样直接操作腾讯云对象存储中的对象,COSFS适用Ubuntu、CenterOS、MacOS等主流系统。

(2)支持 POSIX 文件系统的大部分功能,如:文件读写、目录操作、链接操作、权限管理、uid/gid 管理等功能。

(3)大文件分块传输功能。

(4)MD5 数据校验功能。

方案目标:实现云端----本地的海量数据灾备迁移,实现有公网能力的linux主机或云下用户直接挂载使用COS对象存储桶,实现云数据共享、存储、备份服务。

使用产品:腾讯云COS对象存储、本地虚拟机CenterOS7.3/系统盘20G/1核2G内存。

二、方案架构

三、COS数据安全架构

四、方案部署

1.获取源码

您首先需要从 GitHub 上将 COSFS 源码 下载到指定目录,下面以目录 /usr/cosfs 为例:

git clone https://github.com/tencentyun/cosfs /usr/cosfs

2.安装依赖软件的软件

COSFS 的编译安装依赖于 automake、git、libcurl-devel、libxml2-devel、fuse-devel、make、openssl-devel 等软件包, CentOS的依赖软件安装过程如下:

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

3.进入下载目录/usr/cosfs/并查看README等文件

4.在下载目录下执行安装COSFS工具软件.

4.1 执行安装脚本等命令

cd /usr/cosfs
./autogen.sh
./configure
make
sudo make install
cosfs --version

4.2执行编译配置

注:如果安装时报错,官网给出了报错处理的提示

https://cloud.tencent.com/document/product/436/6883

5.COSFS工具配置文件参数填写

5.1在腾讯控制台创建一个自己的存储桶,建议用记事本把命令和信息一次性写好再运行。

5.2根据官网给出的格式填写命令

注意: 您需要将 <Name>、<Appid>、<SecretId> 和 <SecretKey> 替换为您的信息。 在 test-1253972369 这个 Bucket 中,<Name> 为 test, <Appid> 为 1253972369, Bucket 命名规范,请参见 存储桶命名规范。<SecretId> 和 <SecretKey> 请前往访问管理控制台的 云 API 密钥管理 中获取。

echo <Name>-<Appid>:<SecretId>:<SecretKey> > /etc/passwd-cosfs      #命令格式示范
chmod 640 /etc/passwd-cosfs #此处是给目录添加可读写权限

5.3将命令全部准备复制,核对信息无误后准备执行。

5.4在centerOS7.3系统中执行命令,并附加权限给/etc/passwd-cosfs

6.运行工具

将已经在密钥文件中配置好信息的存储桶挂载到指定目录,可以使用如下命令行:

cosfs <Name>-<Appid> <MountPoint> -ourl=<CosDomainName> -odbglevel=info

其中:

  • <MountPoint> 为本地挂载目录(如 /mnt)。
  • <CosDomainName> 为存储桶对应的访问域名,形式为 http://cos.<Region>.myqcloud.com (适用于XML API),其中<Region> 为地域简称, 如: ap-guangzhou 、 eu-frankfurt 等。更多地域信息,请查阅 可用地域
  • -odbglevel 指定日志级别。

6.1创建挂载目录 mkdir /munt/mnt-cos 注意这里只是挂载网盘的目录挂载点。

6.2执行挂载命令(建议用记事本粘贴复制一整条命令)

7.查看挂载信息。

由图可以看到我们的本地mnt-cos目录上挂载上了一个256TB数据盘

8.测试验证

8.1这里我们复制一个60MB大小的视频文件到这个目录下,做下测试。

我们发现,上传速度很快,没有限制,基本在2.6MB/S,只是根据本地带宽大小而定,如果是专线,那么速度肯定会更快!

8.2大概20秒左右,我们的视频就从本地目录上传到了挂载的云端COS目录上了。

8.3检查存储桶。在腾讯云控制台上查看存储桶中是否存在这个文件

8.4这里我们发现挂载的目录没有什么影响,大小连0.1%也没用到。

8.5最后我们再次验证,直接将左面上的视频文件mv上云端的目录。速度达到3.5MB/S。

9.总结:

综上所述,本次实验成功挂载一个存储桶到本地的Linux虚拟机,实现256TB本地挂载。

(1)本次实验验证了本地----腾讯云端COS的强大存储能力,能够承载大容量存储。

(2)本次上传的速度相对较慢,是因为本地就给了12M带宽,所以受限。

(3)COSFS工具适合任意有公网能力的主机挂载云端COS对象存储,达到海量存储,简单实用,这样就能实现,数据灾备,本地容量上限,使用云端扩容本地,实现业务扩容。

(4)本实践自己还有一个节,就是如何实现【开机自动挂载】,因为是工具,所以只能是命令操作,自己设想的是要么就是crontab+shell脚本实现或者/etc/fstable挂载就好了,留个后续研究者。

10.FA&Q实践踩坑:

(1)为什么git不了文件目录?

答:自己本地的机器没有初始化,环境初始化,更新yum仓库,安装更新git包。

(2)编译时老是报错,有error出现,找了很多,都没有作用?

答:依赖包没有安装fuse-devel,很难弄,我是直接安装*.deve

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

(3)编译安装时还会报错?

答:我是先检查这个目录是否存在,后面make install再次安装了一次成功,后面直接运行命令。

(4)在执行很长的秘钥存储桶命令时一定要用笔记本写好再一次性执行,后面安装tools。

本次实践依据腾讯云官网COSFS官网文档指导,参考链接:

https://cloud.tencent.com/document/product/436/6883

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏漏斗社区

工具| sqlmap payload修改之路

文末有福利 前言 事情的起因是这样的:斗哥经常会发现一些骚气十足的注入规则,不过想要发挥这些注入规则少不了编写py脚本,小表姐作为sqlmap神器的忠实粉丝,...

4067
来自专栏菩提树下的杨过

ruby on rails + mysql 开发环境搭建

ror对于初学者来讲,可能最大的困难莫过于开发环境的安装与搭建,今天折腾了大半天基本搞定了,把过程贴在这里,以便初学者少走弯路。 1.安装ruby 1.8.6 ...

2985
来自专栏软件测试经验与教训

ADB命令集锦

在测试APP时,我们常常会用到adb命令来协助测试,那么adb命令到底是什么?有什么用?怎么用?

1445
来自专栏PHP在线

如何通过预加载器提升网页加载速度

预加载器(Pre-loader)可以说是提高浏览器性能最重要的举措。Mozilla 官方发布数据,通过预加载器技术网页的加载性能提升了19%,Chrome测试了...

30110
来自专栏岑志军的专栏

fastlane实现自动化打包

1682
来自专栏程序员八阿哥

Nginx与前端开发

作为前端开发,即使没用过Nginx,但一定听说过上面这句话。这句经典的话,基本构成了所有人对Nginx的第一印象。

2231
来自专栏Golang语言社区

golang基于redis lua封装的优先级去重队列

前言: 前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务,所以导致队列中有大量的重复任务。这时候我们要临时解决两个...

34611
来自专栏魏艾斯博客www.vpsss.net

一款 windows 英文面板-Winginx 安装和配置过程

当下 windows 服务器的使用数量还是不少的,为了在网站上线之前测试程序可用性,很多人会在本地 windows 系统中安装使用 windows 面板来搭建 ...

1262
来自专栏zaking's

走进webpack(3)-- 小结

  写这一系列的文章,本意是想要梳理一下自己凌乱的webpack知识,只是使用过vue-cli,修改过其中的一部分代码,但是对于一个简单项目从0开始搭建webp...

3537
来自专栏我与狸奴不出门

基于CentOS搭建微信小程序--响应错误502

在腾讯云开发者实验室的搭建微信小程序中  ,遇到了在完成实验二会话部署失败后,实验一http访问测试也显示失败并且表示响应错误-错误码:502。(域名是可以正常...

2753

扫码关注云+社区