Sleezed
asked on
VMware vSphere disk usage with thick provisioning
Hi,
So this is my scenario:
- Virtual machine with CentOS 6 installed
- VMware ESX 5.0
- Dell EqualLogic SAN storage array
This is my problem. When I create a new virtual machine using thick provisioning, the datastore used for the VM is showing up as full as soon as I assign it to the VM. Let me elaborate...
I first create a thick provisioned volume on the SAN array of 200GB. Then, I connect the volume to the ESX as a new datastore via iSCSI. All's well and good at this point. I then create a new virtual machine, selecting the newly created datastore as the location for the virtual hard disk, assigning for example 150GB. I do this using thick provisioning on the ESX also (I tried with both Lazy Zeroed and Eager Zeroed with the same result).
At this point the 150GB I've assigned show up as full on the ESX. When I check from the SAN or from the OS which I installed on the VM, the readings are correct i.e. most of the space is free as should be, but the ESX shows the datastore as full.
What is the reason for this? I even tried using the Thick Provisioning Eager Zeroed method as it supposedly zeroes out all the space on the virtual hard disk upon creation, but it still shows up as full on ESX.
Thanks
So this is my scenario:
- Virtual machine with CentOS 6 installed
- VMware ESX 5.0
- Dell EqualLogic SAN storage array
This is my problem. When I create a new virtual machine using thick provisioning, the datastore used for the VM is showing up as full as soon as I assign it to the VM. Let me elaborate...
I first create a thick provisioned volume on the SAN array of 200GB. Then, I connect the volume to the ESX as a new datastore via iSCSI. All's well and good at this point. I then create a new virtual machine, selecting the newly created datastore as the location for the virtual hard disk, assigning for example 150GB. I do this using thick provisioning on the ESX also (I tried with both Lazy Zeroed and Eager Zeroed with the same result).
At this point the 150GB I've assigned show up as full on the ESX. When I check from the SAN or from the OS which I installed on the VM, the readings are correct i.e. most of the space is free as should be, but the ESX shows the datastore as full.
What is the reason for this? I even tried using the Thick Provisioning Eager Zeroed method as it supposedly zeroes out all the space on the virtual hard disk upon creation, but it still shows up as full on ESX.
Thanks
It is because you are using thick provisioning. What that does is dedicates that much diskspace to the drive.
Example:
SAN = 1TB
VM = 200gb Thick
SAN will show 200gb is being used. Even though the VM is only using lets say 50gb, 200gb is being dedicated to that VM so nothing else can touch that freespace.
Thin however will grow as the drive grows (depending on your settings). In case with some SANs it might show with the above example.
SAN = 1TB
VM = 200Gb Thin
VM is using 50gb
SAN will show 50Gb used and 150gb freespace allocated with a total free space of 950gb. Depends on the SAN version and GUI etc.
Example:
SAN = 1TB
VM = 200gb Thick
SAN will show 200gb is being used. Even though the VM is only using lets say 50gb, 200gb is being dedicated to that VM so nothing else can touch that freespace.
Thin however will grow as the drive grows (depending on your settings). In case with some SANs it might show with the above example.
SAN = 1TB
VM = 200Gb Thin
VM is using 50gb
SAN will show 50Gb used and 150gb freespace allocated with a total free space of 950gb. Depends on the SAN version and GUI etc.
ASKER
But as far as I know thick provisioning simply reserves the space, not necessarily occupying it. I may be mistaken.
I know that the issue doesn't occur with thin provisioning, but I don't want to use it for other reasons.
Does this mean that it isn't possible to have a simple thick virtual hard disk without it showing up as full in ESX? (Which creates problems of its ow)
I know that the issue doesn't occur with thin provisioning, but I don't want to use it for other reasons.
Does this mean that it isn't possible to have a simple thick virtual hard disk without it showing up as full in ESX? (Which creates problems of its ow)
Once you create a thick provisioned disk all that space is given to the VM whether you have created an OS on it or formatted the disk
You are correct in your reasoning.
ASKER
I ran some tests using two scenarios:
Scenario A: Thick SAN volume, Thin ESX datastore
Scenario B: Thick SAN volume, Thick ESX datastore
In the first scenario, when data is added I can see the free space on the disks getting smaller (correctly). But when you remove the data, the space is not retrieved (probably since I need to wipe the free space with zeroes).
In the second scenario it's a bit different. When data is added the free space is reduced on the SAN volume, but there is no observable change on the thick ESX datastore. Remember this is a THICK datastore so it showed up as full as soon as I mounted the VHD. Now when I removed the data, the space on the ESX datastore still didn't budge (rightly so), but the space also wasn't retrieved on the SAN volume.
I guess neither situation is ideal, and when low on space I'll have to zero out the free space either way or simply extend the volume.
Scenario A: Thick SAN volume, Thin ESX datastore
Scenario B: Thick SAN volume, Thick ESX datastore
In the first scenario, when data is added I can see the free space on the disks getting smaller (correctly). But when you remove the data, the space is not retrieved (probably since I need to wipe the free space with zeroes).
In the second scenario it's a bit different. When data is added the free space is reduced on the SAN volume, but there is no observable change on the thick ESX datastore. Remember this is a THICK datastore so it showed up as full as soon as I mounted the VHD. Now when I removed the data, the space on the ESX datastore still didn't budge (rightly so), but the space also wasn't retrieved on the SAN volume.
I guess neither situation is ideal, and when low on space I'll have to zero out the free space either way or simply extend the volume.
Often VMs are migrated to new LUNs, and the old LUNs destroyed, unless your SAN has a reclaim space option.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
http://searchvmware.techtarget.com/definition/thick-provision-eager-zeroed
it will tell you thick is what your doing wrong I think you need to use thin provisioning