Tuesday, May 7, 2013

How to Setup SEA Failover on DUAL VIO servers?


How to Setup SEA Failover on DUAL VIO servers?



What needs to be done?


Each SEA must have at least one virtual Ethernet adapter with the “Access external network” flag (previously known as “trunk” flag) checked. This enables the SEA to provide bridging functionality between the two VIO servers.

Note:  SEAs has the same PVID, but will have a different priority value.

Control Channel:

An additional virtual Ethernet adapter , which belongs to a unique VLAN on the system, is used to create the control channel between the SEAs, it must be specified in each SEA when configured in ha_mode. 

The purpose of this control channel is to communicate between the two SEA adapters to determine when a fail over should take place


Limitation:


SEA Failover was introduced with Fixpack 7 (Virtual I/O server version 1.2), so both Virtual I/O Servers need to be at this minimum level.

Steps:


Create the Virtual ethernet adapter with the following option on the VIOS1.

virtual adapter a unique (Port Virtual LAN ID) VLAN ID (PVID): "1"
Check the box "access external network".
Give the virtual adapter a low trunk priority. EX: "1"
mkvdev -sea ent0 -vadapter ent2 -default ent2 -defaultid 1 -attr ha_mode=auto ctl_chan=ent3

Create the Virtual ethernet adapter with the following option on the VIOS2

virtual adapter the same VLAN ID (PVID) as VIOS1. EX: "1"
Check the box "access external network".
Give the virtual adapter a higher trunk priority. EX: "2"
mkvdev -sea ent0 -vadapter ent2 -default ent2 -defaultid 1 -attr ha_mode=auto ctl_chan=ent3


Create the Virutal ethernet adapter for control channel with the following option on the both VIOS1 and VIOS2.
Give this new virtual adapter another unique VLAN ID (PVID) EX: "99"
Do NOT check the box "access external network".
Shutdown, Activate VIOS2 or run cfgdev from VIOS command line if created with DLPAR.


Manual SEA Failover On VIO server:

Scenario 1:

$ lsdev -type adapter
or 
$ oem_setup_env 
# lsdev -Cc adapter |grep ent --> Note which ent is the SEA 
# entstat -d entX | grep State --> Check for the state (PRIMARY, or BACKUP)

Set ha_mode to standby on primary VIOS with chdev command:

# chdev -l entX -a ha_mode=standby
or
$ chdev -dev -attr ha_mode=standby

Reset it back to auto and the SEA should fail back to the primary VIOS:

# chdev -l entX -a ha_mode=auto
or
$ chdev -dev -attr ha_mode=auto


Scenario 2, Primary VIOS Shutdown

Reboot the primary VIOS for fail over to backup SEA adapter.
When the primary VIOS is up again, it should fail back to the primary SEA adapter.

Scenario 3, Primary VIOS Error

Deactivate primary VIOS from the HMC for fail over to backup SEA adapter.
Activate the primary VIOS for the fail back to the primary SEA adapter again.

Scenario 4, Physical Link Failure

Unplug the cable of the physical ethernet adapter on primary VIOS for the failover to the backup VIOS.
Replug the cable of the physical ethernet adapter on primary VIOS for the failback to the primary VIOS.

Scenario 5, Reverse Boot Sequence

Shut down both the VIO servers.
Activate the VIOS with backup SEA until the adapter becomes active.
Activate the VIOS with primary SEA. The configuration should fail back to
the primary SEA.