帮你快速理解、总结文档立即下载
文档中心>对象存储

配置说明

最近更新时间:2026-08-11 10:08:02
我的收藏
COSFS2 提供了丰富的配置参数供用户使用,如认证鉴权、并发数、缓存模式等。您可以根据使用场景的不同,灵活调整各配置项的值。本文档旨在全面介绍 COSFS2 的配置方法与各项参数的含义,帮助用户快速理解并安全高效地使用该工具。

配置方法

为简化使用,COSFS2 几乎为所有配置参数都指定了默认值,并提供了两种方式修改指定配置参数的默认值。您需要先参照 下载与安装 部署 COSFS2 工具。

方式一:命令行方式

通过命令行方式指定的配置参数优先级最高,但只支持常用的配置参数。您可以通过 cosfs2 --help 或 cosfs2 -h 命令查看 cosfs2 支持的完整配置参数,并在实际的挂载命令中修改其中一个或多个配置参数。
如下是一个简单的通过命令行指定参数并挂载 COSFS2 示例:
该命令将 COS 桶 cos://example-1250000000.cos.ap-guangzhou.myqcloud.com 挂载至本地目录 /mnt/test,指定 uid,gid 为 0,fuse_options 为 allow_other,并且开启了内存流式写入模式。您需要将 your-secret-id 和 your-secret-key 替换为自己的 secret-id 和 secret-key,请前往 API 密钥控制台 获取。
[root@k8s-node1 cosfs2-1.1.0.51]# cd bin/
[root@k8s-node1 bin]# ls -l
total 83428
-rwxr-xr-x 1 root root 85428758 Dec 5 19:13 cosfs2
[root@k8s-node1 bin]# /data/cosfs2-1.1.0.51/bin/cosfs2 --uid=0 --gid=0 --o allow_other --cos-secret-id=your-secret-id \\
--cos-secret-key=your-secret-key \\
--enable-streaming-writes=true \\
cos://example-1250000000.cos.ap-guangzhou.myqcloud.com /mnt/test

方式二:配置文件方式

COSFS2 支持 yaml 格式的配置文件,配置项按照分类组织为两层架构:第一层为配置大类,第二层为具体配置项。在 COSFS2 的安装包中,提供了一个简单的配置文件样例,您可以根据需要修改或添加配置项。部分配置项支持热加载,其余配置项则需重新挂载后生效。
如下是一个 COSFS2 配置文件样例, 以版本 cosfs2-1.1.0.51 为例,该配置文件的默认存放路径为 /data/cosfs2-1.1.0.51/conf/cosfs2.yaml :
app-name: "cosfs2"
cos:
secret-id: "********"
secret-key: "********"
logging:
file-path: "/data/cosfs2-1.1.0.51/log/cosfs2.log"
format: text
severity: trace
file-cache:
cache-dir: "/data/cosfs2-1.1.0.51/cachedir"
max-size-mb: 20480
file-system:
temp-dir: "/data/cosfs2-1.1.0.51/tmp"
fuse-options: "allow_other"
foreground: false
完成配置后,您可以通过命令挂载 COS 桶到本地目录。
如下是一个典型的通过配置文件方式挂载 COSFS2 示例,您需要显式指定 COSFS2 的配置文件路径。
[root@k8s-node1 cosfs2-1.1.0.51]# cd bin/
[root@k8s-node1 bin]# ls -l
total 83428
-rwxr-xr-x 1 root root 85428758 Dec 5 19:13 cosfs2
[root@k8s-node1 bin]# /data/cosfs2-1.1.0.51/bin/cosfs2 --config-file=/data/cosfs2-1.1.0.51/conf/cosfs2.yaml \\
cos://example-1250000000.cos.ap-guangzhou.myqcloud.com /mnt/test
注意:
命令行方式指定的配置参数的优先级高于配置文件的方式,但配置文件支持的配置参数更完整。如果您在命令行和配置文件中修改了同一个配置参数的默认值,那么实际生效的是命令行中指定的值。详细挂载说明参照 挂载存储桶

配置项说明

