I'm reading about HA techniques in virtualization but all solutions I see work more or less just like more specialized VRRP - when host gets down, VM is booted up on another virtualization host. If storage is shared (eg. iSCSI) then "the same" VM can be booted so to guest OS it looks like kind of power failure. But if there is some important data residing in RAM (for example in-memory database) then it's still lost.
It would be possible though to create snapshot of running VM with some interval (unfortunately it takes plenty of time to create such snapshot so it can't really be done every lets say 10 seconds). Then another virtualization host could load such snapshot and continue running VM "without interruption" (plus minus interval time).
So my question is - are there any solutions automatically "mirroring" VMs in such way that after virtualization host failure VM can be "resumed" on another host without noticeable interruption? Literally like RAID1 of VMs. Mirror that is fully synced on RAM level.