HMC: Welche Netzwerk-Interfaces haben einen Link

Die HMC erlaubt über das Kommando „lshmc -n“ die Ausgabe der Netzwerk-Interface Konfiguration. Allerdings kann der Ausgabe nicht entnommen werden, ob ein Netzwerk-Interface aktuell einen Link hat oder nicht. Dies lässt sich aber relativ leicht über das sysfs Dateisystem, gemountet unter /sys, feststellen. Zunächst kann mit dem folgenden Kommando ermittelt werden, welche Netzwerk-Interfaces die HMC besitzt:

hscroot@hmc02:~> ls -1d /sys/class/net/eth*
/sys/class/net/eth0
/sys/class/net/eth1
/sys/class/net/eth2
/sys/class/net/eth3
/sys/class/net/eth4
/sys/class/net/eth5
hscroot@hmc02:~>

(Ausgabe stammt von einer 7063-CR2.)

Der Link-Status ist in der Datei operstate festgehalten und kann mit einem simplen cat Kommando ausgegeben werden:

hscroot@hmc02:~> cat /sys/class/net/eth*/operstate
up
up
down
down
down
down
hscroot@hmc02:~>

In dem gezeigten Beispiel-Fall besitzen damit die beiden ersten Netzwerk-Interfaces (eth0 und eth1) den Link-Status up.

Die aktuelle Geschwindigkeit lässt sich durch Ausgabe der Datei speed anzeigen:

hscroot@hmc02:~> cat /sys/class/net/eth*/speed
1000
1000
-1
-1
-1
-1
hscroot@hmc02:~>

Es gibt eine Reihe von weiteren Dateien für jedes Netzwerk-Interfaces mit weiteren Informationen.

IBM PowerVM: Einer LPAR einen virtuellen Ethernet Adapter hinzufügen

Der LPAR aix01 soll mit IBM PowerVM ein virtueller Ethernet Adapter hinzugefügt werden. Die Daten im Einzelnen:

    • HMC: hmc01
    • Managed system: ms25
    • LPAR: aix01
    • Profil: standard
    • virtuelle Slot-Nummer: 4
    • Port-VLAN-ID: 900
    • virtueller Ethernet Switch: ETHERNET0(default)
    • weitere VLANs: keine

Das Kommando auf der zugehörigen HMC hmc01 ist:

hscroot@hmc01:~> chhwres -m ms25 -r virtualio --rsubtype eth -o a -p aix01 -s 2 -a 'ieee_virtual_eth=0,port_vlan_id=900'
hscroot@hmc01:~>

Wird das aktuell verwendete Profil der LPAR nicht automatisch synchronisiert, dann sollte der zusätzliche virtuelle Ethernet Adapter auch dem Profil hinzugefügt werden:

hscroot@hmc01:~> chsyscfg -r prof -m ms25 -i 'lpar_name=aix01,name=standard,"virtual_eth_adapters+=""4/0/900///0"""'
hscroot@hmc01:~>

Mit unserem LPAR-Tool sieht das zu verwendende Kommando so aus:

$ lpar addeth aix01 4 900
$

Das aktuelle Profil wird automatisch angepasst.

Ausführliche Informationen zum LPAR-Tool und virtuellen Ethernet Adaptern finden sich hier: Virtual Ethernet

Fehler beim Löschen eines SEA

Der folgende SEA auf einem Virtual-I/O-Server wird nicht mehr benötigt:

$ lsdev -dev ent48
name             status      description
ent48            Available   Shared Ethernet Adapter
$

Der Versuch den SEA mittels rmvdev zu löschen schlägt fehl mit der folgenden Fehlermeldung:

$ rmvdev -sea ent48

Some error messages may contain invalid information
for the Virtual I/O Server environment.

Method error (/usr/lib/methods/ucfgcommo):
        0514-062 Cannot perform the requested function because the
                 specified device is busy.

$

Der SEA ist noch in Benutzung. Eine Möglichkeit der Benutzung stellt die Verwendung von LLDP dar. Dies kann mit dem Kommando lsdev überprüft werden:

