1. A method for virtual machine (VM) fault tolerance using pooled memory, the method comprising: on determining fault tolerance is enabled for a primary VM on a first host in a plurality of VM hosts, assigning read and write access to VM memory residing in a shared partition on pooled memory to the primary VM and assigning read-only access to the VM memory on the pooled memory to a secondary VM running on a second host in the plurality of VM hosts, the VM memory associated with the primary VM, the pooled memory is accessible by the plurality of VM hosts; on detecting a failure event on the first host, changing the read and write access from the primary VM to the secondary VM, the secondary VM having the read and write access is a new primary VM; and accessing the VM memory on the pooled memory by the new primary VM on the second host to resume VM processing on the new primary VM without losing a memory state of the primary VM.