前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【玩转腾讯云】使用 COSFS 挂载 COS 到云服务器节约空间

【玩转腾讯云】使用 COSFS 挂载 COS 到云服务器节约空间

原创
作者头像
我是技术小白
修改于 2020-04-15 07:06:59
修改于 2020-04-15 07:06:59
7.3K00
代码可运行
举报
运行总次数:0
代码可运行

本文将介绍使用 COSFS 工具 将 WordPress/NextCloud 的文件目录挂载到 COS 存储桶的方法,以达到节约服务器硬盘空间的目的。

Wordpress 的数据存放在安装目录下的 wp-content/uploads 文件夹,里面存储着网站的媒体文件,占据的磁盘空间特别大。

Nextcloud 的数据存放在安装目录下的 data 文件夹 里面存储着网站的媒体文件,占据的磁盘空间特别大。

为了节省磁盘空间,就将腾讯云对象存储(COS)挂载到他们的数据目录下,存储数据文件。

在挂载 COS 前,必须备份好数据,做好服务器镜像。

我就遇到过挂载好 COS 并重启服务器之后无法连接服务器的状况。

下面以 Ubuntu 18.04.1 LTS 系统为例,说明挂载方法。

【官方文档】

工具指南 - COSFS 工具

工具问题 - COSFS 工具

【参考文章】

腾讯云COS更加极客的玩法

如何实现0770挂载权限

linux 查看用户的uid,gid

一、准备环境、安装并编译 COSFS

1、安装依赖软件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config fuse

2、获取源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/tencentyun/cosfs /usr/cosfs

在下载源码的时候,网速特别慢,所以我选择本地下载,然后上传到服务器。 本地下载

3、编译和安装 COSFS

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/cosfs
./autogen.sh
./configure
make
sudo make install
cosfs --version  #查看 cosfs 版本号

如果显示以下内容,说明安装正确

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Tencentyun Object Storage Service File System V1.0.16(commit:unknown) with OpenSSL
License GPL2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

二、挂载 COS

1、配置密钥文件

在 etc 文件夹下新建文件,命名为 passwd-cosfs ,并写入以下内容。

官方给的格式如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<BucketName-APPID>:<SecretId>:<SecretKey>

官方给的示例如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
examplebucket-1250000000:AKIDHTVVaVR6e3:PdkhT9e2rZCfy6

如果需要挂载多个存储桶,则按照上面的格式多添加几行。

之后将编辑好的内容保存,并将权限改为 640 。

2、运行工具挂载 COS

在运行挂载命令之前,一定要确保被挂载目录的文件夹下没有文件。

如果有文件,可以移动到新建文件夹内,之后将其导入挂载的存储桶内。

如果需要导入存储桶的文件大于 1000 ,那么需要使用对象存储控制台或者软件导入数据,不能在挂载文件夹后使用复制粘贴方法导入数据,否则数据传输慢或出现异常,甚至导致服务器卡顿、死机。

官方给的格式如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cosfs <BucketName-APPID> <MountPoint> -ourl=<CosDomainName> -odbglevel=info

官方给的示例如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cosfs examplebucket-1250000000 /mnt/cosfs -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=info -onoxattr

由于一些原因,我自己更改了一些,执行了下面的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cosfs examplebucket-1250000000 /mnt/cosfs  -ourl=http://cos.ap-guangzhou.myqcloud.com -odbglevel=crit -ouid=1000 -ogid=1000 -oallow_other -oumask=007 -ouse_cache=/cosfscache/ygwt -omax_stat_cache_size=2000 -oensure_diskfree=10240

解释一下含义

-odbglevel=crit 是调高日志级别,防止日志占用过多空间。

ouid=1000 -ogid=1000 -oallow_other 指定用户读写。

查询方法为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat /etc/passwd | grep 你的用户名

执行后命令行显示如下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
www:x:1000:1000::/home/www:/sbin/nologin

x后面的两个数就是uid和gid。

下面的方法也可以查询

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
id 用户名

-oumask=007 是设定权限为 0770 。

-ouse_cache=/cos/ygwt 是指定缓存文件夹,在之前应新建好文件夹,否则会报错,如果多个存储桶不能共用同一个缓存文件夹。

omax_stat_cache_size=2000 是缓存文件占用空间最大值(MB)。

-oensure_diskfree=10240 当缓存文件所在磁盘,剩余空间不足 10240 MB 大小时,COSFS 将尽量减少使用磁盘空间。

3、设置重启后自动挂载

在 /etc/fstab 文件中写入以下内容

官方给的示例如下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cosfs#examplebucket-1250000000 /mnt/cosfs fuse _netdev,allow_other,url=http://cos.ap-guangzhou.myqcloud.com,dbglevel=info

如果需要挂载多个存储桶,则按照上面的格式多添加几行。

