Назад | Перейти на главную страницу

Автоматическая перезагрузка серверов

В настоящее время у компании Hetzner есть веб-сервер VPS в Германии. Они предлагают бесплатную службу балансировки нагрузки. Думаю о клонировании моего VPS на их сайте в Финляндии (то есть о добавлении еще одного VPS с клонированными настройками / содержимым) для ежедневных резервных копий, которые также могут повысить доступность моего сайта через балансировщик нагрузки.

Возможно ли это даже с двумя VPS, или мне понадобится дополнительный для хранилища / базы данных? Я в основном пытаюсь создать структуру RAID-1, но с двумя VPS вместо двух жестких дисков.

Как лучше всего настроить это в Debian 10 таким образом, чтобы всякий раз, когда один из серверов выходит из строя, другой может отправлять команду на автоматическую перезагрузку?

Есть две части. Во-первых, необходимо определить, не работает ли сервер; во-вторых, отправить команду перезагрузки.

Для обнаружения я бы предложил использовать службу, которая отслеживает с нескольких сайтов, например HetrixИнструменты (есть еще много других). Если вы просто выполняете мониторинг с другого VPS, существует риск «ложного срабатывания», когда другой VPS считается «неработающим» из-за некоторых сетевых проблем между центрами обработки данных Hetzner, но доступным из большинства мест, что приводит к ненужной перезагрузке.

Чтобы отправить команду перезагрузки, используйте API Хетцнера (смотрите в разделе «Мягкая перезагрузка сервера»). Большинство сервисов мониторинга имеют уведомление "веб-перехватчик", которое вы можете использовать для вызова API. Если нет (или если вы не хотите раскрывать свой ключ API службе мониторинга), вы можете указать веб-перехватчик на своем собственном веб-сервере и вызвать API оттуда.

В более общем смысле, перезагрузка сервера сразу после его обнаружения - не лучшая идея. Вы не знаете причину (собирается ли Hetzner выполнять плановое обслуживание?), А неконтролируемая перезагрузка может привести к большему, а не уменьшению времени простоя, если проблема временная. Уведомление о неработающем сервере также обычно происходит, когда сервер выходит из строя, и никогда больше, что потенциально является худшим временем для перезагрузки. Вероятно, нужен более сложный алгоритм, такой как ожидание X минут и повторная попытка по крайней мере через Y минут, а не просто перезагрузка вслепую при обнаружении сбоя. Но это выходит за рамки вашего первоначального вопроса.