1. A method implemented in a system comprising an updater node and a shared persistent storage, wherein the updater node comprises a local committed checkpoint image, wherein the persistent storage comprises persistent first and second copies of a checkpoint image, first metadata designating the persistent first copy of the checkpoint image as a shadow checkpoint image, and second metadata designating the persistent second copy of the checkpoint image as a recovery checkpoint image, the method comprising: updating the local committed checkpoint image; locking the local committed checkpoint image after it is updated; creating a copy of the locked local committed checkpoint image; unlocking the local committed checkpoint image after the creating the copy; updating the persistent first copy of the checkpoint image using the copy, wherein the checkpoint image comprises a prior state of an application, updating the first metadata to designate the updated, first persistent copy of the checkpoint image as the recovery checkpoint image; updating the persistent second copy of the checkpoint image using the copy after the updating the first metadata; updating the second metadata to designate the updated, persistent second copy of the checkpoint image as the shadow checkpoint image; wherein the updated, persistent first and second copies of the checkpoint image are identical to each other.