$ lsdev -dev ent48 -attr lldpsvc
value

yes
$

In diesem Fall ist LLDP auf dem SEA aktiv und muss zuerst beendet werden, bevor der SEA gelöscht werden kann. Das Stoppen von LLDP auf dem SEA kann ganz einfach durch Ändern des Attributs lldpsvc auf den Wert „no“ erfolgen:

$ chdev -dev ent48 -attr lldpsvc=no
ent48 changed
$

Ein erneuter Versuch den SEA ent48 zu löschen ist jetzt erfolgreich:

$ rmvdev -sea ent48
ent48 deleted
$

Weitere Informationen zu SEAs sind hier zu finden: Shared Ethernet Adapter

 

 

LPAR-Tool: Konsole

Console with LPAR-Tool

Mit dem LPAR-Tool kann jederzeit eine Konsole für eine LPAR geöffnet werden:

$ lpar console lpar01
Open in progress
Open completed.
PowerPC Firmware
SMS 1.7 (c) Copyright IBM Corp. 2000,2008 All rights reserved.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Main Menu
1. Select Language
2. Setup Remote IPL (Initial Program Load)
3. Change SCSI Settings
4. Select Console
5. Select Boot Options
…

Um eine Konsolensitzung zu beenden wird die Escape-Sequence „~.“ verwendet.

Einige Kommandos des LPAR-Tools unterstützen das Öffnen einer Konsole über die Option „-c“ (console):

    • Aktivieren einer LPAR mit „lpar activate -c„.
    • Herunterfahren einer LPAR mit „lpar shutdown -c„.
    • Herunterfahren des Betriebssystems mit „lpar osshutdown -c„.
    • Initiieren eines Dumps einer LPAR mit „lpar dumprestart -c„.

Eine Präsentation zu dem Thema findet sich hier: Konsole mit dem LPAR-Tool

NTP-Konfiguration auf HMC mit LPAR-Tool

NTP-Konfiguration HMC

Den aktuellen Status von NTP auf einer HMC kann man sich dann mittels „hmc lsntp“ anzeigen lassen:

$ hmc lsntp
NAME   XNTP     XNTPSTATUS    XNTPSERVER
hmc01  disable  -             -
hmc02  enable   synchronized  192.168.189.77,192.168.189.78
hmc03  enable   synchronized  192.168.189.77,192.168.189.78
$

Über das Kommando „hmc addntpserver“ kann der NTP-Konfiguration einer HMC ein weiterer NTP-Server hinzugefügt werden:

$ hmc addntpserver hmc01 192.168.189.77
$ hmc addntpserver hmc01 192.168.189.78
$

Eine Kontrolle mit „hmc lsntp“ zeigt, das nun zwei NTP-Server konfiguriert sind, NTP aber nach wie vor nicht aktiviert ist:

$ hmc lsntp hmc01
NAME   XNTP     XNTPSTATUS  XNTPSERVER
hmc01  disable  -           192.168.189.77,192.168.189.78
$

NTP kann nun mit dem Kommando „hmc enablentp“ aktiviert werden:

$ hmc enablentp hmc01
$

Die erste Synchronisierung kann eine Weile dauern:

$ hmc lsntp hmc01
NAME   XNTP    XNTPSTATUS      XNTPSERVER
hmc01  enable  unsynchronized  192.168.189.77,192.168.189.78
$

Die Zeit auf der HMC ist unmittelbar nach dem Aktivieren von NTP noch nicht synchronisiert (XNTPSTATUS: unsynchronized).

Einen detaillierten Status für jeden NTP-Server bekommt man durch Verwendung der Option „-a“ (all NTP-Servers):

$ hmc lsntp –a hmc01
NAME    SERVER         STATE          POLL_FREQ_SECONDS  SECONDS_SINCE_LAST_POLL
hmc01  192.168.189.77  not connected  64                 0
hmc01  192.168.189.78  not connected  64                 0
$

