WordPress

使用COSFS工具存储文件到腾讯云COS中的方法

猴猴 · ·

昨天开始把博客从阿里云迁移到腾讯云上来了,附件啥的也相应的从OSS转移到COS里来了。当初在阿里用的cloudfs挂载工具很方便,现在到腾讯云用cosfs昨天走了不少弯路,不过现在总算是明白了,还是和cloudfs有些不一样的。

功能说明

COSFS 工具支持将 COS 存储桶挂载到本地,像使用本地文件系统一样直接操作腾讯云对象存储。

使用限制

本工具可以支持对COS V4、V5 版本存储的访问,但是域名均需使用 COS V5 域名。(至于啥是V4V5我也不太明白。就一个云存储,为啥要分那么多版本呢?)

环境安装

CentOS 系统下安装环境依赖包方法:

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

注意在centos6.5及较低版本,(实测centos6.8也会提示)可能会提示fuse版本太低,在安装过程的configure操作时返回

checking for common_lib_checking... configure: error: Package requirements (fuse >= 2.8.4 libcurl >= 7.0 libxml-2.0 >=    2.6) were not met:
  Requested 'fuse >= 2.8.4' but version of fuse is 2.8.3

此时,你需要来手动安装fuse版本,具体步骤:

 # yum remove -y fuse-devel
  # wget https://github.com/libfuse/libfuse/releases/download/fuse_2_9_4/fuse-2.8.4.tar.gz
  # tar -zxvf fuse-2.8.4.tar.gz
  # cd fuse-2.8.4
  # ./configure
  # make
  # make install
  # export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig/:/usr/local/lib/pkgconfig
  # modprobe fuse
  # echo "/usr/local/lib" >> /etc/ld.so.conf
  # ldconfig
  # pkg-config --modversion fuse   
  2.8.4   //看到版本表示安装成功

使用方法

安装工具

git clone https://github.com/tencentyun/cosfs-v4.2.1 /usr/cosfs

进入到该目录,编译安装:

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

配置文件

在 /etc/passwd-cosfs文件中(这个文件本身不存在,自己新建一个写好传上去可以,或者按下面方法做一个也行),配置您的存储桶的名称,以及该存储桶对应的 SecretId 和 SecretKey。使用冒号隔开,注意冒号为半角符号。 并为 /etc/passwd-cosfs 设置可读权限。命令格式如下:

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

其中:
bucketname/ SecretId/ SecretKey 需要替换为用户的真实信息。

运行工具

将配置好的存储桶挂载到指定目录,命令行如下:

cosfs your-APPID:your-bucketname your mount-point -ourl=cos-domain-name -odbglevel=info

其中:

  • your-APPID/ your-bucketname 需要替换为用户真实的信息;
  • your-mount-point 替换为本地需要挂载的目录(如 /mnt);(注意:这个要挂载的目录必须存在,新建一个空文件夹就可以)
  • cos-domain-name 为存储桶所属地域对应域名,形式为 http://cos.<Region>.myqcloud.com ,其中 Region 为 可用地域 中适用于 XML API 的地域简称,如:http://cos.ap-guangzhou.myqcloud.com 、http://cos.eu-frankfurt.myqcloud.com 等。
  • -odbglevel 参数表示信息级别,照写即可。

卸载存储桶

fusermount -u /mnt

或者

umount -l /mnt

常用挂载选项

1、-omultipart_size=[size]
multipart_size用来指定分块上传时,每个分块的大小,默认是 10 MB。 由于分块上传对块的数目有最大限制(10000 块),所以对于大文件,例如超出10 MB * 10000 (100 GB) 大小的文件,需要根据具体情况调整该参数。该参数单位是 MB。

2、-oallow_other
如果要允许其他用户访问挂载文件夹,可以在运行 COSFS 的时候指定allow_other参数。

注意:尤其要注意这个,我就是因为忽略了这一条,网站前台一直403,找了半天原因才发现是这里权限没有给。。。

3、-odel_cache
默认情况下,cosfs 为了优化性能,在 umount 后,不会清除本地的缓存数据。 如果需要在 COSFS 退出时,自动清除缓存,可以在挂载时加入该选项。

可能初入腾讯云的原因,对腾讯云不是太熟练,这个cosfs比那个cloudfs可能稍微麻烦了些,不过一旦配置好了倒也还算方便,毕竟熟能生巧了哈。

0 条回应