下文将按配置分类,对 COSFS2 支持的主要配置项进行逐一说明。

auditlog 相关配置

COSFS2 支持记录文件系统和桶相关操作的审计日志, 用于对接某些对安全要求较高的使用场景。审计日志相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
enable
否
bool
true/false
默认:false
文件系统操作和桶操作审计日志开关,开启审计日志后性能会受到影响。false 表示关闭审计日志功能
否
file-path
否
string
NA
默认:空
审计日志文件的绝对路径
是
log-rotate.backup-file-count
否
int
>= 1
默认:10
存储的审计日志文件最大个数限制。单位:个
是
log-rotate.compress
否
bool
true/false
默认:true
是否使用 GZIP 压缩,true 表示压缩日志文件
是
log-rotate.max-age-day
否
int
>= 1
默认:30
审计日志保存的最大天数限制。单位:天
是
log-rotate.max-file-size-mb
否
int
>= 1
默认:100
审计日志的单个文件大小限制。单位:MB
是
method
否
[]string
NA
默认:空
需要审计的方法名列表,指定文件系统操作和桶操作具体方法名记录审计日志。配置为空则表示审计所有的方法
否
注意:
目前支持审计的文件系统方法名有:StatFS、LookUpInode、GetInodeAttributes、SetInodeAttributes、ForgetInode、BatchForget、MkDir、MkNode、CreateFile、CreateSymlink、Rename、RmDir、Unlink、OpenDir、ReadDir、ReadDirPlus、ReleaseDirHandle、OpenFile、ReadFile、WriteFile、FlushFile、ReleaseFileHandle、ReadSymlink 等。
桶操作方法名有:NewReader、CreateObject、CreateObjectChunkWriter、CopyObject、DeleteObject、FinalizeUpload、ListObjects、StatObject、UpdateObject 等。

COS 相关配置

