One of the cool features of CephFS is the recursive accounting the filesystem can do.
On a regular filesystem you have to use ‘du -sh’ to figure out how big a directory is. It will traverse into the directory and sum everything up for you. This can take a very long time and be very I/O intensive.
With CephFS this is done within a second:
root@admin:~# ls -alh /mnt/cephfs/ total 4.0K drwxr-xr-x 1 root root 81T Jan 23 13:09 . drwxr-xr-x 6 root root 4.0K Jan 13 15:41 .. drwxrwxr-x 1 root root 0 Jan 23 12:57 DIR1 drwxrwxr-x 1 root root 80T Apr 3 11:16 DIR2 root@admin:~#
Or fetch these statistics using the virtual xattrs of CephFS:
root@admin:~# getfattr -d -m ceph.dir.* /mnt/cephfs getfattr: Removing leading '/' from absolute path names # file: mnt/cephfs ceph.dir.entries="2" ceph.dir.files="0" ceph.dir.rbytes="88833202521902" ceph.dir.rctime="1430297412.09159402000" ceph.dir.rentries="10334874" ceph.dir.rfiles="9853051" ceph.dir.rsubdirs="481823" ceph.dir.subdirs="2" root@admin:~#
It is as simple as that. Using this virtual xattrs of CephFS you instantly know how much data, files and (recursive) entries there are in any directory.
No long waits on find or du, simply ask the Metadata Server of CephFS!