7.6.1. Aktivieren des Shared Modes

SR-IOV fähige PCIe Karten befinden sich zunächst in der Betriebsart „dedicated“. Das entspricht klassischen Karten ohne SR-IOV Unterstützung. Die Karte muß dann einer LPAR (in der Regel einem Virtual-I/O-Server) zugewiesen werden und wird dann exklusiv von dieser benutzt. Ein direkter Zugriff von weiteren LPARs ist dann nicht möglich.

Eine List der SR-IOV fähigen PCIe Adapter lässt sich mit Hilfe des Kommandos „ms lssriov“ (list SR-IOV) anzeigen:

$ ms lssriov ms03
PHYS_LOC                  SLOT_ID   CONFIG_STATE  SRIOV_STATUS  ADAPTER_ID  PHYS_PORTS  LOGICAL_PORTS
U78AA.001.VYRGU0Q-P1-C4   21010020  dedicated     null          null        null        null
U78AA.001.VYRGU0Q-P1-C6   2102001b  dedicated     null          null        null        null
U78AA.001.VYRGU0Q-P1-C11  21020013  dedicated     null          null        null        null
U78AA.001.VYRGU0Q-P1-C12  21030014  dedicated     null          null        null        null
$

Es gibt 4 PCIe Adapter-Karten in den Slots P1-C4, P1-C6, P1-C11 und P1-C12. Alle 4 Karten sind noch im dedicated Modus (Spalte CONFIG_STATE). Um die Virtualizierung mit SR-IOV nutzen zu können, müssen die Karten erst einmal in den sogenannten „Shared Mode“ gebracht werden. Dies geschieht mit Hilfe des Kommandos „ms chsriov“ (change SR-IOV), wobei als Argument die Slot-ID (Spalte SLOT_ID) oder ein eindeutiger Suffix des Physical Location Codes angegeben werden muß:

$ ms chsriov ms03 21010020 shared
$ ms chsriov ms03 P1-C6 shared
$ ms chsriov ms03 21020013 shared
$ ms chsriov ms03 P1-C12 shared
$

Jeder SR-IOV Adapter bekommt bei der Umstellung in den Shared Mode eine eindeutige Adapter-ID zugewiesen. Die Adapter werden einfach fortlaufend nummeriert. Möchte man für einen Adapter eine bestimmte Adapter-ID verwenden, kann das Attribut adapter_id verwendet werden:

$ ms chsriov ms03 21020013 shared adapter_id=1
$ ms chsriov ms03 P1-C6 shared adapter_id=2
$ ms chsriov ms03 21010020 shared adapter_id=3
$ ms chsriov ms03 P1-C12 shared adapter_id=4
$

Bei der Umstellung auf den Shared Mode werden die Adapter neu initialisiert. Dies kann einige Zeit in Anspruch nehmen. Während ein Adapter initialisiert wird, sind nicht alle Informationen verfügbar, wie die folgende Ausgabe zeigt:

$ ms lssriov ms03
PHYS_LOC                  SLOT_ID   CONFIG_STATE  SRIOV_STATUS  ADAPTER_ID   PHYS_PORTS   LOGICAL_PORTS
U78AA.001.VYRGU0Q-P1-C4   21010020  sriov         initializing  unavailable  unavailable  unavailable
U78AA.001.VYRGU0Q-P1-C6   2102001b  sriov         running   2  4  48
U78AA.001.VYRGU0Q-P1-C11  21020013  sriov         initializing  unavailable  unavailable  unavailable
U78AA.001.VYRGU0Q-P1-C12  21030014  sriov         missing       unavailable  unavailable  unavailable
$

Der Adapter in Slot P1-C6 ist initialisiert und betriebsbereit (running), die beiden Adapter in Slot P1-C4 und P1-C11 sind noch beim Initialisieren und der Adapter in Slot P1-C12 hat noch nicht mit der Initialisierung begonnen.

Nach einigen Sekunden (in der Regel weniger als eine Minute) sind alle Adapter initialisiert und die Ausgabe sieht dann wie folgt aus:

$ ms lssriov ms03
PHYS_LOC                  SLOT_ID   CONFIG_STATE  SRIOV_STATUS  ADAPTER_ID  PHYS_PORTS  LOGICAL_PORTS
U78AA.001.VYRGU0Q-P1-C11  21020013  sriov         running       1           4           48
U78AA.001.VYRGU0Q-P1-C6   2102001b  sriov         running       2           4           48
U78AA.001.VYRGU0Q-P1-C4   21010020  sriov         running       3           4           48
U78AA.001.VYRGU0Q-P1-C12  21030014  sriov         running       4           4           48
$

Alle 4 Adapter besitzen jeweils 4 physikalische Ports (Spalte PHYS_PORTS) und unterstützen bis zu 48 logische Ports (LOGICAL_PORTS). Logische Ports können vom Administrator erzeugt werden, wobei diese dann gleichzeitig einer LPAR zugewiesen werden. Jedem logischen Port ist dabei eine der verfügbaren virtuellen Funktionen zugeordnet. Die physikalischen Funktionen können nur vom Hypervisor verwendet werden. Damit ist sichergestellt das LPARs keine Änderungen an der Konfiguration eines SR-IOV Adapters vornehmen können.