COSFS2 使用 COS SDK 来与 COS 存储桶进行交互。COS 相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
copypart-size
否
int
[5, 5120]
默认:10
COS 对于超过5GB的文件不支持简单拷贝,只能进行分块拷贝,这个配置项用于指定拷贝时单个分块的大小上限。单位:MB
是
enable-sts
否
bool
true/false
默认:false
安全凭证服务(Security Token Service, STS)启用开关。false 表示不启用 STS 功能
否
max-in-progress-streaming-write-files
否
int
>= 1
默认:16
并发进行内存流式写入的文件最大数量限制。若超过该限制,后续写入请求会回退到磁盘文件写入模式。单位:个
是
max-streaming-write-buffer-count-per-file
否
int
[2, 1024]
默认:8
单个文件内存流式写入时使用的 buffer 最大数量限制。单位:个
是
max-streaming-write-buffer-size-per-file
否
int
[1, 5120]
默认:10
内存流式写入模式中单个 buffer 的内存大小限制,也等于上传到 COS 使用的分块大小。单位:MB
COS 后端限制最大 10000 个分块,这个值决定内存流式写入模式默认最大支持文件大小为 10M * 10000 ≈ 97.65G
是
max-parallel-copypart
否
int
[1, 10000]
默认:8
控制 CopyObject 接口中的并发 copy 请求线程数。单位:个
是
max-parallel-head-for-list
否
int
[1, 10000]
默认:20
控制 ListObject 接口中的并发 head 请求线程数。单位:个
是
multipart-size
否
int
[5, 5120]
默认:10
磁盘文件写入模式,上传到 COS 使用的分块大小。单位:MB。
COS 后端限制最大 10000 个分块,这个值决定磁盘文件写入模式默认最大支持文件大小为 10M * 10000 ≈ 97.65G
是
owner-appid
否
int
腾讯云账号的 APPID
默认:空
当 enable-sts 为 true 且 sts.provider 为空时,用于指定 COS 存储桶所属账号的 APPID,此时该参数为必填项
否
request-timeout-seconds
否
int
>= 1
默认:30
COS 请求超时时间。单位:秒
否
retry-count-max
否
int
无限制
默认:100
COS 请求返回错误码 5XX 时,最大重试次数限制。单位:次。
retry-count-max 为 0 时,对所有请求均不重试
retry-count-max 为正数时,对返回错误码 503 的请求进行无限重试,返回其它 5XX 错误码的请求会根据该配置进行有限重试
retry-count-max 为负数时,对所有返回错误码 5XX 的请求(包含503)进行无限重试
是
retry-interval-ms-max
否
int
>= 1
默认:8000
返回错误码 5XX 的请求(包含503)的最大重试时间间隔。单位:毫秒
是
retry-interval-ms-min
否
int
(1, retry-interval-ms-max)
默认:500
返回错误码 5XX 的请求(包含503)的最小重试时间间隔。单位:毫秒
是
secret-id
是
string
NA
默认:空
用于挂载 COS 存储桶的账号的 secret-id
请前往 API 密钥控制台 获取
是
secret-key
是
string
NA
默认:空
用于挂载 COS 存储桶的账号的 secret-key
请前往 API 密钥控制台 获取
是
sts.duration-seconds
否
int
[1, 43200]
默认:43200
当 enable-sts 为 true 时,指定STS密钥过期时长。单位:秒
是
sts.end-point
否
string
NA
默认:sts.tencentcloudapi.com
当 enable-sts 为 true 时,指定 STS 的域名
是
sts.provider
否
string
NA
默认:空
当 enable-sts 为 true 时,指定 STS 的来源类型,为 "CvmRole" 、"AwsExternal" 或为空
是
sts.region
否
string
NA
默认:空
当 enable-sts 为 true 时,指定 COS 存储桶的 region
是
sts.scheme
否
string
https/http
默认:https
当 enable-sts 为 true 时,指定访问 STS endpoint 的协议
是
upload-worker-num
否
int
[1, 10000]
默认:8
采用磁盘文件写入模式,上传单个文件到 COS 的并发数限制。单位:个
是
use-https
否
bool
true/false
默认:false
COS SDK 是否使用 https。false 表示不使用 https
是
user-agent-extra-info
否
string
len <= 256
默认:空
在 user-agent 后追加不超过256字节的附加信息,形如 tencentyun-cosfs2-v5-{version} (extra info)
否
http.dial-timeout-seconds
否
int
>= 1
默认:30
COS SDK​​ 建立传输连接​​的超时时间限制。单位:秒
否
http.idle-conn-timeout-seconds
否
int
>= 1
默认:90
COS SDK 空闲连接在连接池中保留的最长时间限制。单位:秒
否
http.max-conns-per-host
否
int
>= 1
默认:1024
​​COS SDK 单个 COS endpoint​​ 允许建立的​​最大并发连接数限制​​。单位:个
否
http.max-idle-conns
否
int
>= 1
默认:2048
​​COS SDK 保持的​​最大空闲连接总数限制。单位:个
否
http.max-idle-conns-per-host
否
int
>= 1
默认:1024
​​COS SDK 单个 endpoint​​ (例如 example-1250000000.cos.ap-beijing.myqcloud.com) 保持的最大空闲连接数限制。单位:个
否

mem-cache 相关配置

COSFS2 支持使用内存来加速顺序读请求。mem-cache 基于文件的 open 句柄,使用内存滑动窗口缓存文件顺序读数据。当 mem-cache 启用时,其优先级高于 file-cache。mem-cache 相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
block-size-mb
否
int
[1, 512]
默认:4
单个内存缓存块的大小限制,小于该值的文件不会被缓存至 mem-cache。单位:MB
否
capacity-blocks
否
int
[0, 65536]
默认:0
mem-cache 占用缓存块的最大数量限制。单位:个
0 代表不启用 mem-cache
否
max-blocks-per-handle
否
int
[1, 8192]
默认:128
mem-cache 为单个文件句柄提供的最大缓存块数量。单位:个
否
max-parallel-downloads
否
int
[1, 65536]
默认:128
mem-cache 全局的最大下载并发数限制。单位:个
否
max-parallel-downloads-per-handle
否
int
[1, 8192]
默认:16
mem-cache 单个文件句柄的最大下载并发数限制。单位:个
否
exclude-pattern
否
string
NA
默认:空
黑名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将不会被缓存至 mem-cache
否
include-pattern
否
string
NA
默认:空
白名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将会被缓存至 mem-cache(当 include-pattern 非空时,exclude-pattern 将被忽略)
否

