最近更新时间:2025-03-07 15:01:12
挂载文件系统。挂载时需提供文件系统的Token和访问密钥(参考快速上手)。支持用root或普通用户挂载,但由于权限不同,客户端默认缓存目录及日志文件路径会有区别。
juicefs mount NAME MOUNTPOINT [options]
参数项 | 说明 |
---|---|
| 文件系统的名字。 |
| 主机上的挂载路径,比如: |
| 前台运行,客户端日志也会直接在前台输出,此选项多用于调试。 |
| 后台运行,这也是默认行为。 |
| 禁用 syslog。 |
| 日志存储路径,视挂载用户不同,默认为 |
| 在 Linux 挂载时,更新 |
| 限制挂载点的总大小。设置该选项来限制挂载点的容量上限,同时将 |
| 指定客户端Token。 |
参数项 | 说明 |
---|---|
| 开启扩展文件属性 xattr 的支持。默认为 false,如果没有特殊需要建议关闭,会产生额外开销。 |
| 开启 POSIX Extended ACL 的支持。 |
| 禁用 BSD lock 支持。 |
| 禁用 POSIX lock 支持。 |
| 中断信号的阻塞时间(单位为秒),默认为 1。 |
| 在内核中建立 readdir 缓存(需要 Kernel 4.20 及以上)。 |
| 允许其他用户访问(当用 |
参数项 | 说明 |
---|---|
| 挂载子目录。 |
参见通过本地缓存提升单客户端读写性能了解本地缓存设计。
参数项 | 说明 |
---|---|
| 元数据的缓存过期时间(单位为秒),默认为 300。 |
| 将元数据缓存在运行客户端的主机的内存里,默认启用。使用 |
| Inodes 的最大缓存数量,默认为 5000000。 |
| 是否使用缓存的元数据来打开文件,默认为 false,也就是说每次打开文件时都会访问元数据服务,确认文件是否被更改过。因此在需要频繁打开文件,而修改又较少时(建议针对只读场景开启),可以考虑启用 |
| 文件/目录的属性在内核中的缓存时间(秒),默认为“1.0s”。 |
| 文件项在内核中的缓存时间(秒),默认为“1.0s”。 |
| 目录项在内核中的缓存时间(秒),默认为“1.0s”。 |
参见通过本地缓存提升单客户端读写性能了解本地缓存设计。
参数项 | 说明 |
---|---|
| 读写缓冲区大小,单位 MiB,默认 300。详读读写缓冲区以了解如何对该参数进行调优。 |
| 预取:基于假如文件的某一小段被应用读取,那么文件附近的区域也很可能会被读取的假设,当随机读取文件某个块(Block)的一小段时,客户端会异步将整个块下载下来,用以优化随机读性能。 该参数代表是否进行预取,默认为1,即开启预取,设为0可禁用该行为。 |
| 预读:通过预测客户端未来的读请求,提前将文件后续的内容下载下来,用以优化大文件顺序读性能。 该参数代表初始预读窗口大小,单位为MiB,更大的初始窗口能够加速大文件顺序读性能。该参数默认为4096字节。 |
| 启用客户端写缓存,数据优先写到本地磁盘,然后在后台异步上传。 该参数默认为 false。写缓存仅推荐在大量小文件写入(比如解压包含大量小文件的压缩文件)时临时开启。 |
| 本地缓存目录,默认为
|
| 本地缓存空间总容量,单位MiB,默认102400(100GiB)。当指定了多个缓存目录时,总容量会平均分配到各个目录。 该参数设为0则会禁用本地磁盘缓存,但会导致客户端额外尝试分配 100MB 的内存用于缓存。 |
| 本地缓存目录的最少剩余空间占比,默认为0.1。该参数不支持设置为0,如果希望允许缓存尽可能写满磁盘,可以设置一个接近于 0 的值(比如 0.01)。 |
| 缓存目录的权限模式,默认是 0600。 |
| 对于读缓存,仅缓存小于4MiB的数据块,例如小于一个4MiB的小文件、大文件末尾不足4MiB的数据块。 该参数默认为 |
| 缓存数据一致性检查级别,默认为
|
| 缓存淘汰算法,默认为
|
参见通过分布式缓存提供多客户端缓存共享能力了解分布式缓存设计。
参数项 | 说明 |
---|---|
| 分布式缓存组的组名称,相同组的客户端之间可以相互共享缓存的数据,默认未启用。 |
| 一个缓存组中子组的数量,默认为 0。用子组来对缓存组做进一步拆分,实际上就是为缓存组名添加数字前缀。 |
| 缓存组的监听网卡,默认的监听 IP 是网络设备列表中找到的第一个内网 IP,如果这样的策略不合适,可以使用该参数手动指定网络设备。 |
| 手动设置缓存共享组的 IP 地址,在多网卡节点中,使用该参数来绑定特定网卡。除了指定 IP 地址,还可以直接传入 CIDR 前缀来自动匹配 IP,比如用 |
| 缓存组的监听端口,默认为随机端口。如果指定的端口不可用,则会自动 +1 直到绑定成功。 |
| 如果节点间缓存空间大小不一致,通过该值来调节节点各自的权重。建议取值范围为 10 到 1000。比如 1TiB 和 3TiB 的节点搭配成为缓存组,则可将 1TiB 节点设置权重 100,3TiB 节点设为 300。 |
| 如果不希望手动设定 |
| 加入缓存组时,从缓存集群获取缓存数据,但却不共享自身缓存数据(只索取、不付出)。该选项用于需要访问缓存集群数据,但自身却不断变动的节点(比如 Kubernetes Pod)。默认为 false。 |
| 将客户端写入的数据块尽量发送给缓存组(不保证 100% 缓存),而不再写入本地缓存。如果客户端同时启用了 |
| 单位 MiB。考虑到读文件时客户端会进行预读和预取,在开启分布式缓存时,对于小于该值的文件,客户端会尽量将该文件切分的数据块调度到一个节点上,以此来最大化利用缓存数据。 |
| 缓存块的优先级,可选值为:0、1、2、3,数字越大优先级越高。缓存淘汰时会优先淘汰优先级更低的数据。 |
将文件提前下载到缓存,提升后续本地访问的速度。可以指定某个挂载点路径,递归对这个路径下的所有文件进行缓存预热;也可以通过 --file
选项指定文本文件,在文本文件中指定需要预热的文件名。
如果需要预热的文件分布在许多不同的目录,推荐将这些文件名保存到文本文件中并用 --file
选项传给预热命令,这样做能利用 warmup
的并发功能,速度会显著优于多次调用 juicefs warmup
,在每次调用里传入单个文件。
预热命令不会重复下载本地已经存在的文件(会直接跳过),因此显示的下载速度可能会高于实际下载流量。如果开启了分布式缓存,那么在缓存组内任意节点执行该命令,都能获得相同效果。
juicefs warmup [PATH] [options]
# 预热目录中的所有文件
juicefs warmup /datadir
# 预热挂载点某子目录中的所有文件
juicefs warmup /datadir/train-data
# 预热指定文件
echo '/datadir/file1
/datadir/file2
/datadir/file3' >/tmp/filelist.txt
juicefs warmup -file=/tmp/filelist.txt
参数项 | 说明 |
---|---|
| 将需要预热的文件名保存成文本文件,一行一个路径。当需要预热多个指定文件时,建议使用这种方法,效率高于拆分成多个 |
| 下载并发度,默认 50。增大并发以加速预热。对于分布式缓存场景,如果预热速度不够快,建议从 |
| 缓存块的优先级,可选值为:0、1、2、3,数字越大优先级越高。缓存淘汰时会优先淘汰优先级更低的数据。 |
| 下载单个数据块的最大失败重试次数,默认为 1。在网络环境不佳的情况下可以降低并发、增加重试次数来更好地容错。 |
| 根据预热失败的数据块数量来决定命令返回值,默认允许的失败数量为 0,意味着如果有任何数据块下载失败,命令会返回失败状态(返回值为 1)。 |
| 后台运行。 |
| 主动删除给定路径的缓存内容。 |
| 检查给定路径是否已被缓存。 |
卸载文件系统。
juicefs umount PATH [options]
参数项 | 说明 |
---|---|
| 挂载路径。 |
| 强制卸载。 |
直接使用du命令可能会出现重复计数情况,所以需要使用如下命令显示目录树摘要。另外,您也可以在KPFS控制台查看文件系统目录及文件情况。
juicefs summary [command options] PATH
juicefs summary /datadir
# 显示最大深度为 5
juicefs summary --depth 5 datadir
# 显示前 20 个 entry
juicefs summary --entries 20 /datadir
参数项 | 说明 |
---|---|
| 显示树的深度,0 表示只显示根,默认为 2。 |
| 显示前 N 个 entry,按大小排序,默认为 10。 |
| 以 CSV 格式打印摘要。 |
直接使用du命令可能会出现重复计数情况,所以需要如下命令显示文件系统中文件或inode信息。另外,您也可以在KPFS控制台查看文件系统目录及文件情况。
juicefs info [command options] PATH/INODE
# 查询文件
juicefs info /mnt/datadir
# 查询目录
juicefs info -r /mnt/datadir/
# 通过 inode 反查文件信息
cd /mnt/datadir
juicefs info -i 100
参数项 | 说明 |
---|---|
| 要查询的路径或 inode。 |
| 通过 inode 查询文件信息,注意当前目录必须在 挂载点 中。 |
| 递归获取目录中所有子目录及文件的信息。 |
| 显示内部原始信息。 |
纯净模式