容量与配额
文件和目录大小
JuiceFS 中不能通过 du
命令来统计目录大小,事实上也并不需要,因为目录大小已经是递归统计值,包含了目录中所有文件的大小并实时更新,可以直接在命令行用 ls -alh
或通过 Web 控制台查看。如果对 JuiceFS 目录运行 du
,得出的将是一个经过重复统计的错误值。
目录大小自带递归统计,这是一个 JuiceFS 企业版的特色功能,让大规模场景下也能轻松查看目录大小。JuiceFS 社区版无此功能,但可以通过开启「目录用量统计」功能实现类似的效果。
JuiceFS 文件系统的用量统计值是「4KB 对齐」的,不足 4KB 的文件会被视为 4KB 并参与用量统计,不仅如此,所有文件的最终计费大小都是 4KB 的整数倍,可以使用 juicefs summary
命令进行核实:
$ dd if=/dev/zero of=/jfs/outfile bs=5k count=1
$ ls -alh outfile
-rw-r--r-- 1 root root 5.0K Nov 22 10:46 outfile
$ juicefs summary outfile
+------+---------+------+-------+
| PATH | SIZE | DIRS | FILES |
+------+---------+------+-------+
| / | 8.0 KiB | 0 | 1 |
+------+---------+------+-------+
查看文件或目录的详情,也可以使用 juicefs info
,比如显示一个目录的统计信息:
$ juicefs info -r /jfs/logs
/jfs/logs:
inodes: 4 # 当前目录包含的 inode 总数
directories: 2 # 其中目录的数量
files: 2 # 其中文件的数量
chunks: 44 # 所有文件包含的 chunk 数量
length: 2.91G # 所有文件的实际大小总和
size: 2.91G # 计费大小,所有文件和目录大小会对齐到 4KB,为最小计费单位
控制台的文件系统页面也能直接查看以上信息,甚至还能进行可视化分析,比如查看多层目录的用量情况,可以点击文件列表右上方的图标,切换到图表形式查看整个文件系统的分布情况:
一共统计了 4 层路径,可以一眼看出是哪个路径的容量最大,哪个路径的 inodes 最多。
文件系统容量与配额
使用 df -h
可以查看文件系统总容量和使用量,由于碎片和回收站的存在,文件系统的使用量可能小于对象存储的使用量。
$ df -h -t fuse.juicefs
Filesystem Size Used Avail Use% Mounted on
JuiceFS:jfs1 80T 10T 70T 13% /jfs1
JuiceFS:jfs2 90T 20T 70T 22% /jfs2
注意,df
显示的总容量(Size
),是使用量(Used
)与剩余容量(Avail
)之和。而剩余容量大小则与你当前所使用的付费方案有关,也就是当前付费计划对应的容量上限,减去名下所有文件系统的已用容量。因此 df
命令中显示的剩余容量对于不同的文件系统来说都是一样的,所有文件系统「共享」剩余的存储空间。
如果你创建了多个文件系统,希望为各个文件系统单独设置容量限制,可以在控制台操作设置配额:
如上图所示,既可以对文件系统的根目录进行设置(相当于限制该文件系统总容量,相应地,这个容量限制也会在 df -h
的输出中显示),也可以设置在某个子目录上,根据实际需要调整即可。