As I said
here, for the filesystem image to be consistent, you want the system to be quiescent. If the host is notified somehow, before a snapshot is taken, you can add a script to quesce the server; exactly how, depends on the distro and workload. And if the host is not notified, you can't do much. Scheduling a script to do "
sync ; echo 3 > /proc/sys/vm/drop_caches ; sync" a few minutes before the expected snapshot based on wall clock time, might be useful anyhow: it just makes sure that the kernel writes all changes to filesystems to their respective devices, in a non-destructive manner.
If the image is for the whole VM, including processor state, quiescing is not needed. All that happens on image restore is that the kernel sees a jump forward in time (which is okay), and running processes connected to network sockets (TCP, mainly) see those time out.
"Shadow copy", VM snapshots, and LVM2 snapshots, are all "copy on write": the state is recorded, but in a way that allows further modifications to be made to the state without interrupting the copy, because those modifications are stored separately.