От этой статьи вы узнаете о Serial over LAN и как его активировать.
Serial Over LAN (SOL) – это механизм, который позволяет перенаправлять ввод и вывод последовательного порта управляемой системы через IP. Это осуществляется через IPMI.
Активация Serial over LAN
Чтобы активировать SOL (Serial over LAN), выполните следующую команду:
ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol activate
Использование шифрования сюиты 3 обязательно (если это не установка по умолчанию), потому что в противном случае связь через LANplus невозможна.
Если появляется следующее сообщение об ошибке, вам нужно активировать SOL для пользователя:
$ ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol activate
Info: SOL payload disabled
$ ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol payload enable <channel> <user-id>
После этого вы сможете видеть вывод BIOS. Для доступа к загрузчику и/или загруженной системе требуются дополнительные настройки.
GRUB2
Для GRUB2 просто измените некоторые строки в /etc/default/grub
и заново сгенерируйте настройки.
С Supermicro X9SRi-F серийная консоль находится на ttyS2/unit=2. С Asus Z10PA-U8 – на ttyS1/unit=1. И с Intel S1200V3RPL – на ttyS0/unit=0. Также следует отметить, что скорость передачи должна быть установлена на 57600 для Asus Z10PA-U8 и 115200 для всех остальных.
Intel S1200V3RPL
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset console=tty0 console=ttyS0,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
Supermicro X9SRi-F
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset console=tty0 console=ttyS2,115200n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=2 --word=8 --parity=no --stop=1"
Asus Z10PA-U8
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset console=tty0 console=ttyS1,57600n8"
GRUB_TERMINAL=serial
GRUB_SERIAL_COMMAND="serial --speed=57600 --unit=1 --word=8 --parity=no --stop=1"
GRUB (grub-legacy)
Для GRUB1 (grub-legacy) добавьте следующие строки в /boot/grub/menu.lst
или /boot/grub/grub.conf
(CentOS):
Intel S1200V3RPL
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
Supermicro X9SRi-F
serial --unit=2 --speed=57600 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
Asus Z10PA-U8
serial --unit=1 --speed=115200 --word=8 --parity=no --stop=1
terminal --timeout=5 serial console
В то же время вы должны добавить тот же последовательный порт в параметры загрузки ядра. Это ttyS0 с Intel S1200V3RPL, ttyS1 с Asus Z10PA-U8 и ttyS2 с Supermicro X9SRi-F.
console=tty0 console=ttyS0,115200n8
Это сообщает ядру выводить информацию на первом последовательном порту. Изменение GRUB_TERMINAL на serial означает, что любой ввод/вывод будет перенаправлен на последовательный порт. Локальный экран больше не будет отображать меню загрузки, и, таким образом, больше нельзя выбирать запись загрузки через KVM Console или KVM. После перезагрузки вывод будет отправляться параллельно и на локальный экран, и на последовательный порт.
После этого вам нужно настроить терминал для последовательного порта в вашей системе. Debian 7.x (wheezy) / Debian 8 с Sys-V Init
Вам нужно добавить следующую строку в /etc/inittab
. Здесь также используйте ttyS0 и 115200 Baud с Intel S1200V3RPL, ttyS2 и 115200 Baud с Supermicro X9SRi-F, а также ttyS1 и 57600 Baud с Asus Z10PA-U8:
T0:2345:respawn:/sbin/getty -L ttyS0 115200 vt100
После этого вы можете активировать терминал, введя init q
.
Ubuntu (до 14.10 с Upstart)
Создайте файл /etc/init/ttyS0.conf
со следующим содержанием (или альтернативно ttyS2.conf с ttyS2 и 115200 Baud с моделями Supermicro X9SRi-F или ttyS1.conf с ttyS1 и 57600 Baud с моделями Asus Z10PA-U8):
# ttyS0 - getty
#
# This service maintains a getty on ttyS0 from the point the system is
# started until it is shut down again.
start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]
respawn
exec /sbin/getty -L ttyS0 115200 vt100
После этого вы можете активировать терминал, введя start ttyS0
.
CentOS
В CentOS 6.x конфигурация аналогична Ubuntu. Однако /etc/init/serial.conf
автоматически запускает getty на последовательном порту, который добавляет порт в /etc/securetty
. Поэтому вам просто нужно настроить последовательную консоль в grub.conf
и присоединить соответствующую опцию ядра.
Debian 8 / OpenSuSE / Fedora
Для Debian 8 (jessie), OpenSuSE и других дистрибутивов, таких как Fedora, которые используют systemd и GRUB2, просто измените /etc/default/grub
и обновите конфигурацию, используя grub2-mkconfig
. На следующей загрузке systemd автоматически начнет использовать последовательный порт GRUB2.
Серийная консоль
Теперь, если вы подключитесь через ipmitool
, вы быстро увидите вход:
$ ipmitool -C 3 -I lanplus -H <ipaddr> -U <user> -P <pass> sol activate
[SOL Session operational. Use ~? for help]
Debian GNU/Linux 7 Debian-70-wheezy-64-minimal ttyS0
Debian-70-wheezy-64-minimal login: