hopefully someone can help explain or work this out.
We have two data stores. The DS1 has VM running which is allocated 400GB.
However when you check the sizes only reflects as about 15GB in size being used?! Why would it not show the full size being used? Testing a replica to a new SSD Data store and need to make it it can work with the space allocated and how much left for growth...see images I'm baffled why it doesn't show even though VM is running.
Hi @coastalitsuppor ,
VM has a thin provisioned disk. Thin provisioned disks utilize the disk space as and space is required and it does not utilize the entire space allocated to it. If you create a thick provisioned disk for this VM, it will occupy the entire datastore space irrelevant of the fact whether the VM is utilizing the space or not.
Storage provisioning --> Storage Provisioning
Hope that helps
>>> The DS1 has VM running which is allocated 400GB.
The VM doesn't have the 400GB allocated, but just provisioned. Since it is a thin provisioned virtual disk, it only allocates the required physical disk space.
What you may also want to run a Refresh for DS1 to see whether this updates the usage.
Ahh ok thank you that makes more sense now. So could probably run it without running out of space as the server will always sit at 400GB. Think I had it thick provisioned and the server kept pausing saying not enough space. So relocated the swap file to DS2.
would that sound about right?
Hi @coastalitsuppor ,
I am not quite sure of all the details here, but looking at first glance I would guess it has to do with the disk being Thin Provisioned.
With thin provisioning you can create a vmdk with an x amount of storage for a vm, let's say in your case 400GB. This means that within the operating system of the VM you can add a disk upto 400GB in size. In your case around 15GB of data.
When you choose thin provisioning it only allocates the space on the DataStore that is actually in use, thus around 15GB. However in your VM folder you might see this VMDK of 400GB. This is where I miss details. Personally I would guess this is a sparse file and that it is almost empty, except for the 15GB. I cannot fully determine if the disksize we are looking at in you attachment is the actual size or the provisioned size. I would guess the provisioned size 🙂
vSphere7 in HTML5 client should show the actual size with an option to inflate if it is a thin disk. If actual size is important to you, like allocated space on the DS and provisioned space for the VM should be equal, then I simply wouldn't use Thin Provision in the first place.
Ok thank you will look more into that. When I log into the server about 320GB is being used of local C: storage. So thought that would have show up as that size in the thin provisioning size?
out of the 447GB space on DS1 want to keep the server as 400GB so have some room to grow if need to and have the swap file on DS2.
However the original server which is the live server is showing as 710GB even though the server only has 400GB allocated. This is due to the thick provisioning needing extra storage allocation and pace...so thick provision would need about 75% space to run including the actual size?
The size of the added vmdk is the provisioned size, in this case thin provisioned. This means that in Windows you have a 400GB partition to use, if you want to make a 320GB C:\ drive out of that, that is up to you. When it comes to actual storage allocation in a thin provisioned situation the 320GB is not very relevant. In this case, what is relevant, is the amount of data in use.
In your case that seems to be 15GB and that is the amount of data actually written on the DS. If the amount of data grows because you put a 100GB file on your C: drive, the amount of data written on the DS grows to 115GB. It can do this up to a maximum of 320GB of your C drive plus the 80GB that is still sitting somewhere. Since you added a 400GB vmdk.
If you have a 400GB DS I would recommend not to put a 400GB thick provisioned disk on there, for obvious reasons. Because that would fill up the DS immediately. Thin Provision is fine, but you would have to somehow monitor growth of the DS.
Does that make any sense?
Let me know if you have questions.
wish I had a whiteboard at hand 🙂
Thick provision means you actually allocate the storage on a Datastore. So on a 447GB DS you may for example create one vmdk that is 400GB thick provisioned. When the disk is full, it's full. But you won't have any issues regarding corrupting data.
On a 447GB datastore you may also create, for example, 3 thin provisioned vmdk's. Let's say they are all 400GB. When your environment grows rapidly you will end up with overprovisioned storage. Because all those 3 disk will try to write their data upto 400GB. The OS on the VM is not aware that the partition (your c drives for example) is thin provisioned. So they will continue to try and write data, while your actual storage space might be full because all three vmdk's (or just one of them) have experienced growth using all available space.
It's all about planning and monitoring.
I am not sure if this makes sense in regard to your question, I would need to see the full picture I guess to pinpoint my answer more adequately
According to the screenshot, the VM has an active snapshot(s). Remember that each single snapshot can grow up to the provisioned size of its base disk, which is often a reason for running out of disk space. In cases with thin provisioned virtual disks an out-of-disk-space issue is critical, because the deleting the snapshot(s) will usually require additional, temporary disk space on the datastore.
Which makes sense, since snapshots hold deltas and that can be a problem when multiple thin provision vm's with snapshots are active and writing a lot of data. So that is a very good point to take in consideration in a design, however that does not seem to be the issue here since only 15GB of the DS is actually consumed. If that were a problem I would have expected space issues on the DS, right?