Stux
November 25, 2024, 9:46pm
70
@etorix is right.
Raidz Expansion space accounting is incorrect. There is more free space available than indicated and it’s not just because existing data is stored with the old parity ratio.
Rebalancing will not correct.
Seems like a mighty big gotchya with RaidZ expansion.
This is the relevant bug report
https://ixsystems.atlassian.net/browse/NAS-131728
Basically, the space available is calculated based on the original raidz width and 128k block size.
This means that it is always going to be an underestimate once you add additionally disks.
Oops.
And that’s bascally all there is to it.
I’m not sure of the consequences, but this seems problematic… and perhaps should be taken care of in the UI at least… if…
This is the explanation
Here is the relevant explanation from Mathew Ahrens explaining the issue, the problem is that when old blocks are freed they need to use the old deflation ratio to prevent space accounting over-accounting for freed space.
This means that it would be possible to solve using a “time dependant deflate ratio”, which was not implemented due to lack of time.
In the future, “RAIDZ Expansion improved space accounting” could be implemented, which would resolve the issue, and he thinks “that it shouldn’…