hp-proliant – 如何启用和使用HP Microserver Gen9的串行终端?

我有一台HP ProLiant Microserver Gen9.它有HP ILO版本4,但基于 Java的远程控制台无法可靠地工作,我无法在免费版ILO中的POST屏幕后使用它(要求我购买ILO Advanced许可证).所以我想使用串行控制台来获取服务器上的登录信息.

我需要在Ubuntu系统上通过服务器的ILO网络端口在串行控制台中获取启动过程的所有阶段(POST,BIOS配置,GRUB输出,最终登录提示)?我该如何连接它?

默认情况下,HP服务器上的ILO端口通过DHCP请求IP.因此,您只需将其插入运行DHCP服务器的网络即可.它将通过ILOCZ12345678等主机名称宣布自己,这样可以更容易地在路由器的DHCP租约表中找到它,或者例如在如果在像Ubuntu这样的系统上运行DHCP服务器(例如isc-dhcp-server),则为journalctl / syslog.

找到IP(比如1.2.3.4)后,可以通过https://1.2.3.4连接到ILO的GUI界面.但这不是我们想要的,我们想要串行控制台.因此,请使用ILO的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,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使用串口

我按照描述更改/ etc / default / grub在https://www.hiroom2.com/2016/06/06/ubuntu-16-04-grub2-and-linux-with-serial-console/处的说明( – 表示用#注释掉行,表示添加行):

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,然后重新启动.

现在,您应该在POST屏幕后看到以下VSP会话:

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到登录提示.

相关文章

1.安装过程出现0x00000000指令引用的0x00000000内存该内存不能为written 如果你安装的是inux系统 需要在...
写在全面:如果根据以下教程涉及到只读文件需要更改文件权限才能需修改文件内容,参考我的另一篇博客:...
写在前面:以下步骤中需要在终端输入命令,电脑端查看博客的朋友可以直接复制粘贴到终端,手机端查看的...
ubuntu16.04和18.04更换国内源 写在前面:安装好ubuntu双系统后,默认的软件更新源是国外的,在国内使用...
ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后...
又来造轮子了。。。。。。。。。。。。。。。。 今天使用w3af向文件中写入的时候,发现没有write权限,...