Friday, February 21, 2014

Reclaiming Thin provisioned Disk

Issue: esxi environment storage disk is showing the free space properly by from the netapp view it is not showing the proper free space. For example 100 Gb lun (named as lun1) is presented to the esxi server this lun is a thin provisioned lun from netapp. Created a 25 GB vm on the 100 Gb lun (lun1) , now the free space in that lun (lun1) is 75 GB which is good. Storage vmotioned that vm to the another lun (named lun2). Now the free space on the lun1 should be 100 GB from ESXI view as well as NetApp storage view but I am seeing 100 GB free from esxi view but NetApp storage view is still showing 75 is free and 25 GB in use.

 Root Cause: VAAI unmap is disabled by default in ESXI host due to the performance impact. This VAAI feature inform the storage array that the vm files is moved or deleted and allow the array to reclaim the blocks.

Workaround : to reclaim the free space , we have to use vmkfstools .Before running the reclaims command on the esxi host couple of things we need to check couple of things
1.verify the hardware acceleration status on the esxi storage tab which should show as supported or unknown if you disable the VAAI option from NetApp side.
2. not down the device id naa.XXXXXXXXXXXXXXXX , this can be noted from the esxi storage tab view or get into the ssh and run the below command

esxcli storage core device list | more

3.run this command on ssh session to see the lun is a thin provisioned lun or not

esxcli storage core device list –d naa.xxxxxxxxxxx 
at the end of the line check
                   Thin provisioning status : yes
                   Attached filters : VAAI_filter
                   VAAI status:supported (it may show unknown if it is disabled from Netapp)
1. Now we need to check if the delete is supported on that lun.run the below command on ssh to check this

esxcli storage core device vaai status get –d naa.XXXXXXXXXX

 last line of the result should show Delete status :supported

2. To reclaim the space run the below command on ssh .Navigate to the vmfs path by running the command.

Cd /vmfs/volumes/lun1/
Vmkfstools -y xx ( example vmkfstools –y 50 ------ to reclaim 50% of free space)

Note :don’t put reclaim percentage as 100 , because this will completely occupy your free space till the reclaim process get completed and if you have any other vm running on the same lun will go down if it doesn’t have enough space.

( where xx is the percentage of free space you want to reclaim) , for example consider a scenario that you have 100 GB lun name lun1. You have two vm each 25 GB disk , so you have 50 Gb free and 50 GB used. Now let vmotion one of the vm to another lun call this as lun2. Now lun 1 have 75 GB free space. If you want to put the reclaim percentage then put 50 which will create a balloon disk of size 37.5 GB ( 50 % of 75 GB) . putting 100% is not recommended as it may take the other vm down due to the space issue).

No comments:

Post a Comment