管理任务关键型共享 Ethernet 适配器上的 VLAN

保证 VLAN 标记过程的模块化以避免停机时间

共享 Ethernet 适配器(shared Ethernet adapter,SEA)可以用于 IEEE 802.1Q VLAN 标记。可是 SEA 一旦使用,不停止它就无法改变主干虚拟 Ethernet 适配器上的 VLAN。通过为每个已标记的 VLAN 使用单独的虚拟适配器,可以向 SEA 附加一个新的带有新 VLAN 的虚拟适配器,而没有任何停机时间。从 SEA 删除 VLAN 也采用简单的模块化方法,因为每个虚拟适配器只对应一个已标记的 VLAN。

Anthony English, 高级 AIX 专家, Levitar Pty Ltd

http://www.ibm.com/developerworks/i/p-aenglish.jpgAnthony English 是来自澳大利亚悉尼市的一名独立承包人。他从 1991 年开始就一直在 AIX 系统上工作,他还撰写 IBM developerWorks 博客 AIX Down Under



2012 年 3 月 12 日

问题

用于 POWER7 DLPAR 的虚拟 Ethernet 适配器

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

您有一个带 VLAN 标记功能的共享 Ethernet 适配器 (SEA) 服务于一些任务关键型网站。现在又有了一个新网站,您需要向 SEA 添加一个附加的 VLAN。但是难以安排断电。您也不能使用动态逻辑分区 (DLPAR) 向 SEA 上的现有虚拟适配器添加 VLAN,因为此适配器正被用作 SEA 配置的一部分。


模块化方法

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

常用缩写词

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

通过为每个附加的 VLAN 创建一个单独的虚拟适配器,SEA 配置变得更为模块化,从而允许您向 SEA 添加单个带有新 VLAN 的适配器。类似地,需要从 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 兼容的虚拟 Ethernet 适配器时,每个虚拟 Ethernet 适配器最多只能有 20 个 VLAN。

所有用于外部访问的 VLAN 都要通过 ent3。这个虚拟适配器已经设置为具有 PVID 1 和三个附加的 VLAN:100、200 和 300。新网站需要 SEA 上的 VLAN 标记使用 VLAN 400。

重建虚拟适配器和 SEA

虚拟适配器 ent3 附加有 VLAN 100、200 和 300。当该适配器被用作 SEA 的一部分时,您无法向它添加另外的 VLAN (VLAN 400)。向现有适配器添加 VLAN 400 需要阻塞通过该适配器的所有流量,删除 SEA,创建一个具有全部所需的附加 VLAN 的新适配器,并再次创建 SEA。


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

另一种方法是为新的 VLAN 向 VIO 服务器添加一个新的虚拟适配器,然后再将它分配给 SEA。

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

使用硬件管理控制台(Hardware Management Console,HMC),可以为未标记的数据包和附加的 VLAN(即 400)创建一个新的带有一次性 PVID 的虚拟适配器 (ent6)。利用使用了 DLPAR 的 HMC,并编辑 VIO 服务器的配置文件,便可以做到这一点,这也为下次通过 HMC 激活它做好了准备。

将虚拟适配器分配给 SEA

在 VIO 服务器上创建好了新的虚拟适配器,还需要将它分配给 SEA。这通过 VIO 服务器命令行来做到 —无需删除并重新创建 SEA 设备。您只是利用 chdev 命令更新 SEA 使用的虚拟适配器列表。注意,虚拟适配器列表将取代现有适配器列表,所以请确保在新的 SEA 配置中包含您所有需要的适配器,而不是只包含刚才创建的新虚拟适配器。所使用的 VIO 命令如下所示。虚拟适配器应该在逗号分隔的列表中。

chdev -dev ent5 -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)

通过 SEA 的 entstat 命令,可以看到这些适配器使用的 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 使用单独的虚拟适配器,开通附加 VLAN 到 SEA 的流量就非常简单了。在单独的适配器上具有已标记的 VLAN 对于删除不再通过 SEA 使用的 VLAN 特别有用。

参考资料

学习

获得产品和技术

  • 试用免费的 IBM 软件。下载试用版,登录在线试用版,在沙箱环境中使用某种产品,或者通过云访问它。有 100 多种 IBM 产品试用版可选。

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=801494
ArticleTitle=管理任务关键型共享 Ethernet 适配器上的 VLAN
publish-date=03122012