Show space use by snapshots in "Space Management"

Problem/Justification
(What is the problem you are trying to solve with this feature/improvement or why should it be considered?)

Currently there is no way quick way to see at a glance the space taken up by snapshots, you have to either check the snapshot list for each pool or dataset, or check via CLI. Snapshot data is also included under the general space calculation used for the dataset/pool, making it unclear exactly how much space is being used by your actual data vs snapshots.

Impact
(How is this feature going to impact all TrueNAS users? What are the benefits and advantages? Are there disadvantages?)

Users would have a quicker and easier time identifying if excessive space is being taken up by snapshots and how much of the pool or dataset is being consumed by old snapshots, and making identifying issues or suboptimal snapshot lifetimes much easier.

User Story
(Please give a short description on how you envision some user taking advantage of this feature, what are the steps a user will follow to accomplish it)

Simply split out the space taken up by snapshots in the “Space Management” pie chart so it would have 4 datapoints, “data written” and “children” for actual data, and then “snapshots” for data taken by snapshots of the selected dataset/pool and “child snapshots” for the same for the children of the selected dataset/pool. Other locations that show pool storage (storage tab, datasets tab “used/available” column, etc) could also receive this, but I believe the space management window would be the most relevant and useful place to implement this.

There is actually a thread with some users (including me) that report their snapshots have not been cleaned up properly for quite a while resulting in excessive usage of space, if this feature were implemented they/I likely would have seen that snapshots were taking up an unusually large amount of space, investigated and fixed the issue sooner before it would cause space and performance problems.

2 Likes

Another thing I thought of which might be a nice thing to add on to this is to also separately list space taken by ix data (ix-apps, ix-virt, whatever other ones there might be), either individually or grouped up and called ixdata or something, considering they are permanently hidden and unviewable outside of CLI.