Tuesday, May 4, 2010

SEA - Shared Ethernet Adapter

SEA- Shared Ethernet Adapter is a Logical adapter created on the Virtual I/O server.
SEA enables virtual ethernet adapters to have a communication link to the external world (Outside the Physical server)

In an environment where you have PowerVM and virtual I/O servers and LPAR's that run on virtual resources, a device named SEA created on the virtual I/O server is responsible for handling the network traffic from the LPAR (Which has no I/O adapters) to the world outside (outside the physical server).

Why Virtualize I/O ?

With micro partitioning Technology emerging with POWER5 an IBM Pseries Frame could run LPAR's with a minimum of 0.1 processor .

Need to know more about Micro partitioning and shared processor partitioning ? Visit http://santechblogs.blogspot.com/2008/05/shared-processor-partition-in-ibm.html

Now consider a frame with 20 cpu's on it and lets assume that we create 40 LPAR's with 0.5 cpu each. Ohh yes we can run LPAR with a minimum of 0.1 cpu so 0.5 is more than fine.

Now coming back to the point of why virtualize I/O . Consider that each of these 40 LPARS needs at least one network adapter so that it can communicate to the network. That makes it 40 ethernet adapter slots. The Pseries servers comes with dual /quad port NIC adapters which cannot be divided between lpars, that way you need a minimum of 40 dual port NIC adapters on a frame which has just 20 cpu, which is not going to be possible. The case is similar if at least 20 of those lpars (if not all) requires SAN connectivity. We are definitely going to be short of NIC and HBA adapters. Thats exactly the need to Virtualize I/O

How Virtual I/O networking works

The VIO servers combined with the Power Hypervisor (part of hardware) is responsible for the functioning of the virtual networking. The virtual network operates in the power hypervisor and the VIO servers manages the inbound and outbound traffic to and from the server respectively.

The VIO servers gets the Physical adapters and the required connectivity to the network. The LPAR's then use the virtual network in the power hypervisor to route its network traffic through the VIO servers (which has connectivity to the network).

The LPAR's and VIO servers communicate using virtual adapters and VLANS which are created in the POWER Hypervisor space (The VLAN Numbers on the LPARS and VIO servers has no relation with what the actual network VLAN is). Each of the virtual ethernet adapters created on LPAR's as well as on the VIO servers has a VLAN number, virtual adpaters in the same VLAN can communicate to each other in the power hypervispor space. This includes the virtual ethernet adapter on the VIO server as well. The Virtual adapter on the VIO server then gets linked to the Physical ethernet adapter, which has connectivity to the external network. The device which links the Virtual ethernet adapter on the VIO server to a Physical adapter on the VIO server is called the SEA.

A SEA has the following components

1)A virtual Network adapter --- > To Communicate with virtual adapter on the LPAR's which are on the same VLAN

* A virtual adapter can be part of multiple VLAN's

2) A Physical Network adapter which has connectivity to external network also called as Backing device

3) Control Channel ----> These are Virtual adapters which operates inside the frame, sending heart beats across the 2 vio servers (2 vio servers are used for reedundancy) to check each others availability.

How different are virtual ethernet adapters on LPAR and
Virtual ethernet adapters on VIO server?

The Virtual ethernet adapter on the LPAR and that on the client differs in the fact that, the one's on the VIO has connectivity to external network enabled. It also has a value called trunk priority set so as to decide which of the VIO server will act as primary at a given point, lesser the value higher the priority.

Yes, the Virtual ethernet adapter on the server gets linked to a physical adapter through a device called SEA which will then route the packets from the virtual ethernet adapter to the physical adapter and then it goes to the network. How does the packet from an LPAR reach the Virtual ethernet adapter ?

A Virtual ethernet adapter on the LPAR has visibility of all the other virtual ethernet adapter in the hypervisor space which belongs to the same VLAN as it is. for Example a Virtual ethernet adapter on an LPAR with VLAN ID 1 has visibility of all the
Virtual ethernet adapters on other LPAR's with VLAN ID 1, these also include the Virtual ethernet adapters on the VIO servers which has the speciality that it has connectivity to external network enabled and also a trunk priority set. A packet originating from the LPAR passes through the LPAR's Virtual ethernet adapters if the transfer is for another lpar in the same frame with a Virtual ethernet adapter on the same VLAN the VIO server does not come into the picture. The Virtual ethernet adapters on both the LPAR's communicate in the hypervisor space and exchange of packet takes place. If the packet is suppose to be for a server outside the frame the Virtual ethernet adapter on the LPAR looks for a Virtual ethernet adapter in the same VLAN with external access enabled. In case it find multiple Virtual ethernet adapter with external access enabled it chooses one based on the trunk priority. Lesser the value higher the priority. So the packet has no reached the Virtual ethernet adapter on the VIO server which as we saw above has a link to the pysical adapter through a magic device called SEA (Shared Ethernet Adapter)


How to create Virtual network adapters and how to assign VLAN id's to them?.

Virtual adapters are defined in the profile of an LPAR. It can either be created by editing the profile and shutting down and activating the LPAR or by DLPAR operation to add the virtual ethernet adapter. The create task of virtual ethernet adapter involves specifying vlan id's for the virtual adapter as well. The adapter then shows up on the server and you can work with it in the same way as you do for a physical adapter.