参数设置
bosfs支持设定参数来配置用户权限、存储类型及缓存等。执行bosfs –h可以获得bosfs参数设置的详细说明:
bosfs参数 | 配置作用 | 注意事项 |
---|---|---|
-o use_cache, -o bos.fs.cache.base=< your_cache_dir_path > | 指定file模式下cache file位置 | 该位置不能在挂载点内,且必须是绝对路径 |
-o allow_other -o mount_umask | 允许其他用户访问挂载点,并通过mount_umask禁止某些权限 | 默认情况下,bosfs只具有挂载用户的读、写、执行权限即S_IRWXU |
-o meta_expires=< integer seconds> | 指定meta缓存过期时间 | 默认为不过期, 有多个bosfs挂载同一bucket,且同时读写同一文件场景时, 建议设置 |
-o meta_capacity=< integer number> | 指定内存中meta缓存容量,超过容量后过期的缓存会被清除 | 默认 100000 |
-o meta_strategy=<remote,merge,local> | 指定meta读取策略 remote:从远端读 merge:从远端读且于本地合并 local:只读本地缓存 | 该参数需于meta_expires配置使用 |
-o storage_class=< standard or standard_ia> | 指定object存储类型,包括标准存储和低频存储 | 默认为标准存储 |
-o tmpdir=<your_tmp_dir> | 指定file模式下临时文件位置 | 该位置不能在挂载点内,且必须是绝对路径,临时文件非长期存储在磁盘,close file后会被清除, 如未配置 use_cache则默认使用该模式 |
-o multipart_size=<integer KB,MB> | 指定并发传输的分片大小,可用KB或MB单位 | 默认为10MB |
-o multipart_threshold=<integer KB,MB> | 指定启用三步上传的文件大小阈值, 超过该阈值则开启 | 默认为100MB |
-o multipart_parallel=<integer number'> | 限制大文件上传并发度 | 可根据网络带宽等因素合理配置 |
-o preload_blocks=<integer number,MB> | 指定预读blocks数, 单次预读数据: preload_blocks*1MB | 默认0, 如进行大文件下载(顺序读), 建议配置, 若进行随机读, 则不建议配置 |
-o connect_timeout=< milliseconds> | 指定连接Bos server的超时时间 | 默认1000ms |
-o client_timeout=< milliseconds> | 指定数据传输的超时时间 | 默认1200000ms, 处于弱网状态建议进行配置, 超时后会进行重试 |
-o rw_strategy=<mem_sequence,mem_random> | 指定读写策略, mem_sequence:使用内存模式, 进行顺序读写(适用于上传下载场景); mem_random:使用内存模式, 随机读写 | mem_sequence:只能进行顺序读写, 使用于上传/下载大文件, 提升性能且减少/tmp目录的空间使用. |
-o mem_cache_per_size=< integer MB> | 配置rw_strategy=mem_sequence/mem_random前提下, 指定单个文件的内存cache大小 | 配置rw_strategy=mem_random时, 需注意, mem_cache_per_size值必须大于所有可能打开文件大小最大值. |
-o mem_cache_limit_size=< integer MB> | 配置rw_strategy=mem_sequence/mem_random前提下, 指定内存模式的总内存阈值, 超过该阈值, 则自动转换成普通file模式 | 默认值为启动bosfs时系统free内存大小 * 80% |
-o logfile=</tmp/bosfs.log> -o loglevel=debug | 开启bosfs日志,指定位置在/tmp/bosfs.log下 | 默认1GB进行切割 |
fuse参数 | 配置作用 | 注意事项 |
---|---|---|
-o ro | 设置为只读模式, 用于保护bucket不被写入 | 该选项是fuse的标准选项 |
-o direct_io | 设置为direct_io, 不使用操作系统page cache | 配置rw_strategy=mem_sequence/mem_random前提下可设置为direct_io, 该选项是fuse的标准选项 |
日志
日志默认输出到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的标准选项。