Skip to content

Volume Analysis and Search

analyze.flexfs and find.flexfs query the metadata server directly, providing fast volume-wide analysis without traversing the FUSE layer. Both tools work with Enterprise and Community editions.

Identify the most expensive files in a volume:

Terminal window
analyze.flexfs files --orderBy cost --limit 20 --header /mnt/flexfs

Output (tab-separated):

path size blocks size_bin cost
/data/genome/sample1.bam 52428800000 12500 62 15.23
/data/genome/sample2.bam 48318382080 11520 61 14.02

See which directories consume the most storage:

Terminal window
analyze.flexfs folders --maxDepth 2 --header /mnt/flexfs

Identify which users are consuming the most space:

Terminal window
analyze.flexfs users --orderBy size --header /mnt/flexfs

Output includes UID, resolved username, size, and cost.

All analyze.flexfs subcommands can connect directly to a metadata server without requiring a local mount:

Terminal window
analyze.flexfs files \
--metaAddr meta.example.com:443 \
--volume my-volume \
--orderBy size --limit 50 /data

Both --metaAddr and --volume must be provided together. The volume can be specified by name or UUID.

Write results to a file:

Terminal window
analyze.flexfs files --outputFile /tmp/top-files.tsv --header /mnt/flexfs
Terminal window
find.flexfs --name *.bam --type f /mnt/flexfs
Terminal window
find.flexfs --minSize 1073741824 --type f --fields path,size,cost --header /mnt/flexfs
Terminal window
find.flexfs --uid 1001 --type f --fields path,size,uid /mnt/flexfs

Find files not accessed since a specific timestamp (nanoseconds since epoch):

Terminal window
# Files not accessed since 2025-01-01
find.flexfs --maxAtime 1735689600000000000 --type f /mnt/flexfs
Terminal window
find.flexfs --type d --empty /mnt/flexfs
Terminal window
find.flexfs --perm 0777 --type f --fields path,perm /mnt/flexfs

Use --permMask to match a subset of permission bits:

Terminal window
# Files that are world-writable (check only the "other write" bit)
find.flexfs --perm 2 --permMask 2 --type f /mnt/flexfs

Export all files with all metadata fields:

Terminal window
find.flexfs --fields all --header --type f \
--outputFile /tmp/full-inventory.tsv /mnt/flexfs

Like analyze.flexfs, find.flexfs supports direct metadata server connections:

Terminal window
find.flexfs --metaAddr meta.example.com:443 --volume my-volume \
--name *.log --type f /

The find.flexfs tool supports this field set for --fields:

FieldDescription
pathFile path (default)
inoInode number
modeRaw mode bits
typeInode type (f, d, l, p, s, b, c)
permPermission bits (octal)
blocksBlock count
sizeSize in bytes
size_binAccess-time age bin (30-day increments)
costEstimated monthly storage cost
nlinkHard link count
uidOwner user ID
gidOwner group ID
ctimeChange time (nanoseconds since epoch)
mtimeModification time (nanoseconds since epoch)
atimeAccess time (nanoseconds since epoch)
btimeBirth (creation) time (nanoseconds since epoch)
xattrsExtended attributes
  • Cost optimization: Use analyze.flexfs files --orderBy cost to find the most expensive files and schedule archival or deletion.
  • Compliance auditing: Use find.flexfs --fields all --header to generate a complete filesystem inventory.
  • Stale data identification: Use find.flexfs --maxAtime <cutoff> to find files not accessed within a retention window.
  • Permissions audit: Use find.flexfs --perm --permMask to find files with overly permissive access.
  • Capacity planning: Use analyze.flexfs folders --maxDepth 3 to understand storage distribution across the directory tree.