In ESXi, when creating snapshots for virtual machines, it does have some impact on the I/O of the physical host (i.e., the ESXi host). This is because snapshot creation and maintenance involves additional disk I/O operations. Here are some of the basics of snapshots and how they affect I/O:
How snapshots work?
When you create a snapshot of a virtual machine, ESXi does not immediately copy the entire virtual machine’s disk. Instead, it creates a new “incremental” disk (often called a delta VMDK or redo log) on top of the original disk. This incremental disk records all disk writes since the snapshot was created. The original disk (base VMDK) remains the same, except that new writes are redirected to the incremental disk.
Impact on I/O
1. Read operations: For any read request, ESXi must check if an updated version of the data block is available on the incremental disk. If not, it reads from the raw disk. As a result, the presence of a snapshot increases the time of the read operation, especially if multiple snapshots exist, as the system needs to traverse each snapshot hierarchy to find the latest data block.
2. Write operations: All write operations are written directly to the incremental disk instead of the raw disk. As the number of snapshots grows, the incremental disks grow as well, resulting in more storage usage. In addition, additional write load is incurred when merging snapshots (clearing snapshots).
What snapshots do?
The primary role of a snapshot is to provide a copy of the state of a virtual machine at a specific point in time without interrupting its operation. This is useful for the following scenarios:
Creating a safety net before making major updates or changes so that if something goes wrong you can roll back to the state at the time the snapshot was created.
Configuration changes or software deployments in test environments.
Creating consistent backup points, especially when using a backup solution that supports snapshots.
Considerations when using snapshots
Snapshots are not a long-term data protection strategy. Retaining snapshots for long periods of time can result in rapidly running out of storage space.
Snapshots should not be used frequently in production environments because they can impact performance.
Snapshots that are no longer needed should be purged periodically.
In summary, while snapshots are powerful tools, they should be used with caution and their frequency of use should be minimized in production environments to avoid impacting performance and storage efficiency.