最近更新时间: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参数项 | 默认值 | 说明 |
|---|---|---|
|
| 客户端⽇志⽬录 |
| 3 | 客户端⽇志级别(0=FATAL,1=ERROR,2=WARNING,3=NOTICE,4=INFO,5=DEBUG) |
| "" | fstab开机⾃动挂载,执⾏后会⾃动,参考开机自动挂载
|
参见通过本地缓存提升单客户端读写性能了解缓存相关设计。
参数项 | 默认值 | 说明 |
|---|---|---|
内核元数据缓存, | ||
| 5 | 缓存inode属性(size/权限/时间戳)。KPFS 在 |
| 5 | 缓存目录项(name → inode),默认5s;TTL 内的 |
客户端元数据缓存,TTL 越⻓,重复 | ||
| 5 | 文件的属性在内存中的过期时间(s)。 |
| 5 | 目录的属性在内存中的过期时间(s)。 |
| 1000 | 默认最多会缓存1000个inodes。 |
参见通过本地缓存提升单客户端读写性能、通过分布式缓存提供多客户端缓存共享能力了解缓存相关设计。
参数项 | 默认值 | 说明 |
|---|---|---|
| "" | 本地缓存目录,无默认值。设置多个缓存目录时用 |
| 0 | 本地缓存空间总容量,单位MiB,默认0。当指定了多个缓存目录时,总容量会平均分配到各个目录,且多盘目录不能互相包含。设置>0时必须同时配置 |
| "" | 分布式缓存组的组名称,相同组的客户端之间可以相互共享缓存的数据,设置非空即加入缓存组,必须同时配置 |
| 100 | 分布式缓存组节点权重,随心跳上报服务端,⽤于缓存组内数据按权重比例分布(可按可⽤缓存大小设置)。 |
| bond1 | 分布式缓存组通信网卡。 |
| 8500 | 分布式缓存组通信端口,1-65535。 |
| 0 | 客户端写缓存,默认关闭,设置为1则开启,开启后 未刷盘数据在断电/崩溃时可能丢失,数据有丢失风险。 |
| 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参数项 | 默认值 | 说明 |
|---|---|---|
| false | 后台批量模式(大⽂件按 256MB 切分任务)。 |
| 0 | 最大失败数(0=无限)。 |
| 50 | 并发线程数,取值1-10000。 |
| "" | 路径列表⽂件(每⾏⼀个, |
命令执行后会输出缓存状态码:0=完全缓存、1=部分缓存、2 =未缓存,并汇总已缓存字节与容量占⽐。
# 检查/datadir/train-data目录的缓存情况
kpfs check /datadir/train-data
# 检查指定文件的缓存情况
kpfs check /datadir --listfile=/tmp/filelist.txt
纯净模式
