VMware Cloud Community
hardingp
Contributor
Contributor
Jump to solution

Snapshot Size

Lets say I have a 10gig VM running Linux(pre-allocated). The OS consumes 6gigs from that 10gigs.

What size would my first snapshot be?

Lets say the next day the OS now consumes a total of 7 gigs.

What size would my second snapshot be?

Can VI do incremental snapshots? Does it snapshot the entire vmdk file like a clone?

Tags (3)
0 Kudos
1 Solution

Accepted Solutions
lamw
Community Manager
Community Manager
Jump to solution

When you take a snapshot, the current .vmdk (VM disk) is comitted. That mean's even though you've only consumed 6gb out of 10gb allocated, your .vmdk will be 10gb still. All future changes, will be added to a delta-000X.vmdk, so say you add 1gb of data, then your snapshot will be ~1gb. If you take another snapshot, then delta-0001.vmdk will be comitted and all future changes will go to delta-0002.vmdk/etc. When you delete a snapshot, it'll update the changes and commit. You can refer to this as incremental snpahsots, it does not clone the main .vmdk, but just commits and creates what was used to be known as a redo file, similiar to database redo files.

View solution in original post

0 Kudos
4 Replies
weinstein5
Immortal
Immortal
Jump to solution

There are two pieces to the snapshot - the system state basically what is being held in memory and then the snapshot of the disk - this will start out at 0 GB and grow over time recording the block level changes to the virtual disk - the second snapshot would be like the first - system state and the snapshot of the virtual disk - which actually in this case would be for the original snapshot and record the block level changes to the snapshot -

So you can a snapshot is not a clone and only records changes to the disk - and one thing vmware best practices is keep the snapshot less than 1-2 GB or else machine performance will degarde

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful
lamw
Community Manager
Community Manager
Jump to solution

When you take a snapshot, the current .vmdk (VM disk) is comitted. That mean's even though you've only consumed 6gb out of 10gb allocated, your .vmdk will be 10gb still. All future changes, will be added to a delta-000X.vmdk, so say you add 1gb of data, then your snapshot will be ~1gb. If you take another snapshot, then delta-0001.vmdk will be comitted and all future changes will go to delta-0002.vmdk/etc. When you delete a snapshot, it'll update the changes and commit. You can refer to this as incremental snpahsots, it does not clone the main .vmdk, but just commits and creates what was used to be known as a redo file, similiar to database redo files.

0 Kudos
RParker
Immortal
Immortal
Jump to solution

The snapshots are differences between the original and the changes. If you didn't make changes once the snapshot was created, the snapshot would be a mere 1meg. If you never made changes to the VM after that, the snapshot would not grow. It only commits changes that were made SINCE the original VM (in this case a snapshot).

You have a 10g VM (doesn't matter how much the OS consumes). The snapshot gets created. ALL changes from that point forward are READ ONLY in the VM. The NEW changes and updates get written to the snapshot file. If you delete or change a lot of data, those changes are written to the snapshot, and it tracks what files they are linked back to the original VM.

So when you try to commit those changes, it takes a long time because it has to compare a 10Gb file with the snapshot to determine the differences and commit the changes. That's how snapshots work.

0 Kudos
etieseler
Enthusiast
Enthusiast
Jump to solution

It should also be mentioned that when you delete or commit a snapshot a new VMDK file will be created and the changes will be merged into this new file. Once complete the old read only VMDK will be removed.

So if you have a 10Gb VMDK and you take a snapshot of it, you need to make sure you have at least 10Gb free when you delete or commit to a snapshot.

-Ed