does anyone have a tip why deleting the snapshots takes so long?
For Citrix, deletion usually takes only a few seconds for the same size (~200 GB ~ 300 GB).
With VMware Web Client, deleting takes several hours. Only if the VM is off then the deletion takes much faster.
System: vSphere ESXi 6.5
Storage: via SCASI
Storage is only for the server
Does anyone have any ideas? suggestions?
The speed of snapshot deletion/consolidation purely depends on the VM type, for example high IO intensive VMs like SQL, Exchange or file servers normally takes more time to consolidate the snapshot then a normal machine, that is because during the consolidation ESXi should keep track of new IOs taking place in the server and it has to consolidate the snapshot online without impacting the applications, so this process may take longer when there are huge IOs taking place whereas when the VMs is powered off there are no new IOs coming into the VM which eventually consolidates the snapshot quickly.
Also this is independent to webclient/vsphere client as they are just a medium where we are initiating the task, actual process is taken place at ESXi level. To know more about the snapshot process, data consolidation speed... you can check the vmware.log file of the virtual machine, it will give you the information about the snapshot consolidation task. When there are more number of snapshots , the consolidation time will be eventually more.
I am using VMware at home when playing around and in my company I use for almost 10 years Citrix XenServer. I don't understand why Citrix deletes a snapshot on a 200GB VM instantly without any delay while VMware needs ~20 minutes to delete one shapshot on a 50GB VM.
In my eyes VM has a very serious technical/design issue that handling with snapshots is such a pain.
I noticed Qnap also very quicly deletes snapshots. But its not some advantage. In VMWare, when you have example one snapshot, then you have 2 .vmdk files. When you delete snapshot, then later file is copied back inside first file, second file is deleted and you have again only one file. There is no any tricks, speed depends of disk read/write speed. But, why then Qnap or Cytrix deletes faster? I dont know, but I can imagine. Maybe it then dont commit at all, only deletes snapshot info and that all. If so, then its very bad idea, because when there wasnt commit, then VM disk access stay slower, because virtual disk is fragmented by 2 disks.
I havent touch XEN for ages but doenst XEN use copy on write? If so than its clear why its lightning fast compared to vSphere. Maybe VMware can rename the delete Snapshot to comit/merge
In VMware the term delete snapshot does two tasks
1. consolidate the data ( time consuming , depends on the amount of data and number of snapshots)
2. After consolidation, removes the left over snapshot files
The term in VMware is bit confusing often people think it is just deleting the files , instead it does the above two jobs. So the time taken for deletion is always more.
I am not sure if the same task is done when a snapshot is deleted in Citrix, when I researched about snapshot deletion in XenServer docs, looks like it just destroys the snapshot files which is obvious to be faster as there is no consolidation is happening.
There is still one possibility how to make commit-merge faster. Example, instead of dividing virtual disks by snapshots among different files, as with vmware, there can be only one file. Metadata knows where are blocks of one snapshot data and where are others. Now, instead of copying while commit, it just changes pointers to those blocks. This also means data becomes fragmented. In one day it still needs to defragment it. Maybe in background. So, there is actually no big difference. Altough separating snapshots by different files looks safer, because if something wrong goes with metadata or pointers, all stuff is out.
Whatever Citrix uses - it doesn't block the use of the VM for 20 minutes. As I wrote, I am using Citrix for more than 10 years and snapshots saved already many times my life. For the end-user-point-of-view the mechanism which uses VMware is horrible.