8.5.9. Creating SEAs with HA Mode (HA-SEA)

In the following example, 2 SEAs with failover are created. Two trunking adapters are used with PVIDs 1 and 2, as well as the additional VLANs 11, 12, 13 and 14, 15 with their own new virtual switch ETHTEST3. For the exchange of heartbeats between the two SEAs, control channels are used via a dedicated virtual switch ETHCTRL.

First we add the two virtual switches ETHCTRL for the control channel and ETHTEST3 for the trunking adapters:

$ ms addvswitch ms05 ETHCTRL
$ ms addvswitch ms05 ETHTEST3
$

Both virtual I/O servers have free virtual slots starting with slot number 70, which we use for the control channel and the trunking adapters. For the control channel, we use slot 70 and PVID 1 on both virtual I/O servers:

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

For the two trunking adapters, we use slots 71 and 72 with PVIDs 1 and 2 and the virtual switch ETHTEST3 that has just been created. The trunking adapters of ms05-vio1 are assigned trunking priority 1 (highest) and the trunking adapters of ms05-vio2 are assigned trunking priority 2:

$ 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
$

In principle, it doesn’t matter whether the SEA on ms05-vio1 or ms05-vio2 is created first. We create the SEA with the higher priority on ms05-vio1 first. To do this, we again display the candidates for a SEA with the command “vios lssea -c“:

$ 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)
$

When creating a HA-SEA, the attribute ha_mode must be specified with one of the values auto or standby (or sharing for load sharing, see later). If the attribute is not specified, the default value is disabled and only one SEA can be created. The virtual Ethernet adapter for the control channel is specified using the attribute ctl_chan. With the additional attribute jumbo_frames and the value yes we allow the use of jumbo frames via the shared Ethernet adapter:

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

The first SEA has been created:

$ 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
$

The current HA mode is displayed in the column HA_MODE; for the newly created SEA the mode is auto. The priority of the SEA is also displayed, as is the current status of the SEA, here PRIMARY for ent43. The newly created SEA starts working immediately. However, we still have not achieved high availability, as long as the second SEA has not been created on the second virtual I/O server. Therefore, we will create the second SEA next. To do this, we first list the possible candidates again:

$ 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)
$

We use port 4 of the 4-port Gigabit Ethernet card, ent5, as the physical Ethernet adapter. Control channel is ent38 and the two trunking adapters are ent39 and ent40:

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

With the creation of the second SEA, we now have achieved high availability. The SEA that has just been created initially functions as a 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
$

The distribution of the VLANs can be displayed again using the “vios lssea -V” command, here for the 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
$

The resulting configuration on the two virtual I/O servers is shown in figure 8.11. The virtual switch for the control channels of the two SEAs has no trunking adapter and therefore no connection to an external network.

High-availability SEAs with control channel.
Figure 8.11: High-availability SEAs with control channel.