Универсально (любые приложения) можно резервировать средствами виртуальных машин с поддержкой технологий непрерывной миграции,например у vmware vmotion или по дешевле quick migration, весь смысл которых заключается в том что виртуальную машину можно 'моментально' перенести с одного хоста на другой, а для поддержке этой технологии обе виртуальные машины фактически работают одновременно, а содержимое оперативной памяти постоянно синхронизируется, есть возможность переключаться между ними, недостаток - файловое хранилище так же должно быть в виде сетевого кластера с резервированием, т.е. в нормальной работе все данные автоматически синхронизируются между нодами и при потере одной, вторая будет продолжать работать.
Такой подход позволит построить такие распределенные кластеры, которые смогут почти полностью защитить работающее приложение от сбоев оборудования но за счет многократного повышения стоимости как внедрения так и поддержания работы (грубо говоря в 3 раза повысит количество машин, нагрузка на сеть между датацентрами и т.п.)
Все остальные решения по дешевле это вариации того же самого но без универсальности и гарантий.
для nextcloud тебе достаточно настроить синхронизацию хранилища (всего, не только хранящиеся файлы но и ее базу данных), а при потере связи поднимать сервис на этой копии (при восстановлении связи так же нужно изменения данных переносить)
Готовых настроек нет, для другого случая и софта я реализовывал с помощью снапшотов btrfs (на обоих узлах хранятся последние снимки файловой системы, я еще их делал, подбирая момент отсутствия нагрузки, выполняя sync, что не дает гарантии но понижает шансы смерти софта и данных). сторонний сервис мониторит и выбирает, какая нода сейчас будет главной а какая резервной, соответственно запуская на них команды на создание и восстановление снапшотов (резервная принимает патчи а главная - отправляет), запуск ноды - по факту воспринимается софтом как перезагрузка по reset, поэтому если с файлами еще можно что то сделать, то с базами данных придется отдельно помучиться. Этот подход не гарантирует что данные не потеряются (все что произошло после последнего снапшота будет потеряно либо мучиться с конфликтами)
вместо рассылке патчей снапшотов лучше настроить
кластерную файловую систему она из коробки поддерживает синхронизацию данных на лету, сложнее в настройке но и потерей данных будет меньше.