常见问题
更新时间:2023-06-15
常见问题排查
-
使用 bosfs 过程中,突然显示 "unable to access MOUNTPOINT /path/to/mountpoint: Transport endpoint is not connected",并且无法再访问.
- 首先, 您可以使用 ps ax | grep bosfs 命令查看 bosfs 进程是否存在, 如果 bosfs 进程是由于误操作而挂掉,您可以执行如下命令进行重新挂载:
fusermount -uz /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(默认在/tmp目录下, 可使用-o tmpdir=/mnt/tmp-path来指定文件目录) , 可能会导致磁盘可用空间不足,需要经常清理
- 可能的原因是listbucket、listobject 申请内存过多,触发了系统的 oom
- 仅用作数据下载/上传场景, 建议使用 boscmd 替代 bosfs ,非线上敏感业务可以使用 bosfs ,要求可靠性、稳定性的建议使用 bcecmd
-
在使用过程中出现长时间卡住的情况.
- 检查是否是磁盘io负载较高引起, 建议降低并发度, 挂载时指定-o multipart_parallel=5(默认为10)
- 检查机器到bos endpoint的网络环境, 若处于公网或网络不稳定场景下, 可配置-o client_timeout=5000, 使得网络传输达到配置时间后超时, 进行重试, 超时时间可根据具体网络环境设定.
- 可开启日志查看其他具体原因.
-
使用多个bosfs进程挂载相同bucket, 文件元信息不一致问题
- 在使用meta cache的情况下可能导致不同机器的元数据不一致(长度、mod权限等), 建议挂载时指定-o meta_expires=0来避免从cache读取meta数据, 但可能会增加ls/stat等指令的耗时
-
上传大文件时出现"there is no enough disk space for used as cache(or temporary)"报错
- bosfs在上传,下载中会使用/tmp目录存放临时文件, 若该目录下磁盘空间不足, 会报错
- /tmp目录下磁盘可用空间大小 < 文件大小, 需增加/tmp下空间大小.
- 检查multipart_size和multipart_parallel配置, 是否配错, 确保/tmp/下空间大小 > multipart_size * multipart_parallel
- 如果是只有上传,下载(顺序读写)的场景, 也可使用-o rw_strategy=mem_sequence -o mem_cache_per_size=20MB 配置开启memory cache模式, 将不再使用/tmp/目录.
-
使用过程中出现403报错
- 403报错一般是权限相关问题引起, 建议查看ak和权限配置.