hi, i am a software engineer。I am implementing iscsi's unmap interface.
This interface is used in vmware ESXI6.5.
When I tested the unmap function on esxi 6.5, I hang my own implemented iscsi lun to vmware. Format lun into VMFS 6.81 and set reclaim-priority=high. When I built two 10GB thick provisioning virtual machines, this virtual machine did take up 20GB of space in the backend storage. When I deleted the virtual machine, I configured a failure exception on my storage interface. At this time, vmware is also disconnected. The virtual machine on vmware has been deleted. The lun space on vmware also shows recycling. After clearing, After the vmware is reconnected, vmware will issue an unmap operation for part of the space when the vmware is reconnected. At this time, I deleted the 10GB virtual machine, but the backend only received an unmap operation of about 2GB of space.
Each time the switch is switched, it will receive an unmap size operation of approximately 500M to 2GB, but there are overlapping unmap intervals. After operating about 10 times, it was found that the unmap operation received in the backend storage did not cover 10 GB. Set the esxi iscsi datastore to high priority, shouldn't the vmware recycle all the space right away?
Or do i have to wait for a while? What is the recovery strategy for ESXI 6.5 when unmap is disconnected and reconnected?