青云oss对象存储映射至linux服务器

版权声明:未经作者同意请勿转载,需要和博主联系请发邮件[email protected] https://blog.csdn.net/wu2700222/article/details/89027549

参考资料:

https://docs.qingcloud.com/qingstor/developer_tools/qsfs#1-%E9%85%8D%E7%BD%AE%E8%AE%BF%E9%97%AE%E5%AF%86%E9%92%A5

源码安装

1. 编译要求

GCC 4.1.2 或更高版本

CMake 3.0 或更高版本

安装过程可参照我之前的文章https://blog.csdn.net/wu2700222/article/details/89023094

2. 安装依赖

sudo yum install fuse fuse-devel libcurl-devel openssl-devel

3. 采用CMake编译源码并安装

从 GitHub 仓库 yunify/qsfs-fuse clone 源码:

git clone https://github.com/yunify/qsfs-fuse.g

建立 build 目录:

cd qsfs-fuse && mkdir bulid && cd bulid

 运行 CMake 命令:

cmake ..

编译并安装

make
make install

查看qsfs是否已生效

[root@ossguazai data_baojunoss]qsfs -V
qsfs version: 1.0.10-1

ok,接下去

1. 配置访问密钥

使用 qsfs,需要有一个配置文件来设置你的访问密钥 (注意需要设置密钥文件的权限为 600)

mkdir /data_baojunoss/key -p
echo YourAccessKeyId:YourSecretKey > /data_baojunoss/key/baojunapi
chmod 600 /data_baojunoss/key/baojunapi

注意

  1. 密钥对需到 青云控制台 申请并按如上格式写入到密钥配置文件,请不要遗忘中间的冒号分隔符, 不需要添加引号. 例如:
    CUEGWBMEUXIRMZUZDFD:jPZNMvFAuVPhycoRKu252rGjtwpYpihVOy5AWo9S
    
  2. 如果创建密钥文件为默认路径名(/etc/qsfs.cred), 则挂载时不需要指定密钥文件路径.

2. 挂载 Bucket 到本地目录 

mkdir -p /data_baojunoss/ossfile
#前台启动 查看详细的日志, 将日志打印到控制台, 添加 -f -d -U 挂载选项将调试日志和 curl 日志打印到控制台
qsfs baojun /data_baojunoss/ossfile -z=pek3b -c=/data_baojunoss/key/baojunapi -o allow_other -f -d -U
#查看挂载情况
df -T | grep qsfs

qsfs           fuse.qsfs 1099511627776     212 1099511627564   1% /data_baojunoss/ossfile

后端启动

qsfs baojun /data_baojunoss/ossfile -z=pek3b -c=/data_baojunoss/key/baojunapi -o allow_other 

查看挂载情况

df -h

3. 卸载

umount /data_baojunoss/ossfile

4. 测试文件系统操作

cd /data_baojunoss/ossfile
mkdir test

5. 配置开机自动挂载 qsfs

第一步,在 /etc/fstab 文件中添加以下命令行并保存:

echo 'qsfs#baojun /data_baojunoss/ossfile fuse _netdev,-z=pek3b,-c=/data_baojunoss/key/baojunapi,allow_other 0 0' >> /etc/fstab

注意 

  1. 第一项 file system 填写格式为 qsfs#BUCKET_NAME, 其中 BUCKET_NAME 为存储桶名.
  2. 在第四项设置 qsfs 挂载选项时需要使用短选项格式,例如 -c 而不是 --credentials ,若配置为默认路径 /etc/qsfs.cred则可不必在命令行中再次设置该选项. 私有云还需要通过 -H 选项配置 host.

第二步,执行以下命令验证开机挂载 qsfs 配置的正确性:

mount -a

或者 reoot重启测试一下,ok,结束

注意

  1. 配置正确则执行命令后不会有信息提示,可通过如下命令检查是否挂载成功:
    > df -Th | grep qsfs
    
  2. 务必确保挂载目录没有被挂载且该目录为空;如果提示如下信息,可能是挂载目录非空或者已经挂载该目录:
    fuse: mountpoint is not empty
    fuse: if you are sure this is safe, use the 'nonempty' mount option
    [qsfs ERROR] Unable to mount qsfs
    
  3. centos6.5 系统还需要执行以下命令:
    > chkconfig netfs on

选项列表

short full type required usage
-z --zone string Y 指定 Bucket 所在区域
-c --credentials string N 指定密钥文件路径,默认路径 /etc/qsfs.cred
-l --logdir string N 指定输出日志路径,默认路径 /tmp/qsfs_log/
-L --loglevel string N 指定日志级别 (INFO,WARN,ERROR 或者 FATAL),默认级别 WARN
-F --filemode octal N 指定挂载目录下文件的访问权限位,默认 644
-D --dirmode octal N 指定挂载目录下文件夹的访问权限位,默认 755
-u --umaskmp octal N 指定挂载目录的权限屏蔽字 (umask) ,该选项需要同 fuse 选项 allow_other 一起使用, 默认 0000
-r --retries integer N 指定请求重试次数
-R --reqtimeout integer N 指定请求时限 (秒),默认 30 秒
-Z --maxcache integer N 指定使用内存缓存容量 (MB),默认 200MB
-k --diskdir string N 指定本地缓存路径,确保内存缓存不足时文件缓存成功,默认路径 /tmp/qsfs_cache/
-t --maxstat integer N 指定缓存的元数据最大数量 (K),默认值 20 K
-e --statexpire integer N 指定缓存的元数据失效时限 (分钟),给定小于零的值则元数据永不失效,默认元数据不失效
-i --maxlist integer N 指定 ls 操作时的最大文件数量,给定零值则打印出所有文件信息,默认值为零
-y --fscap integer N 指定文件系统容量 (GB), 默认值 1 PB
-n --numtransfer integer N 指定文件传输时并行传输数,当需要传输大文件时可以增加该值,默认值 5
-b --bufsize integer N 指定文件传输时每单个传输的缓存空间 (MB),该值必须大于 8MB,默认值 10 MB
-j --prefetchsize integer N 指定文件预读最大尺寸 (MB), 默认值 20 MB
-H --host string N 指定 host name,默认值 qingstor.com
-p --protocol string N 指定 protocol,默认值 https
-P --port integer N 指定 port,默认值 443 (https) 或 80 (http)
-J --prefetch bool N 开启预读
-m --contentMD5 bool N 开启 MD5 校验保证数据完整性
-K --keeplogdir bool N 开启在启动时不清除日志目录
-C --nodatacache bool N 开启清理文件数据缓存
-f --forground bool N 开启前台模式,将日志打印到控制台并开启 FUSE 前台模式
-s --single bool N 开启 FUSE 单线程开关
-d --debug bool N 开启 debug 模式
-g --fusedbg bool N 开启 FUSE debug
-U --curldbg bool N 开启 curl 日志
-h --help bool N 打印 qsfs 帮助
-V --version bool N 打印 qsfs 版本

你也可以通过 -o opt [,opt...] 指定 FUSE 特定的挂载选项比如 nonempty,allow_other 等。 详情请参见 FUSE 文档。

帮助

可以通过 -h 参数打印简易帮助文件:

> qsfs -h

猜你喜欢

转载自blog.csdn.net/wu2700222/article/details/89027549