HI,
I have a doubt on snapshot let's say i have a VM win2003 with the vmdk 40GB so out of that 10GB is full remaining space i have is 30 GB if take a snapshot delta files will be created for each snapshot.
so these delta files will take the space of datastore ok. so these delta files can grow Maximum to 30GB which is free space i have on vmdk or they can grow amount of size let's say my datastore size is 500GB.so how my delta files takes the space from datastore.
Thanks..
Please refer to the KB
Our VMware API allows VMware and third-party products to perform operations with virtual machines and their snapshots. This is a list of common operations that can be performed on virtual machines and snapshots using our API:
This is a high-level overview of how to create, remove, or revert snapshot requests that are processed within the VMware environment:
.vmsd
file) and the changes are reflected in the snapshot manager of the virtual machine.-delta.vmdk
and .vmdk
files) and the disk chain.each snapshot can grow to the nominal size of its basedisk.
So if you have a vmdk with nominal size 40 Gb then each snapshot can grow to those 40 Gb as well
ok so i base vmdk is 40GB so each delta file can grow up to 40GB and when i delete these delta file will they require additional space for merging
meaning 40GB+Delta data am i right.
ok so i base vmdk is 40GB so each delta file can grow up to 40GB
Yes!
... and when i delete these delta file will they require additional space for merging. meaning 40GB+Delta data am i right.
No. Each virtual disk (base or snapshot) can only grow up to the initially configured size (40GB in your case). If the base disk has been "full provisioned" (40 GB .vmdk file) it will not grow any further, if it was "sparse provisioned" (growing as needed) it may grow up to 40 GB. Since the snapshot can contain modified data blocks as well as new data blocks, merging the snapshot - in case of sparse provisioning - may result in the base disk growing anywhere between 0 bytes up to the size of the snapshot.
André
thank you Andre for the answer.
now just small thing to discuss let's say my vmdk is 40GB out of that 10 GB is full so now remaining space i have is 30GB. now i take a first snapshot
so now my delta can grow upto 30GB beacuse 10 GB i already used.right???
or still it can grow to 40GB????
and how merging process will work let's say the size of snapshot is 20GB so when i will delete it will it take space from base vmdk ????
MalikPraveen wrote:
thank you Andre for the answer.
now just small thing to discuss let's say my vmdk is 40GB out of that 10 GB is full so now remaining space i have is 30GB. now i take a first snapshot
so now my delta can grow upto 30GB beacuse 10 GB i already used.right???
or still it can grow to 40GB????
Your snapshot can ALWAYS grow up to the size of its base disk. Whether it will is highly dependent on filesystem, workload type, usage, etc.
and how merging process will work let's say the size of snapshot is 20GB so when i will delete it will it take space from base vmdk ????
It might grow the base, it might not. Again, it depends on which blocks were touched.
You should ALWAYS bet that each snapshot could end up at the same size as the base, and that committing a snapshot could grow the base to 100% of its provisioned size.
Maybe a short example will clarify this:
Assuming you have a sparse (growing as needed) virtual disk with a configured size for up to 500 data blocks, in which blocks 1 through 100 are used. Then you take a snapshot. While the snapshot is active, blocks 11-20 are modified and blocks 101-110 are newly allocated. In this case the snapshot contains 20 data blocks. Once you commit the snapshot to the base disk, blocks 11-20 will not need additional disk space as they are already allocated. Since blocks 101-110 are new, they are appended to the base disk, resulting in growing the .vmdk file by 10 blocks.
André
Andre's analogy is excellent, and exactly the point I was trying to get across.
Bravo!
In this example, the datastore this VM is on is 2TB. Do I have enough space to commit the snapshot? This is from an ESXi 4.1 host, although my understanding is that this works the same on ESXi 5, right?
# du -h ts11*.vmdk
1.4T ts11_1-000001-delta.vmdk
64.0k ts11_1-000001.vmdk
185.0G ts11_1-000002-delta.vmdk
64.0k ts11_1-000002.vmdk
0 ts11_1-flat.vmdk
64.0k ts11_1.vmdk
the size of the flat.vmdk is 0 ???
did you take the first snapshot before even starting that VM for the first time ?
It is a very good question. I don't know. It would appear that way wouldn't it? Is there any other explanation?
Do I have enough space to commit the snapshot?
No, you don't.
Since snapshot 1 already consumes 1.4TB, there's less then ~600GB left on the datastore which means there's not enough space to commit the data from snapshot 1 to the base disk. Btw. what size does an ls -lisa command show for the files?
André
the basedisk then has the nominal size of at least 1.4 TB - you did not mention it so far or did I overlook it ???
so in this case you would temporarily need 1.4 TB + the files that already exist.
That would exceed the size that is available
please look up the nominal size
and look up the "effective" size - thats what the guest reports as used
# ls -lisa ts11*.vmdk
281021828 1535746048 -rw------- 1 root root 1572598923264 Sep 10 18:50 ts11_1-000001-delta.vmdk
285216132 64 -rw------- 1 root root 343 Dec 3 2010 ts11_1-000001.vmdk
373296516 194093056 -rw------- 1 root root 198746259456 Jan 26 22:42 ts11_1-000002-delta.vmdk
377490820 64 -rw------- 1 root root 350 Sep 10 18:56 ts11_1-000002.vmdk
247467396 0 -rw------- 1 root root 1759218605056 Dec 3 2010 ts11_1-flat.vmdk
251661700 64 -rw------- 1 root root 523 Dec 3 2010 ts11_1.vmdk
Why does the flat file show so big?
How do I look up nominal and effective size? Or is that what I just posted to Andre?
we need to know the nominal size of that vmdk
Why does the flat file show so big?
This looks like you have a 1.6TB thin provisioned disk!? To confirm you may want to take a look at (or attach) the "ts11_1.vmdk".
André
vSphere Client when looking at the hard disks on the VM says that ts11_1-000002.vmdk is a 1.6TB Thick disk.
Would it make sense to use vmkfstools -i to clone the disk from the current datastore to a new datastore? My understanding is that vmkfstools -i will consolidate the disk and copy it in one step to a new datastore. The only other datastore I have is also 2TB. When using vmkfstools -i, does it need more space than 1.6TB to consolidate the disk?