Для решения, которое является там "в случае, если" Ваши основные устройства перестали работать а не для балансировки / частая обработка отказа, комбинация № 2 и № 3 работали бы хорошо. Заставьте поле с разумным ресурсом хранить и выполнять VM's для каждой из основных систем. Используйте DRBD для упрощения репликации данных. Для добавленных дополнительных свойств Вы могли добавить heartbeat для автоматизированной обработки отказа - или нет. И конечно репликация! = резервное копирование.
Очень трудно сделать сценарии удара безопасными при выполнении как корень. Будьте очень осторожны, что у Вас есть пуленепробиваемый сценарий. Проверьте коды возврата всех команд, если их сбой может иметь плохие эффекты.
Я обычно рекомендовал бы язык сценариев, такой как жемчуг, Python, рубин и т.д., которые легче сделать безопасным.