A porta do ILO no servidor HP, por padrão, solicita um IP via DHCP. Então você só precisa conectá-lo em uma rede que tenha um servidor DHCP em execução. Ele se anunciará com um nome de host como ILOCZ12345678
, o que facilitará a localização na tabela de concessões DHCP do seu roteador ou, por exemplo, em journalctl
/ syslog
se você executar um servidor DHCP (por exemplo, isc-dhcp-server
) em um sistema como o Ubuntu.
Depois de encontrar o IP (digamos, 1.2.3.4
), você pode se conectar à interface gráfica do ILO via https://1.2.3.4
. Mas não é isso que estamos procurando, queremos o console serial. Então, use a interface SSH da ILO: ssh [email protected]
. A senha padrão está na pequena etiqueta de papel que vem com o Microserver.
Observe que isso também funciona quando o servidor é desligado, desde que tenha um cabo de energia preso nele (esse é o ponto da ILO).
Lá, digite ?
para ver todas as opções. Trecho:
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.
Escolhemos VSP
para obter a porta serial; TEXTCONS
provavelmente também seria bom, mas você teria que comprar a licença Advanced ILO para usá-la.
Agora, uma vez que fazemos isso, com um sistema em execução, ele fica pendurado em
</>hpiLO-> VSP
Virtual Serial Port Active: COM2
Starting virtual serial port.
Press 'ESC (' to return to the CLI Session.
Isso porque, por padrão, o Ubuntu (eu estou usando o 16.04 aqui) não disponibiliza um prompt de login através da porta serial. Nós vamos mudar isso mais tarde. Primeiro nós reinicializamos para ver que a configuração do BIOS já funciona.
Vendo o boot pela porta serial
Em outra sessão ssh do ILO, reinicialize usando:
</>hpiLO-> power reset
status=0
status_tag=COMMAND COMPLETED
Sun Feb 5 20:05:59 2017
Server resetting .......
Após algum tempo de espera, você notará que a sessão na qual o VSP
está em execução apagou a tela.
Em seguida, aparece:
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
Essa é a tela do POST. Espere um pouco e veja:
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
Se você quiser configurar o BIOS, agora é sua vez: Essa tela aparece apenas por 1 segundo ou mais. As teclas F * normalmente não funcionam, elas precisam ser escapadas: você literalmente tem que pressionar a tecla ESC
e depois o número / símbolo como diz acima. Por exemplo. ESC
e, em seguida, 5
é para F5
.
Agora, sem configurações adicionais, obtemos silêncio na porta serial, porque como mencionado acima, nem o GRUB2 nem os terminais de login do Ubuntu saem por padrão para a porta serial em 16.04.
Portanto, configuramos o servidor (agora via SSH) para usar a porta serial.
Fazendo o GRUB2 usar a porta serial
Eu segui as instruções no link alterando /etc/default/grub
conforme descrito ( -
significa comentar a linha com #
, +
significa adicionar a linha):
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"
O tempo limite de 10 segundos é definido porque a conexão serial redesenha a tela extremamente lentamente e queremos tempo suficiente para poder cancelar o tempo limite pressionando, e. com a chave no GRUB.
Após alterar o arquivo conforme descrito, execute sudo update-grub
e reinicialize.
Agora você deve ver na sua sessão VSP
o seguinte após a tela 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
Nós ignoramos isso (se você sabe como se livrar disso, por favor, comente). Depois de um tempo, aparece:
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.
Essa é uma tela normal do GRUB, e você pode mover o ponteiro *
com as teclas para cima e para baixo.
Fazendo o login do Ubuntu usar a porta serial
Os bits a seguir são inspirados no link
sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]
Agora edite /etc/systemd/system/[email protected]
:
Altere a linha
ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 %I $TERM
para
ExecStart=-/sbin/agetty %I 115200 vt100-nav
Nós nos preocupamos em definir o modo vt100-nav
- descobri que o login não aparece sem essa alteração.
Não sei por que temos que usar ttyS1
enquanto que no GRUB nós configuramos ttyS0
- mas não funciona para mim usar S0
aqui. Se alguém souber por quê, por favor comente.
Inicie o tty via:
sudo systemctl start [email protected]
Agora você deve ver um prompt de login na sua sessão VSP
. Faça isso acontecer automaticamente na inicialização usando:
sudo systemctl enable [email protected]
E reinicie. Agora você deve ver toda a saída em VSP
, do POST para o GRUB2 para o prompt de login.