суббота, 24 февраля 2024 г.

Восстановление сервера через последовательный порт

 Вчера проигнорировал правило "ничего не делать в пятницу вечером" и заплатил за это ранним подъёмом в субботу. Началось всё с небольшой "уборки" на домашнем сервере в результате которой был удалён LVM том, который использовался для раздачи файловой системы для Raspberry PI. До перехода на SSD я использовал SD карты только для загрузчика, а корень файловой системы лежал на NFS. В этом случае SD карта не изнашивалась от постоянной записи, да и работало через NFS быстрее (особенно сборка пакетов для Debian/Ubuntu).

В общем отмонтировал файловую систему, удалил LVM том, а вот почистить /etc/fstab забыл. После установки обновлений ядра отправил сервер на перезагрузку из которой ему было не суждено было выйти. Казалось бы - подключи монитор и клавиатуру и поправь одну строчку в конфиге и всё заработает... но у этого сервера нет видеокарты. За давностью лет не помню почему так вышло, но как есть так есть. Полистал местную барахолку на предмет б/у PCI-Express видеокарт с пассивным охлаждением, добавил пару штук в закладки и пошёл спать.

Утром в свежую голову пришла идея как восстановить сервер без видеокарты.

Около 10 лет назад я настроил поддержку последовательного порта в Grub и ядре и с тех пор ни разу не воспользовался ею. Поискал в закромах переходник RS-232 USB, но ничего не нашёл (хотя помню что заказывал такой переходник). Зато нашлись микросхема MAX232N, четыре электролита, USB-UART переходник, макетка, разъём DB-9 мама и немного проводов. Схема выглядит так

Собрал на столе и для проверки замкнул 2 и 3 пин в разъёме DB-9. В этом случае RX соединяется с TX и в терминале будут видны вводимые символы. Настройки порта со стороны сервера 9600 8N1 и для тестирования достаточно запустить screen /dev/ttyUSB0 9600

Подключил ноутбук через этот переходник к COM порту в сервере и включил питание. Сначало появилось меню Grub а следом пошли сообщения от ядра.

Подождал пока загрузка вывалится в "Enter root password or press Ctrl+D to continue" и поправил /etc/fstab. После этого сервер загрузился как обычно.

Переходник крупным планом

 Собрать переходник и починить сервер заняло около часа. Мотаться по городу в поисках видеокарты заняло бы больше времени. Хотя  видеокарту всё же нужна, т.к. иначе в BIOS зайти не получится. Да и в случае с проблемами в самом Grub этот способ тоже не подойдёт.

Комментариев нет:

Отправить комментарий