Some systems have multiple copies, whether they be hardware, software or human modules. The process of maintaining these multiple copies is called replication. Examples of this approach to failover include multi-homed servers. Popularity of computing and availability of memory and storage capacity using many servers in a cluster has increased this approach to system redundancy. Failover also can be achieved by using any form of copy created by hardware or software duplication. For example, multiple images of a system or subsystem work in tandem and go through changes. This technique can be used for entire systems or subsystems.
In some cases, if the cost of failure is truly catastrophic, it is better to use some form of reversion to an earlier state. This might mean recovering from a corrupted system state, which might occur because of a virus, or because of power loss. In some cases, it might even mean replaying correct event sequence after errors occur. Perhaps, the system is designed to be recoverable from its backup state. So, an important drawback of this approach is that the system must be protected from reversion.
A hardware approach to fault tolerance is to use RAID technology. RAID is an acronym for Redundant Array of Inexpensive Disks. These disks provide a volume of information that is distributed across two or more disk drives. RAID can provide fast storage of data, with the ability to rebuild the volume should one of the disks fail.
A second hardware approach is called Redundant Array of Independent Disks (RAID-0). This uses at least two disks, where data is spread across the disks. In RAID-0, the data on each disk is a mirror of all the other disks in the array and no disk failure can affect the data on any of the disks. No RAID-0 array is superior to other RAID levels, but it is the simplest and the most common. RAID-0 is still used in some desktop and server hard disk management systems. d2c66b5586