Linux利用COSFS工具挂载腾讯COS对象存储

Nicky 7.5K 0
摘要:

腾讯云作为“良心云”的代表,不仅仅有良心的学生计划,120元/年的2G主机使用,最近还出了重庆区域优惠计划。当然,比起“套路云”良心的还有腾讯的COS对象存储免费额度。50G的空间,10G的流量跟10G腾讯云内部回源流量,基本上能满足一个小站的需求了。

腾讯云作为“良心云”的代表,不仅仅有良心的学生计划,120元/年的2G主机使用,最近还出了重庆区域优惠计划。当然,比起“套路云”良心的还有腾讯的COS对象存储免费额度。50G的空间,10G的流量跟10G腾讯云内部回源流量,基本上能满足一个小站的需求了。

这次我们要利用腾讯云的官方COSFS工具,把建立的COS对象存储挂载到VPS上,这样就可以直接在VPS上存储数据了。我这次还是用的腾讯的CVM主机,内网流量是免费的,这样两个不同的CVM主机可以用这个工具直接交换数据。

建立存储

首先我们先建立COS对象存储的存储桶。我这里已经建好了2个存储桶。存储桶名称(bucketname)由帐号数字后缀(bucketname_suffix)跟自定义名字组成(bucketname_suffix)。例如我下面的成都的存储桶的bucketname_suffix是cd-12562,bucketname_appid是12562,bucketname_name是cd。腾讯云的官方COSFS工具中也有详细介绍。

Linux利用COSFS工具挂载腾讯COS对象存储

生成密钥

接下来在密钥管理中切换到API密钥管理,生成密钥。如果是生产环境,建议使用子账户使用密钥。密钥分为SecretId和SecretKey。其中SecretKey需要验证手机号才能显示。

Linux利用COSFS工具挂载腾讯COS对象存储

建议先切换到存储桶的实际管理中,在其中新建一个文件夹或是上传一个文件,后面方便验证是否成功。我这里就新建了一个abc的文件夹。

Linux利用COSFS工具挂载腾讯COS对象存储

安装及配置

接下来切换到VPS。首先安装必要的环境。我用的是CentOS,执行以下命令。其他系统见官方说明
sudo yum install automake gcc-c++ git libcurl-devel libxml2-devel fuse-devel make openssl-devel

接下来就下载工具。
git clone https://github.com/tencentyun/cosfs /usr/cosfs

wget https://github.com/tencentyun/cosfs/archive/master.zip
unzip master.zip
mv cosfs-master /usr/cosfs

安装工具。
cd /usr/cosfs
./autogen.sh
./configure
make
sudo make install

其实如果想使用稳定版的软件的话,可以直接下载官网工具并安装。我这里以CentOS 7为例,其他的请到Release页面下载。
wget https://github.com/tencentyun/cosfs/releases/download/v1.0.6/cosfs-1.0.6-centos7.0.x86_64.rpm && yum localinstall cosfs-1.0.6-centos7.0.x86_64.rpm -y

安装完以后为配置文件。
echo :: > /etc/passwd-cosfs
chmod 640 /etc/passwd-cosfs

这里的bucketname、SecretId、SecretKey见上面的参数说明。我来写一个例子:

echo cd-12562:AKIDuc5JJ6Z0:oPnxs
/etc/passwd-cosfs

这里的话cd-12562、AKIDuc5JJ6Z0、oPnxs分别换成自己的相应参数。
接下来挂载cos到本地。示例为:
cosfs bucketname_suffix:bucketname_prefix my-mount-point -ourl=my-cos-endpoint
首先新建一个挂载点,然后再进行相应操作。我这里是挂载到/home/cosfs下。
mkdir /home/cosfs
cosfs 125626:cd /home/cosfs -ourl=cos.ap-chengdu.myqcloud.com -odbglevel=info -o allow_other

这里的125626:cd分别对应bucketname_suffix中的bucketname_appid和bucketname_name,my-mount-point对应cos.ap-chengdu.myqcloud.com
挂载完毕后等几分钟,等系统缓存完毕后查看下是否挂载成功。
Linux利用COSFS工具挂载腾讯COS对象存储

卸挂载
fusermount -u /mnt 或者 umount -l /mnt

高级配置

允许其他程序或用户访问挂载信息

在配置上新增加-oallow_other参数,。需要注意的是这是赋予挂载目录其他用户访问的权限,如果您要更改文件夹中的文件权限,请用chmod命令。

设置debug信息

使用在挂载时,加上-d 参数,cosfs会把日志写入到系统日志中。在centos系统中,在/var/log/messages中。

同时挂载多个COS bucket

/etc/passwd-cosfs文件中写入多个COS配置信息即可。在挂载的时候执行多次挂载即可。

其他高级参数配置请见官方FAQ

开机自动挂载

注意记得将我的bucketname、my-mount-point等修改成自己的信息

fstab模式

此模式适用于ubuntu14.04, CentOS6.5

在 /etc/fstab 文件中添加如下的内容
cosfs#cd-125626 /home/cosfs-remote fuse _netdev,allow_other,url=https://cos.ap-chengdu.myqcloud.com,dbglevel=info
其中_netdev 选项使得网络准备好后再执行挂载命令。

自启动脚本mount模式
此模式适用于CentOS7
首先在/etc/init.d/目录下建立文件cosfs
vi /etc/init.d/cosfs
i进入编辑模式,将以下代码根据自己情况修改后拷贝进去
#! /bin/bash
#
# cosfs Automount Tencentyun COS Bucket in the specified direcotry.
# chkconfig: 2345 90 10
# description: Activates/Deactivates cosfs configured to start at boot time.

cosfs 125626:cd /home/cosfs -ourl=cos.ap-chengdu.myqcloud.com -odbglevel=info -oallow_other
添加执行权限
chmod a+x /etc/init.d/cosfs
添加启动脚本作为其他服务实现开机自启动
chkconfig cosfs on
这样就实现了开机自动挂载COS。

发表评论 取消回复
表情 图片 链接 代码

分享