file-cache 相关配置

COSFS2 支持使用本地磁盘文件来缓存从远端 COS 读取的数据,从而加速读请求。file-cache 相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
cache-dir
否
string
NA
默认:空
该功能会将 COS 读取的内容写入该目录下的本地磁盘文件中,后续通过本地磁盘文件加速读请求
当 file-cache 配置的 max-size-mb 值不为 0且 cache-dir 不为空,本地磁盘文件缓存才会生效
file-cache 会自动下载整个文件到该目录下,超过 max-size-mb 配置大小的文件不会下载
若某文件已被缓存至本地磁盘,当该文件在远端 COS 被并发删除时,COSFS2客户端无法实时感知此变更,不会主动立即清理本地缓存文件,file-cache 会通过 LRU 策略对缓存文件进行淘汰
否
cache-file-for-range-read
否
bool
true/false
默认:true
是否为随机读缓存整个文件
否
clean-up-cache-dir-on-mount
否
bool
true/false
默认:false
挂载时自动清理当前桶的缓存目录,false 表示不清理
否
download-chunk-size-mb
否
int64
>= 1
默认:4
下载远端 COS 文件到本地 file-cache 时,并发下载的分块大小限制。单位:MB
否
enable-o-direct
否
bool
true/false
默认:false
false 表示写入本地磁盘文件对应的 open 请求不带参数 syscall.O_DIRECT,即不使用操作系统 page cache 缓存
否
enable-parallel-downloads
否
bool
true/false
默认:true
是否并发从远端 COS 下载文件到本地 file-cache 中。true 表示使用并发下载
否
max-parallel-downloads
否
int64
>= 1
默认:max(16, 2*runtime.NumCPU())
所有文件的最大总并发下载数。单位:个
否
max-size-mb
否
int64
>= -1
默认:102400
cache-dir 目录最大占用空间大小,单位:MB。-1 表示不限制空间大小。
卸载或重启进程,目录中的数据仍然存在于 cache-dir 目录中。需要在每次卸载或重启进程前手动删除 cache-dir 缓存目录中的数据,或者配置 clean-up-cache-dir-on-mount 为 true
否
parallel-downloads-per-file
否
int64
>= 1
默认:8
单文件最大并发下载数。单位:个
否
sequential-read-size-mb
否
int
>= 1
默认:4
当 mem-cache 与 file-cache 均未命中时,需直接从远端 COS 读取数据。该参数用于限制此类场景下,单次请求读取远端 COS 的数据长度上限,单位:MB
否
write-buffer-size
否
int64
>= 4096
默认4194304
在 enable-o-direct 生效时,将远端 COS 下载内容,写入本地 file-cache 文件时使用的 buffer 大小。需要与 4096 对齐,单位:Byte
建议小于或等于 download-chunk-size-mb
否
max-prefetch-worker-num
否
int
[1, 1024]
默认:10
预取任务工作线程数。单位:个
否
prefetch-on-mount-path
否
string
NA
默认:空
挂载时预取的目标目录名
否
prefetch-on-mount-reg
否
string
NA
默认:空
挂载时预取所匹配的正则表达式
否
exclude-pattern
否
string
NA
默认:空
黑名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将不会被缓存至 file-cache
否
include-pattern
否
string
NA
默认:空
白名单正则规则,空值表示该配置不生效。若该配置值非空,匹配该规则的文件将会被缓存至 file-cache(当 include-pattern 非空时,exclude-pattern 将被忽略)
否

file-system 相关配置

