对象存储BOS

    配置

    参数设置

    bosfs支持设定参数来配置用户权限、存储类型及缓存等。执行bosfs –h可以获得bosfs参数设置的详细说明:

    1. -o -o bos.fs.cache.base=<your_cache_dir>:指定cache位置,该位置不能在挂载点内,且必须是绝对路径。
    2. bosfs ... -o allow_other -o mount_umask: 允许其他用户访问挂载点,并通过mount_umask禁止某些权限。默认情况下,bosfs只具有挂载用户的读、写、执行权限即S_IRWXU。
    3. –o bos.fs.meta.expires=<seconds>:指定meta缓存过期时间。
    4. –o bos.fs.meta.capacity=<integer number>:指定内存中meta缓存容量,超过容量后过期的缓存会被清除。
    5. –o bos.fs.storage_class=<standard or standard_ia>:指定object存储类型,包括标准存储和低频存储。
    6. -o bos.fs.tmpdir=<your_tmp_dir>:指定临时文件位置,该位置不能在挂载点内,且必须是绝对路径,临时文件非长期存储在磁盘,close file后会被清除。
    7. -o bos.sdk.multipart_size=<number smaller than 5GB>:指定分片传输的文件大小,可用KB或MB单位。
    8. -o bos.sdk.multipart_threshhold=< number smaller than 5GB>:表示文件超过这个阈值则用三步上传,可用KB或MB单位。
    9. -o bos.sdk.multipart_parallel=< max parallel number>:限制大文件上传并发度。

    问题排查

    1. 使用 bosfs 过程中,突然显示 "unable to access MOUNTPOINT /path/to/mountpoint: Transport endpoint is not connected",并且无法再访问? 您可以使用 ps ax|grep bosfs 命令查看 bosfs 进程是否存在,如果 bosfs 进程是由于误操作而挂掉,您可以执行如下命令进行重新挂载:

      umount -l /path/to/mnt_dir
      bosfs bucket /mnt/bosfs xxxx
      • 如果 bosfs 进程不是由于误操作挂掉,可以检查机器上的 fuse 版本是否低于 2.9.4,libfuse 在低于 2.9.4 版本的情况下可能会导致 bosfs 进程异常退出。此时,建议您按照本文 编译和安装 bosfs 部分更新 fuse 版本或安装最新版本的 bosfs。
      • bosfs 在读写时会占用磁盘写大量的 temp cache ,和 nginx 差不多,可能会导致磁盘可用空间不足,需要经常清理
      • 可能的原因是listbucket、listobject 申请内存过多,触发了系统的 oom
      • 使用 boscmd 替代 bosfs ,非线上敏感业务可以使用 bosfs ,要求可靠性、稳定性的建议使用 bcecmd
    2. 如果在使用过程中出现长时间卡住的情况, 建议降低并发度, 挂载时指定-o multipart_parallel=5(默认为10)
    3. 如果使用bosfs挂载到不同的机器, 在使用cache的情况下可能导致不同机器的元数据不一致(长度、mod等), 建议挂载时指定-o meta_epires=0来避免从cache读取数据

    日志

    日志默认输出到stderr,可以用-o logfile=xxxx/xxxx.log来指定名称。使用命令-d打开debug模式的情况下,可以重定向到本地文件。

    注意:

    • 切勿将logfile文件路径或者重定向的文件路径指定到mountpoint里面,这会导致持续地将日志刷入BOS,造成不必要的开销。
    • 如果没有使用-d或者-f指定前台运行模式,启动之后bosfs进程会变成daemon,同时会将工作目录切到/之下,因此logfile需要指定绝对路径。bosfs的日志文件不会自动切割,需要用户自行使用脚本管理。
    • BOS FS挂载后,如果使用rsync功能,建议设置-o loglevel=ERROR--partitial-dir=本地路径,因为rsync会产生临时文件,默认会存在目的文件所在位置(bosfs中),产生不必要的bosfs中的上传开销。

    只读

    可以使用-o ro选项来设置只读模式,用于保护bucket不被写入,该选项是fuse的标准选项。

    上一篇
    安装
    下一篇
    操作