The reliability of data and services hosted on a virtual machine (VM) is a top concern in cloud environments. The Continuous Snapshots can reduce the data loss in case of failures and thus is prevailing for protecting long-running systems. However, existing methods suffer from long VM downtime, long snapshot interval and significant performance loss. In this paper, we present iConsnap, a system designed to take fine-grained continuous snapshots of virtual machines without compromising VM performance. First, iConsnap adopts the copy-on-write (COW) mechanism to save the memory pages on-demand, and thus decreases the downtime to about 200 milliseconds. Second, we extend the idea of COW and propose a lazily incremental approach to save the delta data between two successive snapshots only once, thereby reducing the snapshot duration and snapshot data a lot. Third, we propose several scheduling mechanisms to mitigate the VM performance penalty issue. Last, we introduce a method combined of compression and time-aware multi-granularity reclamation strategy to reduce the storage costs without losing performance and availability. We implement iConsnap on QEMU/KVM and evaluate it through a set of experiments. The results show that iConsnap outperforms existing approaches in terms of downtime, duration, storage costs and VM performance.
Read full abstract