trident icon indicating copy to clipboard operation
trident copied to clipboard

Feature Request: option files limit on volume creation ontap-nas

Open tyrgoossens opened this issue 7 years ago • 6 comments

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.

tyrgoossens avatar Dec 13 '18 10:12 tyrgoossens

Implementation detail: this would require issuing the 'volume-set-total-files' API.

innergy avatar Jan 07 '19 16:01 innergy

This feature request is still under consideration.

gnarl avatar Oct 25 '20 21:10 gnarl

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 ?

ledroide avatar Dec 24 '21 09:12 ledroide

We're running into similar issues described by OP - is there any news?

Uquout7o avatar Aug 31 '22 09:08 Uquout7o

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".

wonderland avatar Sep 17 '22 09:09 wonderland