7.7.5. vNIC Failover

In diesem Unterkapitel soll die Funktionalität des vNIC Failover genauer angeschaut werden. Besitzt ein vNIC Adapter genau zwei vNIC-Backing-Devices, dann wird bei Ausfallen des gerade aktiven vNIC-Backing-Devices zwangsläufig das zweite vNIC-Backing-Device aktiviert, eine Auswahl kann dann nicht stattfinden. Anders sieht die Situation aus, wenn es mehr als zwei vNIC-Backing-Devices gibt. Fällt das aktive vNIC-Backing-Device aus, gibt es dann mindestens zwei weitere vNIC-Backing-Devices. In diesem Fall kommt die Failover-Priorität (Attribut failover_priority) der vNIC-Backing-Devices zum tragen. Der Hypervisor wählt dasjenige vNIC-Backing-Device aus, welches die höchste Priorität (niedrigster Wert) besitzt.

Um den vNIC Failover im allgemeinen Fall genauer anzuschauen, fügen wir ein drittes vNIC-Backing-Device zu dem vNIC Adapter in Slot 6 der LPAR aix22 hinzu. Verwendet wird für maximale Redundanz ein dritter Virtual-I/O-Server ms03-vio3:

$ lpar addvnicbkdev aix22 6 ms03-vio3 C4-T3 failover_priority=55
$

Damit hat der vNIC Adapter von aix22 die folgenden vNIC-Backing-Devices:

$ lpar lsvnic -a aix22
                           FAILOVER                                         PHYS  LOGICAL   CURRENT     MAX  
LPAR_NAME  SLOT  FAILOVER  PRIORITY  ACTV  STATUS       VIOS_NAME  ADAPTER  PORT  PORT      CAPACITY  CAPACITY
aix22  6     Yes       50        1     Operational  ms03-vio1  1        0     27004005  2.0       100.0
aix22  6     Yes       60        0     Operational  ms03-vio2  2        0     27008004  2.0       100.0
aix22  6     Yes       55        0     Operational  ms03-vio3  3        2     2700c00a  2.0       100.0
$

In Bild 7.22 ist das Zusammenspiel zwischen den vNIC-Backing-Devices (vNIC-Server) und dem POWER Hypervisor gezeigt. Jeder vNIC-Server überwacht den Status seines zugehörigen logischen SR-IOV Port. Der Status wird in Form einer Heartbeat Mitteilung in kurzen Abständen an den Hypervisor gemeldet.

Interaction of vNIC backing devices and hypervisor for vNIC failober.
Bild 7.22: Zusammenspiel von vNIC Backing-Devices und Hypervisor für vNIC Failover.

Fällt in dieser Konfiguration der Link des linken physikalischen Ports aus, bemerkt der zugehörige vNIC-Server auf dem ersten Virtual-I/O-Server dies bei seiner Überwachung des logischen SR-IOV Ports und meldet dies in einer Heartbeat-Mitteilung an den Hypervisor. Der Hypervisor entscheidet dann anhand der Failover-Prioritäten der verbleibenden funktionierenden vNIC-Backing-Devices, welches vNIC-Backing-Device mit zugehörigem logischen Port aktiviert werden soll. Im gezeigten Fall haben die verbleibenden vNIC-Backing-Devices die Failover-Prioritäten 60 (ms03-vio2) bzw. 55 (ms03-vio3). Das vNIC-Backing-Device mit der höchsten Failover-Priorität (niedrigster Wert), in diesem Fall das vNIC-Backing-Device auf ms03-vio3 mit der Priorität 55, wird dann das neue aktive vNIC-Backing-Device. Der Hypervisor deaktiviert das bisher verwendete vNIC-Backing-Device, aktiviert das neue vNIC-Backing-Device und meldet das neu zu verwendende vNIC-Backing-Device an den vNIC-Client Adapter der LPAR.

Der Zustand der vNIC-Backing-Devices ist dann der Folgende:

$ lpar lsvnic -a aix22
                           FAILOVER                                         PHYS  LOGICAL   CURRENT     MAX  
LPAR_NAME  SLOT  FAILOVER  PRIORITY  ACTV  STATUS       VIOS_NAME  ADAPTER  PORT  PORT      CAPACITY  CAPACITY
aix22  6     Yes       50        0     Link Down    ms03-vio1  1        0     27004005  2.0       100.0
aix22  6     Yes       60        0     Operational  ms03-vio2  2        0     27008004  2.0       100.0
aix22  6     Yes       55        1     Operational  ms03-vio3  3        2     2700c00a  2.0       100.0
$

Das dritte vNIC-Backing-Device mit Failover-Priorität 55 ist jetzt aktiv (Spalte ACTV), das ursprünglich aktive vNIC-Backing-Device hat jetzt den Status „Link Down“. Natürlich überwacht der vNIC-Server den ausgefallenen logischen Port auch weiterhin. Damit ist sichergestellt das der vNIC-Server erkennt wenn der logische Port wieder verfügbar ist und dies entsprechend auch an den Hypervisor meldet.

Wenn der Link des physikalischen Ports wieder hoch kommt, wechselt der Status des zugehörigen vNIC-Backing-Devices wieder auf Operational. Es stellt sich dann die Frage ob auf das jetzt wieder verfügbare vNIC-Backing-Device zurück gewechselt werden soll, oder nicht. Dies kann über das Attribut auto_priority_failover konfiguriert werden. Das Attribut besitzt 2 mögliche Werte:

    • 0: automatisches Failover ist deaktiviert.
    • 1: automatisches Failover ist aktiviert.

Ist das Attribut auto_priority_failover auf 1 gesetzt, wird immer auf das vNIC-Backing-Device mit der höchsten Priorität gewechselt. Da in unserem Falle das ursprüngliche vNIC-Backing-Device mit einem Wert von 50 die höchste Failover-Priorität hat, wird dieses sofort wieder aktiviert wenn es verfügbar wird:

$ lpar lsvnic -a aix22
                           FAILOVER                                         PHYS  LOGICAL   CURRENT     MAX  
LPAR_NAME  SLOT  FAILOVER  PRIORITY  ACTV  STATUS       VIOS_NAME  ADAPTER  PORT  PORT      CAPACITY  CAPACITY
aix22  6     Yes       50        1     Operational  ms03-vio1  1        0     27004005  2.0       100.0
aix22  6     Yes       60        0     Operational  ms03-vio2  2        0     27008004  2.0       100.0
aix22  6     Yes       55        0     Operational  ms03-vio3  3        2     2700c00a  2.0       100.0
$

Das automatische Failover gilt aber nicht nur in dieser „Failback“ Situation, sondern generell. D.h. wann immer ein vNIC-Backing-Device eine höhere Failover-Priorität hat, wird sofort ein Failover auf dieses vNIC-Backing-Device durchgeführt. Dies kann in den folgenden Situationen auftreten:

    • Ein weitere vNIC-Backing-Device wird einem vNIC Adapter hinzugefügt mit einer höheren Failover-Priorität als das aktive vNIC-Backing-Device.
    • Die Failover-Priorität eines inaktiven vNIC-Backing-Devices wird geändert, wodurch dieses eine höhere Priorität als das aktuell aktive vNIC-Backing-Device bekommt.
    • Die Failover-Priorität des aktiven vNIC-Backing-Devices wird geändert, wodurch dieses nicht mehr die höchste Priorität besitzt.
    • Das aktive vNIC-Backing-Device (mit der höchsten Failover-Priorität) fällt aus.
    • Ein ausgefallenes vNIC-Backing-Device mit einer höheren Failover-Priorität als das aktive vNIC-Backing-Device wird wieder verfügbar (Link ist wieder oben).

Automatic Priority Failover bedeutet also, das immer das vNIC-Backing-Device mit der höchsten Priorität aktiv ist.