In informatica e tecnologie correlate allereti, perfailover[1] si intende la tecnica che prevede in caso di guasto o interruzione anomala nel funzionamento di unserver, un componentehardware o una rete,[2] la commutazione automatica a una struttura analogaridondante o in standby, in modo che il nuovo dispositivo rimpiazzi quello non più funzionante. Il failover e loswitchover sono essenzialmente la stessa operazione, tranne per il fatto che di solito il failover è automatico e opera senza preavviso, mentre loswitchover richiede l’intervento umano.
I progettisti in genere forniscono funzionalità di failover in server, dispositivi e reti che richiedono una disponibilità quasi continua e un elevato grado di affidabilità.
In un esempio di funzionamento a livello di server, l'automazione del failover utilizza solitamente un segnale periodico di controllo (heartbeat), tra due server interconnessi tramite una connessione di rete o un cavo separato (per esempio un cavo serialeRS-232). Finché è presente il segnale di controllo, il secondo server non porterà i suoi sistemionline; non appena viene rilevata un'alterazione (o interruzione) nel segnale di controllo, il secondo server riprende il lavoro del primo. Alcuni sistemi hanno la possibilità di inviare una notifica di failover.
Alcuni sistemi possono eseguire il failover in modo non completamente automatico ma richiedere l'intervento umano; questa configurazione semi automatizzata "con approvazione manuale" viene eseguita automaticamente solo dopo che un utente ha approvato il failover.
L'utilizzo dei software divirtualizzazione, ha consentito alle pratiche di failover di diventare meno dipendenti dall'hardware fisico, questo avviene attraverso il processo denominato "migrazione", processo in cui una macchina virtuale in esecuzione viene spostata da unhost fisico a un altro, con interruzioni del servizio minime o nulle.
Viene definitofailback il processo inverso, e cioè il processo di ripristino di un sistema, di un componente o di un servizio, che da uno stato di errore ritorna al suo stato originale di lavoro, quindi il sistema di rimpiazzo passa da "funzionamento" a standby. In pratica, il failback segue il failover e si esplica nella procedura di trasferimento al sistema principale dei contenuti modificati durante il periodo di interruzione. Questa può essere interamente automatica o controllabile dall'operatore a seconda delle necessità.
Il termine "failover", anche se probabilmente usato dagli ingegneri molto prima, può essere trovato in un rapportoNASA declassificato del 1962.[3] Il termine "switchover" lo si può trovare in alcune pubblicazioni verso la fine degli anni 50,[4] quando vengono descritti i "sistemi di attesa" a "caldo" e a "freddo", con il significato attuale di passaggio immediato a un sistema in esecuzione (a caldo) e commutazione ritardata a un sistema che necessita di partenza (a freddo).