全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

客户端命令集

最近更新时间:2026-10-13 23:31:07

KPFS提供了一套客户端命令行参数集,负载挂载、缓存预热/驱逐/检查、缓存组管理、配额、回收站等运维操作,支持在客户端使用KPFS文件系统中进行使用。

安装与挂载

指令

# 安装客户端
sudo curl http://kpfs-c2-qypre.ks3-cn-qingyang-pre-internal.ksyuncs.com/kpfs-client/kpfs  -o /usr/local/bin/kpfs && sudo chmod +x /usr/local/bin/kpfs
# 挂载文件系统
sudo /usr/local/bin/kpfs mount $VOL_NAME $MOUNTPOINT

基础参数

参数项

默认值

说明

--log-dir

/var/log/

客户端⽇志⽬录

--log-level

3

客户端⽇志级别(0=FATAL,1=ERROR,2=WARNING,3=NOTICE,4=INFO,5=DEBUG)

--update-fstab

""

fstab开机⾃动挂载,执⾏后会⾃动,参考开机自动挂载

  • 确保 /sbin/mount.kpfs 符号链接(root 运⾏时脚本创建)。

  • 在/etc/fstab增或改挂载项。

  • 保留所有⾮默认挂载参数。

元数据缓存相关参数

参见通过本地缓存提升单客户端读写性能了解缓存相关设计。

参数项

默认值

说明

内核元数据缓存,attr-timeout-s或entry-timeout-s 调大减少元数据下发(高并发 stat或ls ),但跨客户端变更后看到更新越慢。

--attr-timeout-s

5

缓存inode属性(size/权限/时间戳)。KPFS 在 getattr / lookup 时通过attr-timeout-s 告知内核有效期,默认5s;TTL 内的 stat 不下发⽤户态。

--entry-timeout-s

5

缓存目录项(name → inode),默认5s;TTL 内的 lookup 或路径解析由内核完成,含负缓存(lookup不存在的路径 TTL 内不重发)。

客户端元数据缓存,TTL 越⻓,重复stat或lookup的元数据 RPC 越少,但跨客户端变更后看到更新越慢。⾼并发元数据场景可调大TTL(如 30s),强⼀致性场景调小或关闭。

--file-meta-cache-s

5

文件的属性在内存中的过期时间(s)。

--dir-meta-cache-s

5

目录的属性在内存中的过期时间(s)。

--inode-cache-lru-count

1000

默认最多会缓存1000个inodes。

数据缓存相关参数

参见通过本地缓存提升单客户端读写性能、通过分布式缓存提供多客户端缓存共享能力了解缓存相关设计。

参数项

默认值

说明

--cache-dir

""

本地缓存目录,无默认值。设置多个缓存目录时用,分割。

--cache-size

0

本地缓存空间总容量,单位MiB,默认0。当指定了多个缓存目录时,总容量会平均分配到各个目录,且多盘目录不能互相包含。设置>0时必须同时配置--cache-dir。

--cache-group

""

分布式缓存组的组名称,相同组的客户端之间可以相互共享缓存的数据,设置非空即加入缓存组,必须同时配置--cache-dir。

--group-weight

100

分布式缓存组节点权重,随心跳上报服务端,⽤于缓存组内数据按权重比例分布(可按可⽤缓存大小设置)。

--group_netcard

bond1

分布式缓存组通信网卡。

--group_port

8500

分布式缓存组通信端口,1-65535。

--writeback

0

客户端写缓存,默认关闭,设置为1则开启,开启后--cache-size必须设置>0。开启后写入数据先写入本地缓存目录再异步刷回后端存储。

未刷盘数据在断电/崩溃时可能丢失,数据有丢失风险。

--no-sharing

0

加入分布式缓存组时,从缓存集群获取缓存数据,但却不共享自身缓存数据(只索取、不付出)。

客户端缓存预热

将文件提前下载到缓存,提升后续本地访问的速度。可以指定某个挂载点路径,递归对这个路径下的所有文件进行缓存预热;也可以通过 --listfile 选项指定文本文件,在文本文件中指定需要预热的文件名。

如果需要预热的文件分布在许多不同的目录,推荐将这些文件名保存到文本文件中并用 --listfile 选项传给预热命令,这样做能利用 warmup 的并发功能,速度会显著优于多次调用 kpfs warmup,在每次调用里传入单个文件。

预热命令不会重复下载本地已经存在的文件(会直接跳过),因此显示的下载速度可能会高于实际下载流量。如果开启了分布式缓存,那么在缓存组内任意节点执行该命令,都能获得相同效果。

指令

# 预热挂载点目录中的所有文件
kpfs warmup /datadir
# 预热挂载点某子目录中的所有文件
kpfs warmup /datadir/train-data
# 预热指定文件
echo '/datadir/file1
/datadir/file2
/datadir/file3' >/tmp/filelist.txt
kpfs warmup /datadir --listfile=/tmp/filelist.txt

参数

参数项

默认值

说明

-b,--warm_background

false

后台批量模式(大⽂件按 256MB 切分任务)。

-m,--max_failure=N

0

最大失败数(0=无限)。

-n,--concurrent=N / -t,--thread=N

50

并发线程数,取值1-10000。

-l,--listfile=FILE

""

路径列表⽂件(每⾏⼀个,#注释,上限 100 万行)。

缓存状态检查

指令

命令执行后会输出缓存状态码:0=完全缓存、1=部分缓存、2 =未缓存,并汇总已缓存字节与容量占⽐。

# 检查/datadir/train-data目录的缓存情况
kpfs check /datadir/train-data

# 检查指定文件的缓存情况
kpfs check /datadir --listfile=/tmp/filelist.txt

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