由于一些原因,我自己更改了一些,执行了下面的内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cosfs#examplebucket-1250000000 /mnt/cosfs fuse _netdev,url=http://cos.ap-beijing.myqcloud.com,dbglevel=crit,uid=1000,gid=1000,umask=007,allow_other,use_cache=/cosfscache/ygwt ,max_stat_cache_size=2000,ensure_diskfree=10240

4、卸载存储桶

当有程序引用文件系统中文件时,进行卸载不会报错,并在没程序引用时完成卸载。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
umount -l /mnt

三、可能出现的问题

1、NextCloud 挂载 COS 后出现以下提示

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
请更改权限为 0770 以避免其他用户查看目录。

解决方法

卸载存储桶后,在挂载的命令中加入以下内容再执行

uid 和 gid 需要自己去查,上面有查询方法的介绍。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-ouid=1000 -ogid=1000 -oumask=007 -oallow_other

在设置重启后自动挂载的代码中加入以下内容

代码之间有逗号,每行代码结尾无逗号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
uid=1000,gid=1000,umask=007,allow_other

刷新 NextCloud 界面,不再出现错误提示,界面可以正常显示。

2、WordPress 挂载后网站的图片和视频无法显示

F12 - Network 查看资源加载状态,加载图片时 HTTP 状态码为 403 ,加载视频时状态码为 404 。

解决方法

卸载存储桶后,在挂载的命令中加入以下内容再执行

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-oallow_other

在设置重启后自动挂载的代码中加入以下内容

代码之间有逗号,每行代码结尾无逗号

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
allow_other

重新打开网站,可以正常加载图片和视频。

四、 COS 数据备份

请参考下面这篇文章

