У меня дома скопилось некоторое количество 1ТБ дисков, которые всё время собирался выкинуть, потому что негде было использовать, но так и не поднялась…
Так же без дела лежит старенький HP Microserver на 4 диска. Собрал в нём RAID5 и приспособил под очень холодные бэкапы. Сервер периодически сам включается, забирает нужные данные и выключается.
Рассказываю по шагам, что он делает. Реализацию не привожу, так как там всё просто. Любой ИИ вам напишет, как всё это настроить. Не знаю, составит ли он подобный план. Я это всё сам придумал и реализовал.
1️⃣ В BIOS включена загрузка через Wake-on-LAN (WoL). Она же включена в системе (Debian) через ethtool.
2️⃣ В Mikrotik, работающем 24/7 шлюзом, стоит задание в планировщике раз в сутки запускать скрипт, который через WoL запускает сервер. Там буквально одна строка:
tool wol interface=ether4 mac=AA:BB:11:22:33:44
3️⃣ На сервере подготовлен скрипт, который после загрузки монтирует диски с нужными данными, запускает rsync и забирает файлы. Rsync работает с сохранением изменившихся файлов, чтобы была история изменений.
4️⃣ После завершения работы rsync, сервер автоматически выключается. Оставил задержку на 5 минут и возможность оставить файл в виде флага, при наличии которого сервер автоматически не выключится. Это чтобы была возможность к нему спокойно подключиться в случае необходимости.
Получилось дёшево и сердито - офлайн бэкап важных данных, который ничего не стоит. Сервер постоянно выключен. Включается раз в сутки примерно на 10 минут. Забирает данные и выключается. Я очень комфортно себя чувствую, когда имеется возможность настроить бэкапы именно в таком виде.
Сейчас прорабатываю вариант проверки файлов и мониторинга этого дела, чтобы быть на 100% уверенным, что на этом сервере актуальная копия данных.
Я подобные схемы уже не раз настраивал и могу сразу рассказать про подводные камни, с которыми можно столкнуться.
▪️На некоторых системах WoL глючит. Не знаю, почему. Приходится шаманить с настройками в ethtool, добавлять скрипты в автозагрузку на возврат некоторых параметров, которые слетают. Я это наблюдал на одном и том же железе, устанавливая туда разные системы. Проблемы иногда возникают после обновления на новый релиз.
▪️Управляющий сервер, который запускает скрипт WoL и целевой сервер должны быть в одном сегменте сети L2, чтобы можно было отправить запрос по MAC адресу. По научному это называется - должны находиться в одном широковещательном домене. А если совсем по простому - воткнуты в один свитч. Это ограничение в некоторых случаях можно обойти.
▪️Если было полное обесточивание целевого сервера, то по WoL он не включится. Нужно один раз включить его вручную и штатно выключить. После этого он снова будет автоматически включаться. Не знаю, с чем это связано. Не всегда и не везде воспроизводится, но я с этим регулярно сталкивался.
Отдельно отмечу, что это не единственный бэкап. В таком виде с ним неудобно работать. Можно назвать его бэкапом бэкапов, но это тоже неверно. Забирать желательно оригинальные данные, а не бэкапы, потому что если в бэкапах проблема, вы эти же проблемы заберёте и к себе. Если настраиваю несколько бэкапов, то по возможности стараюсь все их брать с оригинальных данных.
#backup