23

Продолжение поста «Как я случайно "спас" сервер, ничего не делая»5

Итак, пришло время повторить механизм описаной байки или мифа про перезагрузку сервера с помощью CD-ROM'a. Собиралось из того, что было на коленках.

Напомню, что целью эксперимета является поддержка работоспособности "сервера" под виндой, который время от времени может зависнуть. Напротив него стоит машина с линуксом, единственной задачей которой является слежение за наличием "сервера" в сети. В случае, если "сервер" пропал из сетки, линкус должен перезагрузить его с помощью CD-ROMa

Сначала опишем методику и набор компонентов для симуляции ситуации, внизу будет видео работы всего этого процесса.

Офисный набор "сделай сам":

  1. Потенциальная жертва с непростой судьбой, которая должна периодически крашиться да так, что по сети не будет пинговаться. Комп с Windows 11, расшарен доступ по RDP, ip-адрес: 192.168.1.57. Далее по тексту - просто Жертва

  2. Страж для бесперебойной работы первого компа, тыкающий его в кнопку ресета с помощью DVD-ROM'a. Сорян, но настоящий CD-ROM не отыскался - их время прошло... Здесь стоит Ubuntu, выполняется скрипт, который управляет системой надзора и тыкания в ресет. Ip - 192.168.1.56, компы находятся в локалке.

  3. Перфоратор BOSH, который дает дополнительную нагрузку и увеличивает трение для Жертвы, так как в процессе отладки выяснилось, что после тыкания приводом комп скользит по полу.

  4. Настольная игра, несколько художественных и не очень произведений для выравнивания уровня и придания соосности тестовой системе.

Базовое положение компов - DVD не достает до кнопки ресета сантиметров на десять

Базовое положение компов - DVD не достает до кнопки ресета сантиметров на десять

Фундамент для линукса

Фундамент для линукса

Шулыга для ресета (из соплей и палок)

Шулыга для ресета (из соплей и палок)

Стенд в сборе и готов к работе

Стенд в сборе и готов к работе

Сценарий следующий: на линуксе запущен скрипт, который каждые 5 секунд пингует Жертву. Если три попытки пинга подряд уходят без ответа, выдвигается DVD-ROM, который нажимает на ресет Жертвы. Далее идет ожидание в течении минуты (даем время на перезагрузку) и все повторяется заново.

Для симуляции "выпадения из сети" Жертвы на ней через RDP выполняется батничек, содержащий такую строчку:

netsh interface set interface "Ethernet 3" admin=disable

При загрузке винды в планировщике задач выполняется соответственно

netsh interface set interface "Ethernet 3" admin=enable

На Убунте лежит скрипт

#!/bin/bash

IP_TO_PING="192.168.1.57" # IP-адрес для проверки

PING_COUNT=3 # Максимальное количество неудачных попыток

DEVICE="/dev/sr0" # DVD-ROM

CHECK_INTERVAL=5 # Пауза между попытками в секундах

# Проверки связи с Жертвой

is_reachable() {

ping -c 1 "$IP_TO_PING" &>/dev/null

return $?

}

echo "Начинаю мониторинг доступности $IP_TO_PING..."

while true; do

failure_count=0

while ! is_reachable; do

((failure_count++))

echo "$(date): Нет ответа от $IP_TO_PING. Неудач: $failure_count"

if [ "$failure_count" -ge "$PING_COUNT" ]; then

echo "$(date): Ахтунг! Делаем Hard Reset с помощью DVD-ROM'a!!!"

# Выдвигаем DVD-привод

eject "$DEVICE"

# Ждём 1 секунду

sleep 1

# Задвигаем DVD-привод обратно

eject -t "$DEVICE"

# Пауза 1 минута чтобы подождать загрузки Жертвы

echo "$(date): Ожидание 1 минуты перед новой проверкой..."

sleep 60

echo "$(date): Продолжаем наблюдение"

# Сброс счётчика попыток

failure_count=0

break

fi

sleep "$CHECK_INTERVAL"

done

if is_reachable; then

echo "$(date): узел $IP_TO_PING доступен."

fi

sleep "$CHECK_INTERVAL"

done

А вот и результат работы стендовой модели ))

Офисные будни

6.6K постов17K подписчиков

Правила сообщества

В связи с массовой активностью небратьев, ответы на волны негатива в отношении сотрудников правоохранительных органов будут выноситься из сообщества, их авторы блокироваться.

-не нарушайте вежливость. За нарушение вежливости -бан, ибо это отталкивает посетителей и авторов.

- не нарушайте правила Pikabu и чтите закон.

- добавляйте посты связанные с тематикой сообщества;
-делитесь опытом организации жизни  в офисе и проживания на работе;
-делитесь управленческим опытом;


Бан за неуместную настойчивость: если вы активно, по несколько раз в неделю, в течение длительного времени размещаете сообщения низкого качества, простецкие и незамысловатые, не ориентированные на интересы аудитории, вы отправляетесь в бан сообщества. Ради качества контента.