Eu tenho um HP ProLiant Microserver Gen9. Ele tem HP ILO versão 4, mas o Console Remoto baseado em Java não funciona de forma confiável e não consigo usá-lo após a tela do POST na versão gratuita do ILO (me pede para comprar uma licença ILO Advanced). Portanto, quero usar o console serial para obter um login no servidor.
O que devo fazer em um sistema Ubuntu para obter todas as fases (POST, configuração do BIOS, saída do GRUB, o eventual prompt de login) do processo de inicialização em um console serial por meio da porta de rede ILO do servidor? Como me conecto a ele?
A porta ILO no servidor HP, por padrão, solicita um IP via DHCP. Então você só precisa conectá-lo a uma rede que tenha um servidor DHCP em execução. Ele se anunciará com um nome de host como
ILOCZ12345678
o que deve facilitar a localização na tabela de concessão DHCP do seu roteador ou, por exemplo,journalctl
/syslog
se você executar um servidor DHCP (por exemploisc-dhcp-server
) em um sistema como o Ubuntu.Depois de encontrar o IP (digamos
1.2.3.4
), você pode se conectar à interface GUI do ILO viahttps://1.2.3.4
. Mas não é isso que estamos procurando, queremos o console serial. Em vez disso, use a interface SSH da ILO:ssh [email protected]
. A senha padrão está na pequena etiqueta de papel que acompanha o Microserver.Observe que isso também funciona quando o servidor está desligado, desde que tenha um cabo de alimentação preso a ele (esse é o objetivo do ILO).
Lá, digite
?
para ver todas as opções. Excerto:Escolhemos
VSP
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 simplesmente trava
Isso ocorre porque, por padrão, o Ubuntu (estou usando o 16.04 aqui) não disponibiliza um prompt de login por meio da porta serial. Vamos mudar isso mais tarde. Primeiro, reiniciamos para ver se a configuração do BIOS já funciona.
Vê-lo inicializar através da porta serial
Em outra sessão ILO ssh, reinicie usando:
Depois de algum tempo de espera, você notará que a sessão em que
VSP
está rodando limpou sua tela.Então aparece:
Essa é a tela do POST. Espere um pouco e veja:
Se você deseja configurar o BIOS, agora é sua hora: Esta 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
ESC
tecla e depois o número/símbolo como diz acima. Por exemploESC
, e então5
é paraF5
.Agora, sem mais configurações, obtemos silêncio na porta serial, porque, como mencionado acima, nem o GRUB2 nem os terminais de login do Ubuntu são enviados por padrão para a porta serial em 16.04.
Então configuramos o servidor (agora via SSH) para usar a porta serial.
Fazendo o GRUB2 usar a porta serial
Segui as instruções em https://www.hiroom2.com/2016/06/06/ubuntu-16-04-grub2-and-linux-with-serial-console/ mudando
/etc/default/grub
conforme descrito (-
significa comentar a linha com#
,+
significa adicionar a linha):O tempo limite de 10 segundos é definido porque a conexão serial redesenha a tela de forma extremamente lenta e queremos tempo suficiente para poder cancelar o tempo limite pressionando, por exemplo, a tecla pressionada no GRUB.
Depois de alterar o arquivo conforme descrito, execute
sudo update-grub
e reinicie.Agora você deve ver em sua
VSP
sessão o seguinte após a tela POST:Nós ignoramos isso (se você souber como se livrar disso, por favor, comente). Depois de um curto período de tempo, isso aparece:
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 em http://0pointer.de/blog/projects/serial-console.html
Agora edite
/etc/systemd/system/[email protected]
:Mude a linha
para
Nós nos preocupamos especialmente 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
aqui enquanto configuramos o GRUBttyS0
- mas não funciona para mim usarS0
aqui. Se alguém souber o porquê, por favor, comente.Inicie o tty via:
Agora você deve ver um prompt de login em sua
VSP
sessão. Faça isso acontecer automaticamente na inicialização usando:E reinicie. Agora você deve ver toda a saída em
VSP
, de POST para GRUB2 para o prompt de login.Use
textcons
a partir da interface ssh da ILO. Isso pode exigir a licença ILO Advanced, mas, ao mesmo tempo, há uma barreira muito baixa para obter uma.A maioria das organizações não está interessada em fazer a porta serial virtual funcionar porque é demorada.
Google para obter uma licença ILO
ou obter uma licença de demonstração da HP
ou apenas pagar $ 25 por uma chave ILO da Amazon
No RHEL7 "error: terminal `serial' is not found" é devido ao fato de que o Anaconda não coloca um driver de dispositivo "serial" na imagem RAM. É possível reconstruir o disco RAM com o driver ausente, mas o Grub parece funcionar suficientemente sem ele.