Sobald eine Synchronisierung mit einem der NTP-Server erreicht ist, ist der Gesamt-Status synchronized:

$ hmc lsntp -a hmc01
NAME   SERVER          STATE         POLL_FREQ_SECONDS  SECONDS_SINCE_LAST_POLL
hmc01  192.168.189.77  synchronized  64                 40
hmc01  192.168.189.78  available     64                 35
$

Eine ausführlichere Beschreibung findet sich hier: NTP-Konfiguration auf der HMC

Das LPAR-Tool kann zum Testen hier heruntergeladen werden: Download

LPAR-Tool 1.7.0.1 ist ab sofort verfügbar

Ab sofort ist die Version 1.7.0.1 des LPAR-Tools in unserem Download-Bereich verfügbar.

Die neue Version unterstützt unter anderem die folgenden neuen Features:

    • Installation von IFixes und Updates auf der HMC (hmc help updhmc)
    • System-Firmware Updates (und mehr) von Managed Systems (ms help updatelic)
    • Anzeigen von FLRT Daten mit Online Abfrage bei IBM (hmc help flrt, ms help flrt, lpar help flrt)
    • Konfiguration von NTP auf HMCs (hmc help ntp)

Es stehen Versionen für Linux, AIX und Macos zur Verfügung.

Alle Versionen beinhalten eine Test-Lizenz mit einer Gültigkeit bis 30.09.2022.

Also Downloaden, Installieren und dann Ausprobieren!

IOS-Version als normaler Benutzer anzeigen

Auf einem Virtual-I/O-Server kann man die IOS-Version als Benutzer padmin mit Hilfe des Kommandos ioslevel anzeigen:

padmin> ioslevel
3.1.2.10
padmin>

Als Benutzer root (nach Verwendung von oem_setup_env), lässt sich die IOS-Version wie folgt anzeigen:

# /usr/ios/cli/ioscli ioslevel
3.1.2.10
#

Beide Kommandos funktionieren aber nicht als normaler, nicht privilegierter, Benutzer:

$ ioslevel
ksh: ioslevel: not found.
$ /usr/ios/cli/ioscli ioslevel
Access to run command is not valid.

$

Die IOS-Version ist aber einfach in einer Text-Datei gespeichert und lässt sich als normaler Benutzer ganz einfach mit dem Kommando cat anzeigen:

$ cat /usr/ios/cli/ios.level
3.1.2.10
$

Virtual Network Interface Controller (vNIC)

vNIC adapter with 2 vNIC backing devices and vNIC failover.

Der große Nachteil von SR-IOV, sowie oben beschrieben, besteht darin, das das Verschieben (LPM) von LPARs mit logischen SR-IOV Ports nicht möglich ist. Nach der Einführung von SR-IOV auf Power Systemen gab es eine Reihe von Vorschlägen für Workarounds. Allerdings bedingen alle diese Workarounds zum Einen eine besondere Konfiguration und zum Anderen eine Reihe von Umkonfigurationen die vor und nach einer LPM-Operation durchzuführen sind. Im praktischen Alltag werden dadurch LPM-Operationen aber unnötig verkompliziert.

Mit der Einführung von vNICs können Client-LPARs SR-IOV Adapter benutzen und trotzdem LPM unterstützen. Wie schon bei VSCSI und VFC wird dazu ein Paar von Adaptern benutzt: auf der Client-LPAR wird der sogenannte vNIC Adapter in einem virtuellen Slot verwendet und auf einem Virtual-I/O-Server wird ein zugehöriger vNIC-Server Adapter verwendet. Der logische SR-IOV Port wird dem Virtual-I/O-Server zugeordnet. Der vNIC-Server Adapter, auch als vNIC-Backing-Device bezeichnet, dient dabei als Proxy für den logischen SR-IOV Port. Das Zusammenspiel der verschiedenen Adapter ist in Bild 7.19 dargestellt.

Communication path of vNIC for control information and data.
Bild 7.19: Kommunikationspfad von vNIC für Kontroll-Informationen und Daten.

