1

У меня есть микросервер HP ProLiant Gen9. Он имеет HP ILO версии 4, но удаленная консоль на основе Java работает ненадежно, и я не могу использовать ее после экрана POST в бесплатной версии ILO (просит меня купить расширенную лицензию ILO). Поэтому я хочу использовать последовательную консоль вместо того, чтобы получить логин на сервере.

Что мне нужно включить, чтобы получить все фазы (POST, конфигурация BIOS, вывод GRUB, возможный запрос на вход в систему) процесса загрузки в последовательной консоли через сетевой порт ILO сервера? Как мне к нему подключиться?

1 ответ1

1

Порт ILO на сервере HP по умолчанию запрашивает IP-адрес через DHCP. Так что вам просто нужно подключить его к сети, в которой работает DHCP-сервер. Он объявит себя с именем хоста, таким как ILOCZ12345678 которое должно облегчить поиск в таблице аренды DHCP вашего маршрутизатора или, например, в journalctl/syslog если вы запускаете сервер DHCP (например, isc-dhcp-server) в системе, подобной Ubuntu.

После того, как вы нашли IP (скажем, 1.2.3.4), вы можете подключиться к графическому интерфейсу МОТ через https://1.2.3.4 . Но это не то, что мы ищем, нам нужна последовательная консоль. Поэтому вместо этого используйте SSH-интерфейс МОТ: ssh Administrator@1.2.3.4 . Пароль по умолчанию указан на маленьком бумажном ярлыке, который поставляется с микросервером.

Обратите внимание, что это также работает, когда сервер выключен, если в него вставлен силовой кабель (это точка ILO).

Там типа ? чтобы увидеть все варианты. Выдержка:

POWER    : Control server power.
UID      : Control Unit-ID light.
ONETIMEBOOT: Access One-Time Boot setting.
NMI      : Generate an NMI.
VM       : Virtual media commands.
LANGUAGE : Command to set or get default language
VSP      : Invoke virtual serial port.
TEXTCONS : Invoke Remote Text Console.
TESTTRAP : Sends a test SNMP trap to the configured alert destinations.

Мы выбираем VSP чтобы получить последовательный порт; TEXTCONS , вероятно, тоже подойдет , но вам придется купить лицензию Advanced ILO, чтобы использовать ее.

Теперь, когда мы делаем это, с работающей системой, она просто висит на

</>hpiLO-> VSP

Virtual Serial Port Active: COM2

Starting virtual serial port.
Press 'ESC (' to return to the CLI Session.

Это потому, что по умолчанию Ubuntu (здесь я использую 16.04) не делает приглашение к входу через последовательный порт. Мы изменим это позже. Сначала мы перезагружаемся, чтобы увидеть, что конфигурация BIOS уже работает.

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

В другом сеансе ILO ssh перезагрузите компьютер, используя:

</>hpiLO-> power reset

status=0
status_tag=COMMAND COMPLETED
Sun Feb  5 20:05:59 2017

Server resetting .......

Через некоторое время вы заметите, что сеанс, в котором работает VSP , очистил свой экран.

Затем появляется:

                            4096 MB Installed                                   

ProLiant System BIOS - J06 (11/02/2015)                                         
Copyright 1982, 2015 Hewlett-Packard Development Company, L.P.                  



1 Processor(s) detected, 2 total cores enabled, Hyperthreading is not supported
Proc 1:  Intel(R) Celeron(R) CPU G1610T @ 2.30GHz      
HP Power Profile Mode: Custom
Power Regulator Mode: Dynamic Power Savings

Redundant ROM Detected - This system contains a valid backup System ROM.
Inlet Ambient Temperature: 18C/64F

HP SmartMemory authenticated in all populated DIMM slots.

HP AHCI SATA Controller (v0.90)            
Copyright (c) 2011, Hewlett-Packard Development Company, L.P.
HP AHCI SATA Controller (v0.84)             WD30EFRX-68EUZN0
   Port3: S.M.A.R.T Capable Hard Disk - WDC WD30EFRX-68EUZN0
Copyright (c) 2011, Hewlett-Packard Development Company, L.P.
                                                                  <F9 = Setup>
iLO 4 Standard                           
iLO 4 v2.50 Sep 23 2016 192.168.178.106

Broadcom NetXtreme Ethernet Boot Agent
Copyright (C) 2000-2015 Broadcom Corporation
All rights reserved.
Press Ctrl-S to enter Configuration Menu

