Explain how you would design a high-availability database cluster to ensure zero data loss in the event of a hardware failure.