问题

DLPAR for POWER7虚拟以太网适配器

本技巧适用于IBM®POWER5®和POWER6®服务器。 从IBMPOWER7®服务器开始,您可以使用DLPAR修改虚拟以太网适配器的IEEE 802.1Q兼容,附加VLAN和服务质量(QoS)优先级。

您有一个带有VLAN标记的共享以太网适配器(SEA),可为关键任务网站提供服务。 一个新的网站需要一个附加的VLAN附加到SEA。 停机很难安排。 您不能使用动态逻辑分区(DLPAR)将VLAN添加到SEA上的现有虚拟适配器,因为该适配器已用作SEA配置的一部分。

模块化方法

在带有VLAN标记的SEA的初始设置中,需要虚拟以太网适配器来中继或桥接流量。 该适配器必须具有默认端口虚拟LAN ID(PVID),以允许虚拟以太网适配器与具有相同PVID的其他虚拟以太网适配器进行通信。 您还可以通过选择IEEE 802.1兼容适配器,将虚拟以太网适配器配置为通过多个VLAN进行通信。 (有关如何设置SEA的详细信息,请参阅参考资料 。)

常用缩略语
  • IEEE:电气电子工程师学会
  • LPAR:逻辑分区
  • PVID:端口虚拟LAN ID
  • VLAN:虚拟局域网

通过为每个其他VLAN创建单独的虚拟适配器,SEA配置变得更加模块化,从而允许您将具有新VLAN的单个适配器添加到SEA。 同样,当您需要从SEA撤消VLAN时,可以从SEA的虚拟适配器列表中删除其适配器。 这种模块化方法节省了必须删除并重新创建SEA(涉及中断)的麻烦。

可以通过查看现有配置并查看如何进行改进来最好地解释这种模块化方法。

现有配置:一个适配器上有多个VLAN

现有配置显示,一个虚拟适配器用于VLAN标记的数据包。

列出虚拟适配器上的VLAN

您可以通过以padmin身份登录虚拟I / O(VIO)服务器并为SEA运行lsdev命令来列出SEA的现有虚拟适配器。 下面清单1中的示例包括虚拟适配器列表,显示为virt_adapters 。 此列表中只有一个适配器:ent3。 由于它是唯一的适配器,因此它也已设置为默认适配器(请参阅pvid_adapter )。

清单1. SEA的列表属性
lsdev -dev ent5 -attr
attribute     value    description
 
accounting    disabled Enable per-client accounting of network statistics
ctl_chan      ent4     Control Channel adapter for SEA failover                      
gvrp          no       Enable GARP VLAN Registration Protocol (GVRP)
ha_mode       auto     High Availability Mode                               
jumbo_frames  no       Enable Gigabit Ethernet Jumbo Frames                             
large_receive no       Enable receive TCP segment aggregation                        
largesend     0        Enable Hardware Transmit TCP Resegmentation
netaddr       0        Address to ping
pvid          1        PVID to use for the SEA device
pvid_adapter  ent3     Default virtual adapter to use for non-VLAN-tagged packets
qos_mode      disabled N/A
real_adapter  ent2     Physical adapter associated with the SEA
thread        1        Thread mode enabled (1) or disabled (0)                           
virt_adapters ent3     List of virtual adapters associated with the SEA (comma separated)

每个适配器的最大VLAN

使用HMC创建与IEEE 802.1Q兼容的虚拟以太网适配器时,每个虚拟以太网适配器最多有20个VLAN。

所有使用外部访问的VLAN都通过ent3。 此虚拟适配器已设置为PVID为1和三个其他VLAN:100、200和300。新网站要求使用VLAN 400在SEA上进行VLAN标记。

重建虚拟适配器和SEA

虚拟适配器ent3附加有其他VLAN 100、200和300。 当适配器用作SEA的一部分时,不能向该适配器添加另一个VLAN(VLAN 400)。 要将VLAN 400添加到现有适配器,将需要阻止通过该适配器的所有流量,删除SEA,使用所有必需的其他VLAN创建一个新的适配器,然后再次创建SEA。

模块化方法:单独的VLAN,单独的适配器

替代方法是将新的虚拟适配器添加到新VLAN的VIO服务器,然后将其分配给SEA。

