Planning approach
Begin high-file-count NAS planning with four separate estimates rather than a single file-count or capacity figure.
-
Total file-system objects over the workload lifecycle
-
Peak entries in the largest directory
-
Peak create, lookup, enumeration, and delete rates
-
Capacity for user data, inodes, directories, directory indexes, Snapshot copies, and growth
Use the following methods to gather those inputs:
Find total objects and inode headroom
Compare application inventory with ONTAP's public-inode counters:
volume show -vserver <svm> -volume <volume> -fields files,files-used set -privilege advanced volume show -vserver <svm> -volume <volume> -fields files-maximum-possible,inodefile-public-capacity
For FlexGroup, inspect both the configured total and every constituent's use:
volume show -vserver <svm> -volume-style-extended flexgroup-constituent -fields files,files-used
-
Include projected files, directories, streams, ACLs, public directory indexes, temporary objects, and migration overlap in the total estimate.
-
Where ACLs are common, use up to twice the projected file and directory count as a conservative starting estimate for
files. Each NTFS or NFSv4 ACL can consume an extra public inode, but ACL sharing can reduce actual use. Validate with representative data. -
Use the application's inventory or a migration assessment to forecast growth.
files-usedis current usage, not the future peak.
NetApp XCP can count files and directories in the current namespace. On XCP 1.5 and later:
xcp scan -stats <host>:/<export> xcp scan -stats \\<server>\<share>
The -stats report includes file and directory counts. It does not include ACL inodes or named streams that never appear as directory entries, so add those from the application profile. Allow time on high-file-count datasets; XCP scans the tree before it prints totals. For the XCP 1.5 subcommand note and related scans, see Scan directory sizes with XCP.
Find the largest directories
-
Use application inventory, migration tools, or a controlled namespace scan to identify directories with the most entries.
-
Review
wafl.dir.size.warningand related EMS events for directories already approaching the limit. -
Measure the directory object itself as described in View maxdir-size and current directory size.
-
Model filename lengths and alternate names as described in Maxdir-size and large ONTAP directories.
XCP can rank directories by entry count or by directory-file size. The -stats report includes the largest directory's entry count as Dirsize. To list every directory with its metadata-file size, largest first:
xcp scan -match "type == d" -fmt "'{} {}'.format(used, x)" <host>:/<export> | sort -rn
To list directories above a chosen entry count (2,000 in this example):
xcp diag find --branch-match True -fmt "'{size} {name}'.format(size=x.digest, name=x)" <host>:/<export> 2>/dev/null | awk '{if ($1 > 2000) print $1 " " $2}'
Those scans find the busy directories. They do not replace modeling name length and encoding for maxdir-size.
Measure metadata operation rates
-
Use application telemetry, client workload tools, packet traces, ONTAP performance statistics, or a monitoring tool such as Harvest to measure create, lookup, open, close, attribute, enumeration, rename, and delete rates.
-
Test representative concurrency and both warm-cache and cold-cache behavior.
-
Throughput measurements do not necessarily characterize a metadata-heavy workload. Ops counters can be a clue, particularly
other_ops.
Find metadata and Snapshot capacity
-
Use
volume show-spaceto separate user data, file-system metadata, inodes, and Snapshot reserve. -
Use
volume show-footprintto review the volume's aggregate footprint. -
Estimate raw ONTAP 9 inode records as
peak allocated inodes × 288 bytes, then add directory-file size. -
On unified ONTAP, review aggregate metadata with
storage aggregate show-space. -
On AFX, review Storage Availability Zone metadata with
storage availability-zone show. -
Account for roughly 1% of capacity for other system metadata that cannot be inventoried from the host.
Don't conflate maxdir-size with maxfiles
-
files(maxfiles) is the public-inode ceiling for a FlexVol or FlexGroup constituent. -
maxdir-sizeis the byte cap on each directory file in the volume. How many names fit depends on name length and encoding, not on the volume file count. -
Do not derive
maxdir-sizefrom the total volume file count, and do not usemaxfilesto estimate how many names fit in one directory.
For design and operational recommendations, see High-file-count NAS workload best practices.
← Previous: Monitor maxfiles, EMS events, and ONTAP enhancements |