Очень много вопросов поступает относительно того, для чего нужны снапшоты виртуальных машин (snapshots) на серверах VMware ESX. По-сути снапшоты - это зло, но иногда они оказываются полезны в очень ограниченных условиях (например, для проверки корректности работы обновления приложения или патча операционной системы). То есть эта та точка сохранения состояния виртуальной машины, к которой можно будет вернуться через небольшой промежуток времени. Ни в коем случае нельзя рассматривать снапшоты как альтернативу резервному копированию основных производственных систем, в силу множества проблем.
Одной из них является неочевидное поведение снапшотов при их удалении (применении к основному диску ВМ). В этом случае вам может понадобиться значительный объем свободного дискового пространства на томе VMFS, особенно когда у вас есть несколько снапшотов. Например, у вас есть виртуальная машина с 3-мя снапшотами следующих размеров:
Вы нажимаете кнопку Delete All в Snapshot Manager в vSphere Client, после чего происходит такая ситуация: Snapshot 3 "склеивается" со Snapshot 2, но при этом сам Snapshot 3 остается на томе VMFS:
При этом занятое дисковое пространство увеличивается на величину Snapshot 3 и составляет 90 ГБ. Далее, то, что получилось в Snapshot 2 (50 ГБ) склеивается со Snapshot 1 (10 ГБ), при этом Snapshot 2 и Snapshot 3 остаются. То есть дисковое пространство, занимаемое файлами виртуальных дисков и снапшотов на томе VMFS увеличивается до 140 ГБ:
Только после всего этого, результирующий Snaphot 1 (60 ГБ - сумма всех снапшотов) применяется к основному файлу виртуального диска VMDK. При этом сам виртуальный диск flat в размере не меняется, поскольку он фиксирован (изменяется только содержимое блоков). И только затем все снапшоты удаляются (все 140 ГБ).
Таким образом, на хранилище VMFS нам понадобится 80 ГБ дополнительного свободного пространства, если мы хотим, чтобы операция прошла успешно (зато потом освободится 60 ГБ от снапшотов).