为VIOS LPAR创建新的虚拟适配器

使用硬件管理控制台(HMC),您可以创建一个新的虚拟适配器(ent6),该虚拟适配器具有用于未标记数据包的一次性PVID和附加VLAN400。您可以通过HMC使用DLPAR并通过编辑VIO服务器的配置文件来完成此操作。 ,准备下次通过HMC激活它。

将虚拟适配器分配给SEA

在VIO服务器上创建新适配器后,需要将其分配给SEA。 您可以通过VIO服务器命令行执行此操作, 而无需删除并重新创建SEA设备 。 您只需使用chdev命令更新SEA使用的虚拟适配器列表。 请注意,虚拟适配器列表将替换现有的适配器列表,因此请确保将所需的所有适配器包括在新的SEA配置中,而不仅仅是已创建的新虚拟适配器。 使用的VIO命令如下所示。 虚拟适配器应位于逗号分隔的列表中。

chdev -dev ent5 -attr virt_adapters=ent3,ent6

如果使用具有故障转移功能的双VIO服务器配置,则必须在两个VIO服务器上的SEA上运行此命令。 第二台VIO服务器上的设备名称可能不同。

将新适配器分配给活动SEA后,VLAN 400的流量应开始通过SEA。

一个适配器上有三个VLAN

在此阶段,SEA具有两个用于VLAN标记的虚拟适配器。 原始适配器(ent3)标记VLAN 100、200和300的流量,而新适配器(ent6)处理VLAN 400的流量。可以通过lsdev命令再次列出这些适配器,如清单2所示 。

清单2. SEA的列表属性
lsdev -dev ent5 -attr

attribute     value    description                 

accounting    disabled Enable per-client accounting of network statistics
ctl_chan      ent4     Control Channel adapter for SEA failover                      
gvrp          no       Enable GARP VLAN Registration Protocol (GVRP)
ha_mode       auto     High Availability Mode                               
jumbo_frames  no       Enable Gigabit Ethernet Jumbo Frames                             
large_receive no       Enable receive TCP segment aggregation                        
largesend     0        Enable Hardware Transmit TCP Resegmentation
netaddr       0        Address to ping
pvid          1        PVID to use for the SEA device
pvid_adapter  ent3     Default virtual adapter to use for non-VLAN-tagged packets
qos_mode      disabled N/A
real_adapter  ent2     Physical adapter associated with the SEA
thread        1        Thread mode enabled (1) or disabled (0)                           
virt_adapters ent3,ent6 List of virtual adapters associated with the SEA (comma separated)

您可以通过entstat命令为SEA查看这些适配器使用的VLAN。 相关字段显示在此处:

entstat -all ent5

Port VLAN ID:     1
VLAN Tag IDs:   100 200 300 400

PVID设置为1,用于未标记的数据包。 还显示了其他VLAN(100、200、300和400)。

删除VLAN

如果需要更改组织网络的设计,则可能需要从SEA中删除VLAN。 该VLAN可能会在其他地方使用,或者正在逐步淘汰。 无论是什么原因,您将如何删除VLAN 200(该适配器为需要保留的另外两个有效VLAN(100和300)提供服务)? 不幸的答案是,您将需要删除SEA并使用仅包含您要使用的VLAN的新适配器将其重新添加。

如果每个VLAN都在其自己的单独适配器上,则可以通过更改SEA上的虚拟适配器列表来添加或删除任何VLAN。

默认适配器

必须将虚拟适配器之一分配为默认适配器。 它用于未标记的数据包。 如果只有一个虚拟适配器,则它应该是默认适配器。 您可以使用chdev命令设置默认值。 该属性称为pvid_adapter 。

如果要删除也充当默认适配器的虚拟适配器,则必须首先使用chdev命令设置一个新的默认适配器。 完成此操作后,可以通过将过时的适配器从SEA上的虚拟适配器列表中排除来删除它。

结论

通过为每个标记的VLAN使用单独的虚拟适配器,只需一分钟的工作即可启动到SEA的其他VLAN流量。 如果您需要删除不再通过SEA使用的VLAN,则在单独的适配器上具有标记的VLAN特别有用。


翻译自: https://www.ibm.com/developerworks/aix/library/au-managevlans/index.html