Not looking to do work for you, just a tip. Look into ZFS. Daily snapshot, incremental etc? No problem.
However something you'll need to think about if you're snapshotting - do you need to snapshot the memory state/disk buffers too? e.g. a database. Or anything where the total state of the VM is split between disk and CPU/memory.
If the answer is no this is an easy problem to solve.
If the answer is 'yes' life gets more complicated.