LINUX.ORG.RU
ФорумAdmin

Single user mode по сети

 ,


0

1

Допустим есть железка, где основная vt недоступна от слова вообще (headless сервер, или одноплатник где UART не распаян и т.п.). Допустим из-за какого-то косяка в файловой системе или настройке сервисов, все вылетело в аварийную консоль. В ней, понятное дело, нет ни сети, ничего.

Задача - достучаться в таком «аварийном» режиме до этой самой аварийной консоли по сети с наименьшим количеством костылей. Есть ли у кого истории успеха?

★★★★★

все вылетело в аварийную консоль. В ней, понятное дело, нет ни сети, ничего.

Задача - достучаться в таком «аварийном» режиме до этой самой аварийной консоли по сети с наименьшим количеством костылей.

В смысле post factum (после того, как всё вылетело), не трогая при этом саму железку? Очевидно, невозможно.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

В тегах «debian» и «systemd», а в тексте — речь об одноплатниках. Я так понимаю, здесь речь не об out of band management.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

Ну, из очевидного запихивать telnet initramfs/запускать в single user. Его все же хотелось бы наименее костыльного решения.

ncrmnt ★★★★★
() автор топика
Ответ на: комментарий от ncrmnt

А, то есть ты хочешь заранее подготовить софт и железку, чтобы потом её можно было спасать. Я не так понял вопрос.

intelfx ★★★★★
()
Ответ на: комментарий от ncrmnt

Тогда как-то так:

  • создаёшь minimal.target, ставишь его в зависимости к emergency.target и rescue.target

  • добавляешь в зависимости к minimal.target всё что тебе нужно, с явным перечислением всех транзитивных зависимостей и системных юнитов из sysinit.target (а именно: sshd, сетевой менеджер, udev)

  • проверяешь, что в каждом таком сервисе написано DefaultDependencies=no

  • для ssh придётся написать отдельный сервис, который копирует имеющийся, но с DefaultDependencies=no (ну или поправить имеющийся, но тогда иметь в виду, что sshd может стартануть до полного монтирования всех ФС, например)

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 4)

вылетело в аварийную консоль

В смысле вылетело? Single user mode - обычно это означает, что вместо инита (systemd) запустился интерактивный шелл (из initramfs) принудительно или из-за ошибки при старте инита.

anonymous
()
Ответ на: комментарий от anonymous

Single user mode - обычно это означает, что вместо инита (systemd) запустился интерактивный шелл (из initramfs)

Нет, man rescue.target.

из-за ошибки при старте инита

При «ошибке при старте инита» происходит kernel panic.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

rescue.target

Ясно. Своим терминам приписываем термины из sysvinit.

Так бы сразу и написали. Насколько помню по стандарту «runlevel 1» (rescue.target как его аналог) не поднимает сетевые соединения.

При «ошибке при старте инита» происходит kernel panic.

kernel panic - это когда инит (systemd) падает. А вот когда initramfs не может стартовать основной инит по каким-то причинам, то он обычно запускает вместо инита интерактивный шелл.

anonymous
()
Ответ на: комментарий от intelfx

С initramfs две конфигурации init, ты про какую?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.