【玩转腾讯云】腾讯云COS双重备份-版本控制+跨地域备份

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
使用 COSFS 挂载 COS 到云服务器节约空间
作者介绍 我是技术小白:机械电子工程专业大四学生,业余时间喜欢折腾。 本文将介绍使用 COSFS 工具将 WordPress/NextCloud 的文件目录挂载到 COS 存储桶的方法,以达到节约服务器硬盘空间的目的。 Wordpress 的数据存放在安装目录下的 wp-content/uploads 文件夹,Nextcloud 的数据存放在安装目录下的 data 文件夹,里面存储着网站的媒体文件,占据的磁盘空间特别大。 为了节省磁盘空间,就将腾讯云对象存储(COS)挂载到他们的数据目录下,存储数据
云存储
2020/07/10
4.6K0
CentOS 7 挂载腾讯云COS对象存储教程
本文将详解使用腾讯云cosfs工具将COS对象存储的存储桶挂载到CentOS 7服务器的教程.其他平台及常见问题请参考官方说明:
用户8851537
2021/07/30
5.5K0
使用腾讯云CVM挂载COS作为Emby媒体服务器
多款腾讯云产品免费体验:https://cloud.tencent.com/act/free?from=20863 最近收集了一些4k杜比视界的资源,于是想搭建自己的媒体服务器,考虑到NAS维护麻烦、
4O4
2023/07/05
1.2K0
使用腾讯云CVM挂载COS作为Emby媒体服务器
腾讯云 cosfs 工具使用及开机自动挂载
为了方便给多台服务器提供文件访问能力和CDN加速能力,我选择了使用COS来储存文件。但官方提供的开机自动挂载方案感觉不大稳定,自己研究cosfs工具的使用,并配合systemctl来实现开机自动挂载。
jwj
2022/05/18
2.6K0
Liunx 系统如何挂载COSFS
安装 nginx 服务器工具 —— 挂载 COSFS —— 修改网站路径 —— 完成 Wordpress 扩充
用户1685462
2021/07/17
1.1K0
腾讯云 cosfs 工具使用及开机自动挂载
为了方便给多台服务器提供文件访问能力和CDN加速能力,我选择了使用COS来储存文件。但官方提供的开机自动挂载方案感觉不大稳定,自己研究cosfs工具的使用,并配合systemctl来实现开机自动挂载。
jwj
2022/02/18
5.5K2
腾讯云 cosfs 工具使用及开机自动挂载
【技术创作101训练营】腾讯云主机安装COSFS工具并使用COS对象存储
大家好 ,我叫袁繁,昵称yuanfan2012,人送外号“袁老”,没办法年龄确实是我的硬伤,所以同事常叫我“袁老”,运维攻城狮一名
yuanfan2012
2021/01/20
2.9K0
【技术创作101训练营】腾讯云主机安装COSFS工具并使用COS对象存储
腾讯云主机安装COSFS工具并使用COS对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。
yuanfan2012
2021/01/28
3.8K0
基于cos的hadoop KMS HA部署
hadoop 的 kms的元数据是保存在本地的,比如加密的请求打到A,元数据保存在A机器上,如果解密的请求打到B机器上,就会失败。为了解决这个问题,使用cos作为共享目录(将cos挂载到本地目录中),来实现 kms的元数据的共享。
王旭平
2023/05/09
7561
在centos中使用cosfs腾讯云免费存储
腾讯云每个月提供50G的存储空间,10G的下行流量,免费的上行流量。最好的地方在于提供了基于fuse的文件系统,可以将对象存储映射为本地文件,非常适合于存储有限的场合,比如vps,可以通过挂载一个对象存储来增加空间。
羽翰尘
2019/11/21
3.3K0
基于腾讯云cos的图床教程
那么问题来了,目前网上有些程序对接腾讯云的cos需要在程序里面录入密钥信息不安全怎么办,那么为了安全应该怎么做呢?我在查找资料的时候知道了腾讯云还有个COSFS的东西,通过这个软件就可以把你的cos盘挂载到你主机的目录上。注意:该方法不适合那种高并发的需要进行大量IO读写的操作。COSFS 基于 S3FS 构建, 读取和写入操作都经过磁盘中转,仅适合挂载后对文件进行简单的管理,不支持本地文件系统的一些功能用法。
青阳
2022/08/09
3.9K1
腾讯云TKE-PV使用cos存储案例: 容器目录权限问题
在tke的集群中创建工作负载并把某一个对应的cos桶的根目录挂载到/data目录,在镜像构建的时候有把/data目录设置权限为755,但是运行容器后成功挂载cos桶的根目录到/data/目录,发现用非root账号确无法访问/data下面的文件,镜像的启动用户是非root用户,查看容器内/data目录权限变成了700,为什么设置的目录权限是755,挂载到COS后就变成了700权限呢?
朱瑞卿
2020/10/15
2.4K2
如何使用 S3CMD 访问 COS 服务
S3cmd 是免费的命令行工具和客户端,用于在 Amazon S3 和其他兼容 S3 协议的对象存储中上传、下载和管理数据。本文主要介绍如何使用 S3cmd 访问 COS 上的文件。
吴硕卫
2020/04/13
2.6K0
云服务器(Linux系统)快速上传下载大量数据文件
经常看到网友在问如何在Linux上安装FTP工具 、如何使用SZ工具、如何使用SCP(Linux传输数据的工具)等工具的问题,其实用户的本质需求还是希望能有上传下载数据的产品功能。 这里笔者推荐使用对象存储工具中的cosfs,来快速实现数据文件的上传与下载。(本文在腾讯云CentOS 7.8 系统上测试通过)
研究僧
2021/08/15
9.7K1
基于CenterOS7环境下本地挂载云端COS对象存储桶256TB!
方案客户群体:企业或个人海量文件存储备份,数据迁移灾备,数据云端灾备服务,实现本地挂载COS存储256TB大容量网盘。
TCS-F
2018/12/07
3.2K0
基于CenterOS7环境下本地挂载云端COS对象存储桶256TB!
【转载】文件预览-使用SecretID和SecretKey进行腾讯云cos桶文件预览(word、ppt等)
博主需要完成一个文件预览的功能,没想到React没有插件,可能是PPT、Word的版权问题,pdf就有viewer之类的包。也试了一下微软的,不太好用,很久没维护了,因此选择了腾讯云的存储桶,可以白嫖一波,50GB 6个月。
一栗沙子
2022/06/15
3.7K0
如何使用 S3CMD 访问 COS 服务
作者简介 吴硕卫:腾讯云技术支持工程师,现负责腾讯云存储产品的技术支持专项工作。 S3cmd 是免费的命令行工具和客户端,用于在 Amazon S3 和其他兼容 S3 协议的对象存储中上传、下载和管理数据。本文主要介绍如何使用 S3cmd 访问 COS 上的文件。 准备工作 您已注册腾讯云账号,并且从访问管理控制台上获取了腾讯云密钥 SecretID 与 SecretKey。 一、使用环境 1、软件依赖 Python 2.6+/3+ 最新版本的 pip 2、安装及配置 环境安装与配置详细操作请参见 P
云存储
2020/07/31
2.3K0
使用腾讯云COS官方工具快速将本地数据迁移至COS
腾讯云COS提供了多种同步迁移工具,如COSCMD、COS Migration和COSBrowser客户端等
沈唁
2020/06/12
3.5K0
使用腾讯云COS官方工具快速将本地数据迁移至COS
COS JavaSDK V4升级到V5版本
如果您细心对比过 JSON Java SDK 和 XML Java SDK 的文档,您会发现并不是一个简单的增量更新。XML Java SDK 在架构、可用性和安全性上有了非常大的提升,而且在易用性、健壮性和性能上也做了非常大的改进。如果您想要升级到 XML Java SDK,请参考下面的指引,完成 Java SDK 的升级工作。
卓恒
2020/12/29
1.8K0
使用腾讯云 COS 官方工具快速将本地数据迁移至 COS
腾讯云 COS 提供了多种同步迁移工具,如 COSCMD、COS Migration 和 COSBrowser 客户端等。
沈唁
2022/11/14
2.7K0
推荐阅读
相关推荐
使用 COSFS 挂载 COS 到云服务器节约空间
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验