Linux

记一次腾讯云cosfs搭建踩坑

对于草根站长来说哦,数据就是网站的命根子啊,以前用脚本备份的时候产生的备份文件都是留存在本地的,而腾讯云的1M小水管下载太慢,索性也就一直没有下载。随着备份次数越来越多,产生的文件也就越来越多,迟早系统磁盘会被占满用,所以准备使用对象存储。
之前了解的对象存储一直都是阿里云的OSS,因为本博客搭建在腾讯云主机上,所以就准备使用腾讯云的对象存储(cos)。两家的产品雷同,也就没想太多,直接上手,踩坑步骤如下:

创建存储这里不多做介绍,在控制中心中找到对象存储,打开Bucket列表,输入名称新建即可,对于那个访问权限,两个选项我没看懂有啥不同的,还请路过的大佬解释一下。

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

提示选择的时候,输入y即可安装

腾讯云官方给出的方式是直接通过git下载github的源码,不过我一直是失败提示如下:

  1. [root@VM_76_92_centos tools]# git clone https://github.com/tencentyun
  2. Cloning into '/usr/cosfs'...
  3. fatal: unable to access 'https://github.com/tencentyun/cosfs/': Peer d protocol version.

应该是版本问题,参考解决办法如下:

  1. yum update -y nss curl libcurl
  1. cd /usr/cosfs
  2. ./autogen.sh
  3. ./configure
  4. make
  5. sudo make install

官方给出的配置文件示例如下:

  1. echo <bucketname>:<SecretId>:<SecretKey> > /etc/passwd-cosfs
  2. chmod 640 /etc/passwd-cosfs

说明:1.bucketname是创建存储时输入的名字,例如我的是it985
2.SecretId和SecretKey是在云对象存储里的最后一栏选项中开启的,第一次使用时界面如下图

如果不知道使用哪个密钥,点击bucket列表,点击it985(也就是刚刚创建的bucket名称),菜单栏选择域名管理,观察域名从左向右,存储名称之后的前三位数字,是125就选择API密钥,100开头的就选择项目密钥,如果跟我创建的步骤一样的话,应该就是API密钥。点进去之后就能看到appid,还有SecretId和SecretKey了,SecretKey应该是隐藏的,点击显示输入手机验证码即可。
注意:这里实例文本中的::部分中的括号一定要去掉,不然无法执行。

官方示例如下:

  1. echo bucketprefix-123456789:AKID8ILGzYjHMG8zhGtnlX7Vi4KOGxRqg1aa:LWVJqIagbFm8IG4sNlrkeSn5DLI3dCYi > /etc/passwd-cosfs  
  2. chmod 640 /etc/passwd-cosfs  

这里需要注意的是,bucketprefix-1253972369实际上是的bucket的name短线和appid拼接起来的。所以这里只写name会报bucket name 不存在 exiting的错误。
错误示例如下:

  1. [root@VM_76_92_centos cosfs]# cosfs it985 /home/backup -ourl=it985-12xxx8971.cos.ap-guangzhou.myqcloud.com -odbglevel=info  
  2. cosfs: Check your input bucket name, it looks like chars-1234567.  

而且挂载之前最后在需要挂载的地方创建一个空目录,不然会提示挂载目录不为空,若要挂载,请使用nonempty选项。错误示例如下:

  1. [root@VM_76_92_centos cosfs]# cosfs 12xxxx8971:it985 /home/backup/ -ourl=it985-12xxxx8971.cos.ap-guangzhou.myqcloud.com -odbglevel=info  
  2. cosfs: MOUNTPOINT directory /home/backup/ is not emptyemptyif you are sure this is safe, can use the 'nonempty' mount option.  

还有就是ourl的后面接的是XML域名。
在经过上面一番折腾后,我在/home/backup/下创建了一个新的目录cosfs,然后执行如下最终命令成功挂载:

  1. cosfs 12xxxx8971:it985 /home/backup/cosfs -ourl=it985-12xxxx8971.cos.ap-guangzhou.myqcloud.com -odbglevel=info  

通过df -h可看到一块256T的硬盘,不过这里具体能使用多少尚不清楚,毕竟对于我来说,免费的50G足够我使用。
在cosfs目录中创建文件和文件夹,在腾讯云对象存储中均会显示出来,在主机中创建和删除在对象存储也可以进行同样的操作。
总结如下:
1.git命令无法使用是因为系统相关依赖版本不够。
2.官方示例中挂载时bucketprefix-1253972369其实是bucket的name短线和appid拼接起来的。
3.挂载的目录要为空,不为空需要使用相应参数。
4.创建Bucket时一定选择和CVM主机同区域,这样走内网流量是不收费的。如何判断是否为内网流量的方法是,通过在挂载的CVM主机上ping刚刚创建的Bucket域名,返回的为10或者100就是内网流量。

(2)

本文由 IT985 作者:白云千载 发表,转载请注明来源!

关键词:,

热评文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注