8.5.9. Erzeugen von SEAs mit HA Mode (HA-SEA)

Im nachfolgenden Beispiel sollen 2 SEAs mit Failover angelegt werden. Es sollen jeweils 2 Trunking Adapter verwendet werden mit den PVIDs 1 und 2, sowie den zusätzlichen VLANs 11, 12, 13 und 14, 15 mit einem eigenen neuen virtuellen Switch ETHTEST3. Für den Austausch der Heartbeats zwischen den beiden SEAs sollen Control-Channel über einen eigenen virtuellen Switch ETHCTRL verwendet werden.

Wir fügen zunächst die beiden virtuellen Switches ETHCTRL für die Control-Channel und ETHTEST3 für die Trunking-Adapter hinzu:

$ ms addvswitch ms05 ETHCTRL
$ ms addvswitch ms05 ETHTEST3
$

Beide Virtual-I/O-Server haben freie virtuelle Slots ab Slot-Nummer 70, welche wir für den Control-Channel und die Trunking-Adapter verwenden. Für den Control-Channel verwenden wir auf beiden Virtual-I/O-Servern den Slot 70 und die PVID 1:

$ lpar addeth -s ETHCTRL ms05-vio1 70 1
$ lpar addeth -s ETHCTRL ms05-vio2 70 1
$

Für die beiden Trunking-Adapter verwenden wir jeweils die Slots 71 und 72 mit den PVIDs 1 bzw 2 und den gerade angelegten virtuellen Switch ETHTEST3. Die Trunking-Adapter von ms05-vio1 bekommen die Trunking-Priorität 1 (höchste) und für die Trunking-Adapter von ms05-vio2 wird die Trunking-Priorität 2 vergeben:

$ lpar addeth -i -t 1 -s ETHTEST3 ms05-vio1 71 1 11,12,13
$ lpar addeth -i -t 1 -s ETHTEST3 ms05-vio1 72 2 14,15
$ lpar addeth -i -t 2 -s ETHTEST3 ms05-vio2 71 1 11,12,13
$ lpar addeth -i -t 2 -s ETHTEST3 ms05-vio2 72 2 14,15
$

Ob man zuerst den SEA auf ms05-vio1 oder ms05-vio2 anlegt spielt im Prinzip keine Rolle. Wir legen zunächst den SEA mit der höheren Priorität auf ms05-vio1 an. Dazu lassen wir uns wieder die Kandidaten für einen SEA mit dem Kommando „vios lssea -c“ anzeigen:

$ vios lssea -c ms05-vio1
NAME   STATUS     PHYSLOC                      PARENT  DESCRIPTION
ent3   Available  U78AA.001.VYRGU0Q-P1-C7-T4   pci1    4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent2   Available  U78AA.001.VYRGU0Q-P1-C7-T3   pci1    4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent39  Available  U8205.E6C.05E4E5Q-V1-C70-T1  vio0    Virtual I/O Ethernet Adapter (l-lan)
ent41  Available  U8205.E6C.05E4E5Q-V1-C71-T1  vio0    Virtual I/O Ethernet Adapter (l-lan)
ent42  Available  U8205.E6C.05E4E5Q-V1-C72-T1  vio0    Virtual I/O Ethernet Adapter (l-lan)
$

Beim Anlegen eines HA-SEAs muß zwingend das Attribut ha_mode mit einem der Werte auto oder standby (oder aber sharing für Load-Sharing, siehe später) angegeben werden. Wird das Attribut nicht angegeben, ist der Default-Wert disabled, und es kann nur ein SEA angelegt werden. Der virtuelle Ethernet Adapter für den Control-Channel wird über das Attribut ctl_chan angegeben. Über das zusätzliche Attribut jumbo_frames und den Wert yes erlauben wir die Benutzung von Jumbo-Frames über den Shared Ethernet Adapter:

$ vios mksea ms05-vio1 ent3 ent41 ent42 ha_mode=auto ctl_chan=ent39 jumbo_frames=yes
SEA ent43 created
$

Der erste SEA ist angelegt:

$ 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
ent39  -  -         -  -        -       -         -
ent43  Auto     1         PRIMARY     1        0       0         All
$

Der aktuelle HA-Mode wird in der Spalte HA_MODE angezeigt, für den neu angelegten SEA ist das Auto. Die Priorität des SEAs wird ebenfalls angezeigt, genauso wie der aktuelle Zustand des SEAs, hier PRIMARY für ent43. Der neu angelegte SEA nimmt sofort seine Arbeit auf. Allerdings gibt es noch keine Hochverfügbarkeit, solange nicht der zweite SEA auf dem zweiten Virtual-I/O-Server angelegt worden ist. Daher legen wir als nächstes den zweiten SEA an. Dazu listen wir zunächst wieder die möglichen Kandidaten auf:

$ vios lssea -c ms05-vio2
NAME   STATUS     PHYSLOC                      PARENT  DESCRIPTION
ent3   Available  U78AA.001.VYRGU0Q-P1-C6-T2   pci3    4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent4   Available  U78AA.001.VYRGU0Q-P1-C6-T3   pci3    4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent5   Available  U78AA.001.VYRGU0Q-P1-C6-T4   pci3    4-Port Gigabit Ethernet PCI-Express Adapter (e414571614102004)
ent38  Available  U8205.E6C.05E4E5Q-V2-C70-T1  vio0    Virtual I/O Ethernet Adapter (l-lan)
ent39  Available  U8205.E6C.05E4E5Q-V2-C71-T1  vio0    Virtual I/O Ethernet Adapter (l-lan)
ent40  Available  U8205.E6C.05E4E5Q-V2-C72-T1  vio0    Virtual I/O Ethernet Adapter (l-lan)
$

Als physikalischen Ethernet Adapter verwenden wir den Port 4 der 4-Port Gigabit Ethernet Karte, ent5. Control-Channel ist ent38 und die beiden Trunking-Adapter sind ent39 und ent40:

$ vios mksea ms05-vio2 ent5 ent39 ent40 ha_mode=auto ctl_chan=ent38 jumbo_frames=yes
SEA ent41 created
$

Mit dem Anlegen des zweiten SEAs haben wir jetzt Hochverfügbarkeit. Der gerade angelegte SEA ent41 fungiert zunächst als Backup SEA:

$ vios lssea ms05-vio2
                                       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
ent41  Auto     1         BACKUP      0        1       0         All
$

Die Verteilung der VLANs lässt sich wieder mit Hilfe des Kommandos „vios lssea -V“ anzeigen, hier für den Primary SEA:

$ vios lssea -V ms05-vio1 ent43
SEA    LNAGG  NAME   TYPE     VSWITCH   MODE  ACTIVE  PRIORITY  PVID  VLAN_TAG_IDS
ent43  -      ent3   real     -         -     -       -         -     -
ent43  -      ent42  virtual  ETHTEST3  VEB   True    1         2     14,15
ent43  -      ent41  virtual  ETHTEST3  VEB   True    1         1     11,12,13
ent43  -      ent39  control  ETHCTRL   -     -       -         6     None
$

Die resultierende Konfiguration auf den beiden Virtual-I/O-Servern ist in Bild 8.11 dargestellt. Der virtuelle Switch für die Control-Channel der beiden SEAs besitzt keine Trunking-Adapter und damit auch keine Anbindung an ein externes Netzwerk.

High-availability SEAs with control channel.
Bild 8.11: High-Availability SEAs mit Control-Channel.