Many services in a distributed computing system may need to maintain a persistent state that can be recovered after software and/or hardware fails. One way to maintain this state may be to write it to a disk on the distributed system. While this approach may work in the case of a software failure, it may not work for a hardware failure. When a hardware system crashes, a writes on the disk is also thereby lost. A system of replicating a state of a node is required in case the hardware of the node fails over.