As I understand it...
Scenario: you create a 200g volume, put 50g worth of files in it, but those files only have 10g worth of data...
Volume guarantee will take 200g out of the aggregate, regardless of what you use within it.
File guarantee wll not reserve 200g, but will use 50g from the aggregate to make sure your files have the storage assigned to them.
No guarantee will not reserver 200g, will not even reserve 50g, but will take 10g out of the aggregate as actual used storage from the disk.
You'll only ever see a difference between file and none when you have files that zero themselves, such as LUNs, but I guess some database files and VMDK's can do the same. Generally you only ever use either volume or none. If you use none, you employ other methods to make sure the files have sufficient space to always complete there rights. You then get into over-provisioning and you need to manage your system very well!
Per your scenario..
The statement "File guarantee will not reserver 200g, but will use 50g from the aggregate to make sure ...." is incomplete. The statement is accurate ONLY IF ALL the files enable space reservation.
The major confusion is how space guarantees for flexible volumes interact with space reservations for files/luns. Hopefully the table below aids in the understanding.
|Volume Space Guarantee||LUN/File Space Reservation honoured if set?|
Essentially you can thin/over-provision the flexible volume; have more flexible volume logical capacity defined than actual aggregate physical capacity using volume space guarantee settings. On top of that you can ALSO thin-provision your LUNs using Space Reservation settings.
So you are right to say with over-provisioning proper management of the system is essential, especially if you thin-provision at BOTH levels!
Ditto to what Meng Chong has said.
A simple way to think of it is like this:
A space guarantee of "file" means that space is reserved in the aggregate ONLY for space reserved FILES! Like LUNs. No other space for the flexvol is guaranteed. You could have space reserved NAS files, but that doesn't make a whole lot of sense (in the real world).
This is absolutely a thin provisioning technique to pay attention to.