COSFS2 将远端 COS 桶挂载到本地目录,应用就像访问本地文件系统一样访问 COS 桶里的数据。文件系统相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
check-bucket-works-on-mount
否
bool
true/false
默认:true
挂载时是否检查桶可用。true 表示挂载时检查,false 表示挂载时不检查,推迟到后续业务请求时检查
否
dir-mode
否
octal
NA
默认:0755
新建目录默认权限
否
disable-parallel-lookup-unknown-type
否
bool
true/false
默认:true
未知类型是否启用并发 lookup 查询。true 表示不启用并发 lookup
否
file-mode
否
octal
NA
默认:0644
新建文件默认权限
否
fuse-options
否
string
NA
默认:空
fuse 挂载时的初始化参数
使用 allow_other 即可允许除 mount 用户外的其他用户访问挂载点
否
gid
否
int64
[0, 65536]或-1
默认:-1
创建文件/目录时,指定文件/目录所属用户组。若该配置小于 0 则使用进程所属 GID,大于等于 0 则使用该配置
否
handle-sigterm
否
bool
true/false
默认:true
是否响应操作系统 SIGTERM 信号。true 表示响应
否
ignore-truncate-err-for-streaming-writes
否
bool
true/false
默认:true
是否忽略内存流式写入时,truncate 操作报错,true 表示忽略错误,此时 truncate 并不会生效
否
kernel-attr-ttl-secs
否
int
>= 0或者 -1
默认:60
操作系统内核缓存元数据属性的时长,过期会发起 getInodeAttr 请求。-1 表示不过期。单位:秒
否
kernel-dentry-ttl-secs
否
int
>= 0或者 -1
默认:60
操作系统内核缓存 name/dentry 映射的时长,过期会发起 lookup 请求。-1 表示不过期。单位:秒
否
kernel-list-cache-ttl-secs
否
int
>= 0或者 -1
默认:0
opendir 时,操作系统内核目录 entry 在 page cache 中的时长,超过时则在下次 opendir 请求时重新校验。-1 表示不过期。单位:秒
否
precondition-errors
否
bool
true/false
默认:true
如果正在同步或读取的对象被其他并发进程修改,则映射错误码为 syscall.ESTALE。false 表示忽略该报错
否
readdir-entry-limit
否
int64
[0, 100000000]
默认:20000
readdir/readdirplus 对 COS 做 ListObjects 操作时获取的 entry 数目限制,超出该限制值,请求会报错。单位:个
否
rename-dir-limit
否
int64
[0, 100000000]
默认:0
目录 rename 时,包含子目录/子文件的数量限制,超过该限制值,请求会报错,不允许 rename 目录。单位:个
否
temp-dir
否
string
NA
默认:空
使用磁盘文件写入模式时,文件会写入到该目录
为空则会使用系统默认的临时目录,例如/tmp
否
uid
否
int64
[0, 65536] 或-1
默认:-1
创建文件/目录时,指定文件/目录所属用户。若该配置小于 0 则使用进程属主 UID,大于等于 0 则使用该配置
否
implicit-dirs
否
bool
true/false
默认:true
是否兼容目录不以空对象存在的情况。开启后会用 list 请求探测目录,否则会用 head 请求探测目录。通过 COSFS2 创建的目录都会以空对象的形式存在于 COS 桶中。
否
lookup-explicit-dirs-first
否
bool
true/false
默认:true
开启后 lookup 时会先用 head 请求探测目录,若不存在再用 list 请求探测目录,仅在 file-system.implicit-dirs = true 时生效。
否
enable-streaming-out-of-order-fallback-to-tmp-file
否
bool
true/false
默认:false
内存流式写入模式不支持随机写。内核写请求数据乱序到达时,是否允许内存流式写入模式转为磁盘文件写入模式。true 表示不满足内存流式写入条件时,自动使用磁盘文件写入模式加速写请求
否
enable-streaming-writes
否
bool
true/false
默认:true
是否采用内存流式写入。true 表示使用内存流式写入模式,false 表示采用磁盘文件写入模式
推荐配置为 true。内存流式写入模式性能高效,但不支持随机写;正在内存流式写入且尚未flush/close 的文件,无法同时被读取,只能在flush/close 后才能读取
采用磁盘文件写入模式加速写请求时,会占用本地 temp-dir 目录空间,具体占用空间大小和并发写入数据量(不 flush/close)有关系,当一个文件 close/flush 后不会再占用本地 temp-dir 目录空间。由于某些本地文件系统不支持设置目录 quota,所以 COSFS2 无法主动限制 temp-dir 文件夹占用空间大小,业务方需要根据具体业务评估并规划分配 temp-dir 目录足够空间
否
only-dir
否
string
NA
默认:空
指定后所有文件操作在桶的子目录进行。子目录是一个相对路径,路径的第一个字符不带"/",例如:only-dir = "dir/subdir/”
否
enable-readdirplus
否
bool
true/false
默认:false
是否支持 readdirplus,false 代表不支持
否
disable-write-back-caching
否
bool
true/false
内存流式写入模式默认:true
磁盘文件写入模式默认:false
是否关闭内核 writeback cache,false 代表不关闭
否