Это экран POST. Подождите немного и увидите:

 Press "F9" key for ROM-Based Setup Utility
 Press "F10" key for Intelligent Provisioning
 Press "F11" key for Default Boot Override Options
 Press "F12" key for Network Boot
 For access via BIOS Serial Console
 Press "ESC+9" for ROM-Based Setup Utility
 Press "ESC+0" for Intelligent Provisioning
 Press "ESC+!" for Default Boot Override Options
 Press "ESC+@" for Network Boot

Если вы хотите настроить BIOS, сейчас ваше время: этот экран появляется только на 1 секунду или около того. Клавиши F * обычно не работают, их нужно экранировать: буквально нужно нажать клавишу ESC а затем цифру / символ, как указано выше. Например, ESC а затем 5 для F5 .

Теперь, без дополнительных настроек, мы получаем тишину на последовательном порту, потому что, как упоминалось выше, ни GRUB2, ни терминалы входа в Ubuntu по умолчанию не выводят последовательный порт в 16.04.

Поэтому мы настраиваем сервер (теперь через SSH) на использование последовательного порта.

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

Я следовал инструкциям на https://www.hiroom2.com/2016/06/06/ubuntu-16-04-grub2-and-linux-with-serial-console/, изменив /etc/default/grub как описано (- означает закомментировать строку с # , + означает добавить строку):

GRUB_

DEFAULT=0
-GRUB_HIDDEN_TIMEOUT=0
-GRUB_HIDDEN_TIMEOUT_QUIET=true
-GRUB_TIMEOUT=10
+GRUB_TIMEOUT=1
 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
-GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
-GRUB_CMDLINE_LINUX=""
+GRUB_CMDLINE_LINUX_DEFAULT=""
+GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200"

-#GRUB_TERMINAL=console
+GRUB_TERMINAL="console serial"
+GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"

Время ожидания составляет 10 секунд, потому что последовательное соединение очень медленно перерисовывает экран, и нам нужно достаточно времени, чтобы можно было отменить время ожидания, например, нажав клавишу GRUB.

После изменения файла, как описано, запустите sudo update-grub и перезагрузите компьютер.

Теперь вы должны увидеть в сеансе VSP следующее после экрана POST:

error: serial port `com2' isn't found
error: terminal `serial' isn't found
error: terminal `serial' isn't found
error: no video mode activated

Мы игнорируем это (если вы знаете, как от этого избавиться, пожалуйста, прокомментируйте). Через короткое время это появляется:

 GNU GRUB  version 2.02~beta2-36ubuntu3.6

 +----------------------------------------------------------------------------+
 |*Ubuntu                                                                     |
 | Advanced options for Ubuntu                                                |
 | Memory test (memtest86+)                                                   |
 | Memory test (memtest86+, serial console 115200)                            |
 |                                                                            |
 |                                                                            | 
 +----------------------------------------------------------------------------+

      Use the  and  keys to select which entry is highlighted.          
      Press enter to boot the selected OS, `e' to edit the commands       
      before booting or `c' for a command-line.                           

Это обычный экран GRUB, и вы можете перемещать указатель * с помощью клавиш вверх и вниз.

Заставить логин Ubuntu использовать последовательный порт

Следующие фрагменты вдохновлены http://0pointer.de/blog/projects/serial-console.html

sudo cp /lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyS1.service

Теперь отредактируйте /etc/systemd/system/serial-getty@ttyS1.service:

Изменить линию

ExecStart = -/sbin/agetty --keep-baud 115200,38400,9600% I $ TERM

в

ExecStart = -/sbin/agetty% I 115200 vt100-nav

Нам особенно важно установить режим vt100-nav - я обнаружил, что логин не появляется без этого изменения.

Я не уверен, почему мы должны использовать ttyS1 здесь, в то время как в GRUB мы настроили ttyS0 - но я не могу использовать S0 здесь. Если кто-то знает почему, пожалуйста, прокомментируйте.

Запустите tty через:

sudo systemctl start serial-getty@ttyS1.service

Теперь вы должны увидеть приглашение на вход в сеанс VSP . Сделайте это автоматически при загрузке, используя:

sudo systemctl enable serial-getty@ttyS1.service

И перезагрузка. Теперь вы должны увидеть весь вывод в VSP , от POST до GRUB2 до приглашения на вход.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .