Keep in mind that Standard or Legacy pools as we sometimes call them are about over 20 years old. The technology pre-dates the unmap command and even flash in enterprise storage, and thin provisioning was added to it long before it was industry standard.
The architecture required to do the tracking for capacity at this level is a log structured array, this data structure is what is used by the FCMs themselves and by the Data Reduction Pools. DRP exists BECAUSE of this problem, the original name for DRP internally was "Unmap".
In Software, it is this log structured array that adds latency to a DRP overprovisioned volume because of the transformations and the io amplification required to keep the meta data updated (not the compression, not the deduplication, those are all offloaded to the Intel Quick Assist Compression Offload Hardware on all boxes except the 50XX).
So in answer to your original question: If you require capacity returns reported at the pool level in a FlashSystem Box, you need to use Data Reduction Pools with overprovisioning ( Because a fully allocated volume is ALWAYS a fully allocated volume regardless of it's pool, it will never return partial capacity to the pool).
If your workload is unsuitable for DRP, then the recommendation is to be aware of the behaviour (as you are now) and know the new capacity will be taken from unmapped capacity first, and as I said before, the re-thinning technique works for folks who are concerned about a lot of unmap without overwrite.
For capacity planning in general, there are some very good practices, foremost is getting SI as it comes included with your FlashSystem and can provide a lot of capacity tracking information.
I'm trying to convince Barry and Andrew to put their very good advice on how to manage this better in their blog, so keep an eye out for it.
I hope that helps.
------------------------------
Evelyn Perez
IBM Senior Technical Staff Member
IBM Storage Virtualize Software Architect for SVC and FlashSystem
------------------------------
Original Message:
Sent: Tue August 22, 2023 02:01 AM
From: Sebastian Hofmann
Subject: Flashsystem host unmap not working ¿?
Hi All,
thanks for clarification. TBH the implementation on STD Pools is pretty ugly. As per my knowledege ( using FCM3 module ) its better to utilize STD Pools ( no dedup & no software compression ) also what i faced is that creating a LUN in a DRP pool u need to utilize either Compression and / or Dedup. Is there a way to utilize DRP Pool without software compression and deduduplication ( only the native FCM compression )
Thanks
------------------------------
Sebastian Hofmann
Original Message:
Sent: Mon August 21, 2023 05:42 AM
From: Evelyn Perez
Subject: Flashsystem host unmap not working ¿?
Not entirely accurate.
All pools support the host unmap commands. DRPs track and account for capacity changes as a result, standard pools do not and cannot (That is the primary difference and the purpose of Data Reduction Pools).
------------------------------
Evelyn Perez
IBM Senior Technical Staff Member
IBM Storage Virtualize Software Architect for SVC and FlashSystem
Original Message:
Sent: Sat August 19, 2023 02:36 PM
From: Sandeep Sharma
Subject: Flashsystem host unmap not working ¿?
a simple and accurate answer
------------------------------
Sandeep Sharma
Original Message:
Sent: Fri August 11, 2023 02:58 AM
From: Christian Schroeder
Subject: Flashsystem host unmap not working ¿?
Hi Sebastian,
this won't change for standard pools, i.e. non-DR-pools, as those do not support SCSI UNMAP at all.
------------------------------
Best regards,
Christian Schroeder
IBM Storage Virtualize Support with Passion
Original Message:
Sent: Thu August 10, 2023 06:43 AM
From: Sebastian Hofmann
Subject: Flashsystem host unmap not working ¿?
Hi Bernd,
will there be a change in the behavior in newer versions as this is pretty ugly?
#On Standard pools you will only see that the used capacity of the FCM goes down, not the size of the thin provisioned volumes.#
thanks
------------------------------
Sebastian Hofmann
Original Message:
Sent: Tue October 26, 2021 03:54 AM
From: Bernd Albrecht
Subject: Flashsystem host unmap not working ¿?
Hi,
on newer firmwares there are two commands
SCSI Unmap can be disabled using the CLI command:
svctask chsystem -backendunmap off
svctask chsystem -hostunmap off
To re-enable SCSI Unmap, use the
svctask chsystem -backendunmap on
svctask chsystem -hostunmap on
On Standard pools you will only see that the used capacity of the FCM goes down, not the size of the thin provisioned volumes.
https://docs.microsoft.com/en-us/windows-hardware/drivers/storage/thin-provisioning
https://www.vembu.com/blog/reclaiming-space-using-trim-unmap/
------------------------------
Bernd Albrecht
Original Message:
Sent: Fri October 22, 2021 01:29 AM
From: Arturo Garfias
Subject: Flashsystem host unmap not working ¿?
Hi
can somebody help me to understand the UNMAP function on the flashsystem.
Or what i am doing wrong.
I want to use UNMAP for my hosts ( generic hosts Windows & AIX), i got spectrum virtualize 8.4.0.5. Flashsystem 7200 with all flash FCM2 modules.
I understand that UNMAP must be enable by default.
lssystem command shows that host_unmap is not enable
> lssystem
...
host_unmap off
...
So i enabled it:
> chsystem -hostunmap on
now lssystem shows it enabled.
For testing i type in a windows 2019 host:
PS:> defrag D: /L
but i got an error
"the operation requested is not supported by the hardware backing the volume"
same error with command. PS:> Optimize-volume
what am i doing wrong?
thank you in advance for any help
------------------------------
Arturo Garfias
------------------------------