logging 相关配置

COSFS2 支持记录详细的日志,用于高效定位问题。日志相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
file-path
是
string
NA
默认:空
日志文件的绝对路径
否
format
否
string
text/json
默认:text
日志文件的格式,可选 text 或 json
否
log-rotate.backup-file-count
否
int64
>= 1
默认:10
log 文件个数。单位:个
否
log-rotate.compress
否
bool
true/false
默认:true
是否使用 gzip 压缩日志文件。true 表示压缩
否
log-rotate.max-file-size-mb
否
int64
>= 1
默认:100
log 文件 rotate 前最大 size。单位:MB
否
severity
否
string
trace/debug/info/warning/error/off
默认:error
日志打印级别,配置项描述如下:
trace:跟踪
debug:调试
info:信息
warning:警告
error:错误
off:关闭
是

metadata-cache 相关配置

COSFS2 支持多种元数据 cache,包括 stat-cache、type-cache 等,用于加速文件系统元数据操作。元数据 cache 相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
ttl-secs
否
int64
>= 0
默认:300
元数据 cache 中的条目最长过期时间,0 表示不使用元数据缓存。单位:秒
否
stat-cache-max-size-mb
否
int64
>= 0
默认:128
stat-cache 保存元数据信息。stat-cache 最大占用多少内存,0 表示不使用 stat-cache。单位:MB
否
type-cache-max-size-mb
否
int64
>= 0
默认:0
type-cache 用于快速判断一个对象是文件或目录。type-cache 最大占用多少内存,0 表示不使用 type-cache。单位:MB
否
enable-nonexistent-type-cache
否
bool
true/false
默认:false
lookup 某文件不存在时,会在 type-cache 缓存中创建一个 nonexistent 类型的缓存项。这也意味着在该缓存项过期前,无法感知到新创建的同名文件/目录。false 表示关闭该缓存
否

process 相关配置

COSFS2 支持进程级别的配置,用于限制进程资源使用。进程相关配置参数如下表所示。
配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
runtime-memory-limit-mb
否
int64
>= 256 or -1
默认:1024
COSFS2 进程内存软上限(非硬上限),超过该阈值,会尽量加速内存垃圾回收。-1 表示不设置上限。单位:MB。
该配置影响性能,不宜设置太小
否
注意:
该配置的默认值仅适用于 COSFS2 默认配置,如果您调整了以下配置项,建议重新评估此值,避免实际内存用量长期超过该上限导致频繁垃圾回收影响性能:
COS 相关配置内存计算公式:max-in-progress-streaming-write-files * max-streaming-write-buffer-count-per-file * max-streaming-write-buffer-size-per-file,单位:MB
mem-cache 相关配置内存计算公式:block-size-mb * capacity-blocks,单位:MB
metadata-cache 相关配置内存计算公式:stat-cache-max-size-mb,单位:MB
建议将 runtime-memory-limit-mb⁠ 设置为上述三者之和,并适当预留内存余量

其它配置

配置项
必填参数
数据类型
取值范围
配置项说明
支持热加载
app-name
否
string
NA
默认:空
使用挂载点的应用名,例如:COSFS2
否
foreground
否
bool
true/false
默认:false
COSFS2 是否运行在前台。false 表示运行在后台
否