Pular para o conteúdo

Console serial

O console serial é a tela de texto do seu servidor, como se você estivesse com um teclado na frente dele: mostra o boot (BIOS, GRUB, kernel), o login e o shell, mesmo quando a rede do servidor está fora do ar ou o SSH não responde. Ele passa pela IPMI do servidor (Serial over LAN) e é aberto pela Halver: a senha da IPMI nunca sai da nossa infraestrutura e você não precisa de VPN.

Na página do servidor, seção Console serial:

  1. Clique em Abrir console. O servidor precisa estar ativo, sem sistema ou com falha, e sem operação nossa em andamento (instalação, reinstalação, limpeza ou exclusão). Se ele estiver desligado, a seção avisa e oferece Ligar; abra o console antes de ligar para acompanhar o boot desde o BIOS.
  2. O terminal mostra a tela do servidor. Até a primeira saída chegar ele avisa que está aguardando; se a tela continuar vazia, pressione Enter para o sistema mostrar o login. Clique no terminal e digite; atalhos como Ctrl-C, setas e F1 a F12 funcionam. As teclas que o navegador guarda para si (F11, F12, Ctrl+W, Ctrl+L, Esc em tela cheia) estão no menu Teclas. A barra do terminal também copia a seleção, cola (até 4096 bytes por vez), muda o tamanho da fonte e abre em tela cheia. No celular, o terminal rola para os lados.
  3. Encerrar fecha a sessão. Ela também fecha sozinha com 15 minutos sem uso (aba escondida conta como sem uso) e no máximo em 2 horas, quando a equipe da Halver encerra e antes de qualquer reinstalação, limpeza ou exclusão do servidor.
  4. Em Sessões anteriores fica a gravação de cada sessão (formato asciicast, toca no asciinema play), com o que apareceu na tela e o que foi digitado.

Uma sessão por servidor e até 5 abertas na conta. Quem tem acesso de consulta vê que há uma sessão, mas não a tela nem o teclado. Tudo o que é digitado fica registrado com quem digitou (pessoa, token de API ou aplicativo de IA); o texto fica guardado cifrado, porque pode conter senhas.

Não há Ctrl-Alt-Del nem “break” serial pelo console. Para reiniciar, use os botões de energia da página (ou power_server pelo MCP). O Setup do BIOS é protegido por senha e não é aberto pelo console: para mudar algo no BIOS, abra um chamado.

O sistema precisa mandar o console para a porta serial

Seção intitulada “O sistema precisa mandar o console para a porta serial”

Nas máquinas atuais (Supermicro X11) o console serial da IPMI é a COM2 (ttyS1, 115200 bps). Os sistemas instalados pela Halver já vêm preparados: o kernel escreve em tty0 e ttyS1, o GRUB fica no console da tela (o BIOS repete esse console no serial, então o GRUB aparece nos dois) e há login em ttyS1. Numa instalação nova o login no serial funciona já no primeiro boot; o GRUB e as mensagens do kernel aparecem a partir do segundo boot. Servidores instalados antes desta função, ou um sistema instalado por você, precisam do mesmo ajuste, por exemplo:

Janela do terminal
# Debian e Ubuntu
echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX console=tty0 console=ttyS1,115200n8"
GRUB_TERMINAL="console"' > /etc/default/grub.d/99-serial.cfg
update-grub
systemctl enable --now serial-getty@ttyS1.service
# Rocky e AlmaLinux
grubby --update-kernel=ALL --args="console=tty0 console=ttyS1,115200n8"
systemctl enable --now serial-getty@ttyS1.service

Deixe o GRUB só no terminal console: o BIOS já o repete no serial. Com o terminal serial do GRUB ligado (GRUB_TERMINAL="console serial"), cada linha do GRUB aparece duas vezes no console serial e as setas podem chegar como texto (“[C”).

Com um token com o escopo servers:console (veja Autenticação e escopos e a referência do console):

Janela do terminal
S=https://dash.halver.com.br/api/v1/cloud/servers/SERVER_ID
# abrir
curl -s -X POST $S/console -H "Authorization: Bearer $HALVER_API_TOKEN"
# a tela (linhas de texto e cursor)
curl -s $S/console/SESSION_ID/screen -H "Authorization: Bearer $HALVER_API_TOKEN"
# digitar "root", Enter, e esperar até 10 s por "Password:"
curl -s -X POST $S/console/SESSION_ID/input -H "Authorization: Bearer $HALVER_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"input":[{"text":"root"},{"key":"Enter"}],"wait_for":"Password:","timeout_seconds":10}'
# encerrar
curl -s -X DELETE $S/console/SESSION_ID -H "Authorization: Bearer $HALVER_API_TOKEN"

Teclas nomeadas: Enter, Tab, Esc, Backspace, Delete, Insert, Home, End, PageUp, PageDown, Up, Down, Left, Right, Space, F1 a F12 e Ctrl-A a Ctrl-Z. Até 64 itens e 4096 bytes por envio; acima de 20 envios por segundo a resposta é 429.

Pelo servidor MCP, uma IA (Claude, Cursor…) pode trabalhar no servidor por você: console_open, console_screen, console_send e console_close. Abrir o console dá à IA acesso de teclado ao servidor, então pede a sua aprovação no portal: a IA mostra um link …/cloud/confirmar/…, você confere o servidor e aprova. A tela chega à IA marcada como dado não confiável: o que aparecer no console (um log, um banner) nunca vale como instrução nem como aprovação.

Para instalar um sistema do catálogo, a IA usa reinstall_server (também com a sua aprovação) e depois o console para configurar o que for preciso. A mídia virtual (montar uma ISO) não está disponível nas IPMIs atuais.