Feature Request: option files limit on volume creation ontap-nas
We're creating some small volumes for webhost containers and are running into the public inode limit of the volume. Seems like there should be a way to specify a higher limit for number of files on volume creation for instances where you have a volume dedicated to lots of small files.
Implementation detail: this would require issuing the 'volume-set-total-files' API.
This feature request is still under consideration.
This feature would solve issues we experience with volumes dedicated to metrics (Prometheus) and logs (Loki), that require lots of inodes. What I suggest is a backend parameter that could be also defined through a storageClass (as parameter) ; used specifically for this kind of usage. Any news about this feature request ?
We're running into similar issues described by OP - is there any news?
Just a few thoughts on potential ways to address this, maybe it helps...
The number of inodes is tied to the volume size, with a default of one inode per 32k of space. If you have a large number of files smaller than 32k and/or a very small volume, you might run out of inodes.
- Resize the volume. This can be done from within K8s and automatically increases the number of inodes. As volume are thin provisioned by default, this doesn't consume any extra space.
- Use the flexgroup driver. A flexgroup is backed by multiple volumes (transparent to K8s) on the backend storage. PVCs with the flexgroup driver should have a minimum size of 100GB, you probably wouldn't use it for your default storage class.
- Use ontap-san drivers (and therefore iSCSI). Billions of small files lead to a lot of performance overhead with metadata operations (file creation, access timestamps, ownership & permissions,...), which all have to go across the network with a remote filesystem such as NFS. They are local operations on block storage (e.g. iSCSI) and therefore can be faster in such scenarios + local control over inodes.
- Set a larger snapshot reserve in Trident config. This increases the size of the Ontap volume vs. the actual size of the PVC, giving you more inodes. Again, thin provisioned so space is not "wasted".