Um eine gute Performance zu erreichen, werden nur Kontroll-Informationen vom vNIC Adapter der Client-Adapter zum vNIC Server Adapter übertragen, welche von diesem über den zugehörigen logischen SR-IOV Port zum entsprechenden logischen Port (Virtual Function) des SR-IOV Adapters übertragen werden. Die Daten selbst werden zwischen vNIC Client-Adapter und dem logischen Port des SR-IOV Adapters per DMA (Direct Memory Access) mit Hilfe des Hypervisors übertragen. Es findet also insbesondere kein Kopieren der Daten über den Virtual-I/O-Server statt. Der vNIC Adapter auf dem Client ist ein rein virtueller Adapter, daher funktioniert LPM auch problemlos. Der Client besitzt den logischen SR-IOV Port nicht und greift auch nicht selbst über den PCIe Bus (Switch) auf diesen zu.

Shared Ethernet Adapter

SEA with multiple trunking adapters and VLANs

Trotz SR-IOV und vNIC ist Shared Ethernet immer noch die am häufigsten verwendete Virtualisierungslösung, wenn es um die Virtualisierung von Ethernet geht. Dabei implementiert der POWER Hypervisor virtuelle interne IEEE802.1q kompatible Netzwerk-Switches, die im Zusammenspiel mit sogenannten Shared Ethernet Adaptern oder kurz SEA die Anbindung an externe Netzwerke übernehmen. Die Shared Ethernet Adapter werden durch den Virtual-I/O-Server in Software als Layer-2 Bridge implementiert.

Wie in Bild 8.2 gezeigt, kann ein Shared Ethernet Adapter mehrere sogenannte Trunking Adapter besitzen. Der gezeigte SEA hat die 3 Trunking Adapter ent8, ent9 und ent10, welche alle 3 an den virtuellen Switch mit dem Namen ETHMGMT angebunden sind. Alle Trunking Adapter unterstützen im gezeigten Fall VLAN-Tagging. Neben den Port-VLAN-IDs (PVIDs) besitzen die 3 Trunking Adapter noch weitere VLANs über VLAN-Tagging. Neben der Anbindung an den virtuellen Switch über die Trunking Adapter besitzt der SEA noch eine Anbindung an ein externes Netzwerk über den physikalischen Netzwerk-Adapter (ent0). Netzwerk-Pakete von Client-LPARs an externe Systeme werden über einen der Trunking-Adapter zum SEA und dann über den zugehörigen physikalischen Netzwerk-Adapter ins externe Netzwerk weitergeleitet. Netzwerk-Pakete von externen Systemen an Client-LPARs werden vom SEA über den Trunking Adapter mit dem richtigen VLAN an den virtuellen Switch weitergeleitet, welcher die Pakete dann an die Client-LPAR weiterleitet.

SEA with multiple trunking adapters and VLANs
Bild 8.2: SEA mit mehreren Trunking Adaptern und VLANs.

Im einfachsten Fall kann ein SEA aus nur einem Trunking Adapter bestehen. Ein SEA kann bis zu 16 Trunking Adaptern besitzen, wobei jeder der Trunking-Adapter neben der Port-VLAN-ID bis zu 20 weitere VLANs besitzen kann.

Welche SEAs es auf einem Virtual-I/O-Server schon gibt, lässt sich mit Hilfe des Kommandos „vios lssea“ (list SEAs) herausfinden:

$ vios lssea ms05-vio1
                                       TIMES   TIMES    TIMES    BRIDGE 
NAME   HA_MODE  PRIORITY  STATE       PRIMARY  BACKUP  FLIPFLOP  MODE
ent33  Sharing  1         PRIMARY_SH  1        1       0         Partial
ent34  Sharing  1         PRIMARY_SH  1        1       0         Partial
$

Zu jedem SEA werden einige grundlegende Informationen angezeigt, wie z.B. der HA-Mode (siehe später), die Priorität des SEA, sowie Informationen wie häufig der SEA schon Primary bzw. Backup war.