AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 830748
Accepted
nh2
nh2
Asked: 2017-02-06 12:58:59 +0800 CST2017-02-06 12:58:59 +0800 CST 2017-02-06 12:58:59 +0800 CST

Como habilitar e usar o terminal serial de um HP Microserver Gen9?

  • 772

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?

hp-proliant serial ilo ubuntu-16.04
  • 3 3 respostas
  • 23825 Views

3 respostas

  • Voted
  1. Best Answer
    nh2
    2017-02-06T12:58:59+08:002017-02-06T12:58:59+08:00

    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 ILOCZ12345678o que deve facilitar a localização na tabela de concessão DHCP do seu roteador ou, por exemplo, journalctl/ syslogse 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 GUI do ILO via https://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:

    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 VSPobter a porta serial; TEXTCONSprovavelmente 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

    </>hpiLO-> VSP
    
    Virtual Serial Port Active: COM2
    
    Starting virtual serial port.
    Press 'ESC (' to return to the CLI Session.
    

    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:

    </>hpiLO-> power reset
    
    status=0
    status_tag=COMMAND COMPLETED
    Sun Feb  5 20:05:59 2017
    
    Server resetting .......
    

    Depois de algum tempo de espera, você notará que a sessão em que VSPestá rodando limpou sua tela.

    Então 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ê 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 ESCtecla e depois o número/símbolo como diz acima. Por exemplo ESC, e então 5é para F5.

    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/grubconforme 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 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-grube reinicie.

    Agora você deve ver em sua VSPsessão 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ê souber como se livrar disso, por favor, comente). Depois de um curto período de tempo, isso 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 em http://0pointer.de/blog/projects/serial-console.html

    sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]
    

    Agora edite /etc/systemd/system/[email protected]:

    Mude a linha

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

    para

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

    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 ttyS1aqui enquanto configuramos o GRUB ttyS0- mas não funciona para mim usar S0aqui. Se alguém souber o porquê, por favor, comente.

    Inicie o tty via:

    sudo systemctl start [email protected]
    

    Agora você deve ver um prompt de login em sua VSPsessão. 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, de POST para GRUB2 para o prompt de login.

    • 15
  2. ewwhite
    2017-02-06T13:33:02+08:002017-02-06T13:33:02+08:00

    Use textconsa 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

    • 2
  3. Darryl
    2017-07-18T05:26:19+08:002017-07-18T05:26:19+08:00

    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.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve