Aktivieren und Verwenden des seriellen Terminals eines HP Microserver Gen9

795
nh2

Ich habe einen HP ProLiant Microserver Gen9. Es gibt HP ILO Version 4, aber die Java-basierte Remote Console funktioniert nicht zuverlässig und ich kann sie nach dem POST-Bildschirm in der kostenlosen Version von ILO nicht verwenden (fragt mich nach einer ILO Advanced-Lizenz). Daher möchte ich stattdessen die serielle Konsole verwenden, um sich am Server anzumelden.

Was muss ich aktivieren, um alle Phasen (POST, BIOS-Konfiguration, GRUB-Ausgabe, eventuelle Anmeldeaufforderung) des Startvorgangs in einer seriellen Konsole über den ILO-Netzwerkport des Servers zu erhalten? Wie verbinde ich mich damit?

1

1 Antwort auf die Frage

1
nh2

Der ILO-Port des HP Servers fordert standardmäßig eine IP-Adresse über DHCP an. Sie müssen es also nur an ein Netzwerk anschließen, auf dem ein DHCP-Server ausgeführt wird. Es meldet sich mit einem Hostnamen ILOCZ12345678an, der die Suche in der DHCP-Lease-Tabelle Ihres Routers erleichtern soll, oder in journalctl/ syslogwenn Sie einen DHCP-Server (z. B. isc-dhcp-server) auf einem System wie Ubuntu betreiben .

Nachdem Sie die IP-Adresse gefunden haben (sagen wir 1.2.3.4), können Sie über die ILI-GUI-Schnittstelle eine Verbindung herstellen https://1.2.3.4. Aber das ist nicht was wir suchen, wir wollen die serielle Konsole. So verwenden Sie stattdessen IAO SSH - Schnittstelle: ssh Administrator@1.2.3.4. Das Standardkennwort befindet sich auf dem kleinen Papieretikett, das mit dem Microserver geliefert wird.

Beachten Sie, dass dies auch funktioniert, wenn der Server heruntergefahren ist, solange ein Netzkabel eingesteckt ist (das ist der Punkt von IAO).

Geben Sie dort ein, ?um alle Optionen anzuzeigen. Auszug:

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. 

Wir entscheiden VSPuns für die serielle Schnittstelle; TEXTCONSWäre wahrscheinlich auch nett, aber Sie müssten die Advanced ILO-Lizenz kaufen, um sie verwenden zu können.

Wenn wir das jetzt machen, hängt es bei einem laufenden System einfach an

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

Das liegt daran, dass Ubuntu (ich verwende hier 16.04) standardmäßig keine Anmeldeaufforderung über die serielle Schnittstelle verfügbar macht. Wir werden das später ändern. Zuerst starten wir neu, um zu sehen, dass die BIOS-Konfiguration bereits funktioniert.

Sie sehen es über die serielle Schnittstelle booten

Starten Sie in einer anderen ILO-SSH-Sitzung mit:

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

Nach einiger Wartezeit werden Sie feststellen, dass die VSPlaufende Sitzung den Bildschirm gelöscht hat.

Dann erscheint:

 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 

Das ist der POST-Bildschirm. Warten Sie ein wenig und sehen Sie:

 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 

Wenn Sie das BIOS konfigurieren möchten, ist jetzt Ihre Zeit: Dieser Bildschirm wird nur für etwa 1 Sekunde angezeigt. Die F * -Tasten funktionieren normalerweise nicht, sie müssen maskiert werden: Sie müssen buchstäblich die ESCTaste und dann die Zahl / das Symbol drücken, wie es oben steht. ZB ESCund dann 5ist für F5.

Nun, ohne weitere Einstellungen, werden wir an der seriellen Schnittstelle stummgeschaltet, da, wie bereits erwähnt, weder GRUB2 noch die Ubuntu-Anmeldeterminals standardmäßig an der seriellen Schnittstelle in 16.04 ausgegeben werden.

Also konfigurieren wir den Server (jetzt via SSH) für die Verwendung der seriellen Schnittstelle.

Damit GRUB2 die serielle Schnittstelle verwendet

Ich follwed die Anweisungen bei https://www.hiroom2.com/2016/06/06/ubuntu-16-04-grub2-and-linux-with-serial-console/ Ändern /etc/default/grubwie beschrieben ( -Mittel, um die Zeile mit Kommentar aus #, +bedeutet die Zeile hinzufügen):

RODEN_

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" 

Das Timeout von 10 Sekunden ist eingestellt, da die serielle Verbindung den Bildschirm extrem langsam neu zeichnet, und wir möchten, dass ausreichend Zeit ist, um das Timeout abzubrechen, indem Sie z. B. die Taste in GRUB gedrückt halten.

Nachdem Sie die Datei wie beschrieben geändert haben sudo update-grub, führen Sie einen Neustart aus.

Sie sollten jetzt in Ihrer VSPSitzung nach dem POST-Bildschirm Folgendes sehen:

error: serial port `com2' isn't found error: terminal `serial' isn't found error: terminal `serial' isn't found error: no video mode activated 

Wir ignorieren das (wenn Sie wissen, wie Sie das beseitigen können, kommentieren Sie bitte). Nach einer kurzen Zeit erscheint folgendes:

 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.  

Dies ist ein normaler GRUB-Bildschirm, und Sie können den *Zeiger mit den Auf- und Ab-Tasten bewegen .

Verwenden Sie für den Ubuntu-Login die serielle Schnittstelle

Die folgenden Bits sind von http://0pointer.de/blog/projects/serial-console.html inspiriert

sudo cp /lib/systemd/system/serial-getty@.service /etc/systemd/system/serial-getty@ttyS1.service 

Jetzt bearbeiten /etc/systemd/system/serial-getty@ttyS1.service:

Ändern Sie die Zeile

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

zu

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

Es ist uns besonders wichtig, den Modus einzustellen vt100-nav- ich habe festgestellt, dass der Login nicht ohne diese Änderung erscheint.

Ich bin mir nicht sicher, warum wir ttyS1hier in GRUB verwenden müssen, aber wir ttyS0können das hier nicht verwenden S0. Wenn jemand weiß warum, kommentieren Sie bitte.

Starten Sie das tty über:

sudo systemctl start serial-getty@ttyS1.service 

Sie sollten jetzt eine Anmeldeaufforderung in Ihrer VSPSitzung sehen. Ermöglichen Sie dies automatisch beim Booten mit:

sudo systemctl enable serial-getty@ttyS1.service 

Und starte neu. Sie sollten jetzt alle Ausgaben VSPvon POST über GRUB2 bis zur Anmeldeaufforderung anzeigen.