跳过导航链接 | |
退出打印视图 | |
管理 Oracle Solaris 11.1 网络性能 Oracle Solaris 11.1 Information Library (简体中文) |
本节包含用于配置和管理 VLAN 的过程。
有关此类拓扑的基本示例,请参阅图 3-1。
注 - VLAN 编号方案可能已存在于网络中。如果是这样,则必须在现有的 VLAN 编号方案范围内创建 VLAN ID。
# dladm show-link
记下每个接口的 VLAN ID 以及每个接口所连接到的交换机端口。
有关配置说明,请参阅交换机制造商的文档。
开始之前
本过程假定已在系统上创建了区域。本过程不包含创建区域以及为区域指定接口的步骤。有关区域配置的更多信息,请参阅《Oracle Solaris 11.1 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》中的第 17 章 "规划和配置非全局区域(任务)"。
# dladm show-link
# dladm create-vlan -l link -v vid vlan-link
指定正在其上创建 VLAN 接口的链路。
表示 VLAN ID 号。
指定 VLAN 的名称,也可以是通过管理行为选择的名称。
# dladm show-vlan
# ipadm create-ip interface
其中 interface 使用 VLAN 名称。
# ipadm create-addr -a address interface
示例 3-1 配置 VLAN
本示例说明如何创建图 3-3 所示的 VLAN 配置。本示例假定您已在系统中配置不同的区域。有关配置区域的更多信息,请参见《Oracle Solaris 11.1 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》中的第 II 部分, "Oracle Solaris Zones"。
管理员首先检查可用于配置 VLAN 的可用链路,然后在特定链路上创建 VLAN。
global# dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- net2 phys 1500 up -- -- global# dladm create-vlan -l net0 -v 111 web1 global# dladm create-vlan -l net0 -v 112 auth1 global# dladm create-vlan -l net0 -v 113 app1 global# dladm create-vlan -l net1 -v 111 web2 global# dladm create-vlan -l net1 -v 112 auth2 global# dladm create-vlan -l net1 -v 113 app2 global# dladm create-vlan -l net2 -v 111 web3 global# dladm create-vlan -l net2 -v 112 auth3 global# dladm show-vlan LINK VID OVER FLAGS web1 111 net0 ---- auth1 112 net0 ---- app1 113 net0 ---- web2 111 net1 ---- auth2 112 net1 ---- app2 113 net1 ---- web3 111 net2 ---- auth3 113 net2 ----
当显示链路信息时,列表中包含 VLAN。
global# dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- net2 phys 1500 up -- -- web1 vlan 1500 up -- net0 auth1 vlan 1500 up -- net0 app1 vlan 1500 up -- net0 web2 vlan 1500 up -- net1 auth2 vlan 1500 up -- net1 app2 vlan 1500 up -- net1 web3 vlan 1500 up -- net2 auth3 vlan 1500 up -- net2
接下来,管理员将 VLAN 指定给其各自的区域。指定 VLAN 后,将针对各区域显示与以下内容类似的信息:
global# zonecfg -z webzone1 info net net: address not specified physical: web1 global# zonecfg -z authzone1 info net net: address not specified physical: auth1 global# zonecfg -z appzone2 info net net: address not specified physical: app2
属性 physical 的值表示为给定区域设置的 VLAN。
接下来,管理员登录到每个非全局区域以配置 VLAN 的 IP 地址。
在 webzone1 中:
webzone1# ipadm create-ip web1 webzone1# ipadm create-addr -a 10.1.111.0/24 web1 ipadm: web1/v4
在 webzone2 中:
webzone2# ipadm create-ip web2 webzone2# ipadm create-addr -a 10.1.111.0/24 web2 ipadm: web2/v4
在 webzone3 中:
webzone3# ipadm create-ip web3 webzone3# ipadm create-addr -a 10.1.111.0/24 web3 ipadm: web3/v4
在 authzone1 中:
authzone1# ipadm create-ip auth1 authzone1# ipadm create-addr -a 10.1.112.0/24 auth1 ipadm: auth1/v4
在 authzone2 中:
authzone2# ipadm create-ip auth2 autzone2# ipadm create-addr -a 10.1.112.0/24 auth2 ipadm: auth2/v4
在 authzone3 中:
authzone3# ipadm create-ip auth3 authzone3# ipadm create-addr -a 10.1.112.0/24 auth3 ipadm: auth3/v4
在 appzone1 中:
appzone1# ipadm create-ip app1 appzone1# ipadm create-addr -a 10.1.113.0/24 app1 ipadm: app1/v4
在 appzone2 中:
appzone2# ipadm create-ip app2 appzone2# ipadm create-addr -a 10.1.113.0/24 app2 ipadm: app2/v4
配置完所有 VLAN 的 IP 地址后,配置过程即完成。三个 VLAN 可以运行并可以承载其各自区域的通信。
与通过接口配置 VLAN 的方式一样,也可以基于链路聚合创建 VLAN。第 2 章中介绍了链路聚合。本节综合介绍了如何配置 VLAN 和链路聚合。
# dladm show-link
# dladm create-vlan -l link -v vid vlan-link
指定正在其上创建 VLAN 接口的链路。在此过程中,链路指链路聚合。
表示 VLAN ID 号
指定 VLAN 的名称,也可以是通过管理行为选择的名称。
# ipadm create-ip interface
其中 interface 使用 VLAN 名称。
# ipadm create-addr -a address interface
示例 3-2 通过链路聚合配置多个 VLAN
在此示例中,基于链路聚合配置了两个 VLAN。为 VLAN 指定的 VLAN ID 分别为 193 和 194。
# dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- ---- net1 phys 1500 up -- ---- aggr0 aggr 1500 up -- net0, net1 # dladm create-vlan -l aggr0 -v 193 acctg0 # dladm create-vlan -l aggr0 -v 194 humres0 # ipadm create-ip acctg0 # ipadm create-ip humres0 # ipadm create-addr -a 192.168.10.0/24 acctg0 ipadm: acctg0/v4 # ipadm create-addr -a 192.168.20.0/24 humres0 ipadm: humres0/v4
某些传统设备只处理最大传输单元 (maximum transmission unit, MTU) 大小(也称为帧大小)为 1514 字节的包。帧大小超出此最大限制的包将被丢弃。对于这种情况,请按照如何配置 VLAN中列出的过程执行操作。但是,当创建 VLAN 时,请使用 -f 选项强制创建 VLAN。
# dladm create-vlan -f -l link -v vid vlan-link
指定正在其上创建 VLAN 接口的链路。在此过程中,链路指传统设备。
表示 VLAN ID 号
指定 VLAN 的名称,也可以是通过管理行为选择的名称。
# dladm set-linkprop -p default_mtu=1496 vlan-link
较低的 MTU 值为链路层提供了在传输之前插入 VLAN 头的空间。
有关更改链路属性值的更多信息,请参阅《在 Oracle Solaris 11.1 中使用固定网络配置连接系统》中的"基本 dladm 命令"。
由于 VLAN 是数据链路,因此可以使用 dladm show-link 命令查看有关 VLAN 的信息。但是,对于特定于 VLAN 的信息,需要使用 dladm show-vlan 命令。
以下示例比较了通过这两个命令所获取的信息类型。第一个输出为使用 dladm show-link 命令后的输出,显示了系统上的所有数据链路,包括非 VLAN 的数据链路。第二个输出为使用 dladm show-vlan 命令后的输出,显示了仅与 VLAN 相关的数据链路信息子集。
# dladm show-link LINK CLASS MTU STATE BRIDGE OVER net0 phys 1500 up -- -- net1 phys 1500 up -- -- net2 phys 1500 up -- -- web1 vlan 1500 up -- net0 auth1 vlan 1500 up -- net0 app1 vlan 1500 up -- net0 web2 vlan 1500 up -- net1 auth2 vlan 1500 up -- net1 app2 vlan 1500 up -- net1 web3 vlan 1500 up -- net2 auth3 vlan 1500 up -- net2 # dladm show-vlan LINK VID OVER FLAGS web1 111 net0 ---- auth1 112 net0 ---- app1 113 net0 ---- web2 111 net1 ---- auth2 112 net1 ---- app2 113 net1 ---- web3 111 net2 ---- auth3 113 net2 ----
通过使用 dladm modify-vlan 命令,可以按照以下方式修改 VLAN:
更改 VLAN 的 VLAN ID
将 VLAN 迁移到另一个底层链路
要更改 VLAN 的 VLAN ID,请使用以下命令之一:
dladm modify-vlan -v vid - L datalink
在此命令中,vid 指定要分配给 VLAN 的新 VLAN ID。Datalink 指在其上配置 VLAN 的底层链路。如果数据链路上仅存在单个 VLAN,则可以使用此命令语法。如果对配置了多个 VLAN 的数据链路使用此命令语法,则命令会失败,因为数据链路上的 VLAN 必须具有唯一的 VLAN ID。
dladm modify-vlan -v vid vlan
使用此命令可更改单个数据链路上多个 VLAN 的唯一 VLAN ID。数据链路上的每个 VLAN 具有唯一的 VLAN ID。因此,一次只能更改一个 VLAN ID。在图 3-3 中,假定您想更改在 net0 上配置的 web1、auth1 和 app1 的 VLAN ID。要更改这些 VLAN ID,应继续执行以下命令:
# dladm modify-vlan -v 123 web1 # dladm modify-vlan -v 456 app1 # dladm modify-vlan -v 789 auth1
您可以将 VLAN 从一个底层数据链路迁移到另一个底层数据链路,而无需删除和重新配置 VLAN。底层链路可以是物理链路、链路聚合或 etherstub。有关 etherstub 的更多信息,请参见《在 Oracle Solaris 11.1 中使用虚拟网络》中的"网络虚拟化组件"。
要成功迁移 VLAN,VLAN 要移动到的底层数据链路必须能够接纳此 VLAN 的数据链路属性。如果不支持这些属性,则迁移将会失败并通知用户。成功迁移后,如果 VLAN 仍然连接到网络,使用此 VLAN 的所有应用程序将继续正常运行。
迁移 VLAN 后,某些与硬件相关的属性可能会改变。例如,VLAN 始终与其底层数据链路共享相同的 MAC 地址。因此,迁移 VLAN 后,VLAN 的 MAC 地址将更改为目标数据链路的主 MAC 地址。其他可能会受影响的属性包括数据链路状态、链路速度、MTU 大小等等。但是,应用程序不间断地继续运行。
注 - 迁移后的 VLAN 不保留任何原始数据链路的硬件通道统计信息。目标数据链路上 VLAN 的可用硬件通道将成为统计信息的新来源。不过,dlstat 命令缺省显示的软件统计信息将会保留。
您可以全局性地或有选择性地执行 VLAN 迁移。全局迁移意味着将某个数据链路上的所有 VLAN 迁移到另一个数据链路。要执行全局迁移,只需指定源数据链路和目标数据链路。以下示例将 ether0 上的所有 VLAN 移动到 net1:
# dladm modify-vlan -l net1 -L ether0
其中
-L 指在其上配置 VLAN 的原始数据链路。
-l 指 VLAN 要迁移到的目标数据链路。
注 - 目标数据链路必须在源数据链路之前指定。
要执行有选择性的 VLAN 迁移,需要指定要移动的 VLAN。以下示例基于图 3-3, 将 VLAN 从 net0 移动到 net3。
# dladm modify-vlan -l net3 web1,auth1,app1
注 - 有选择性地迁移 VLAN 时,请省略 -L 选项,此选项仅适用于全局迁移。
执行迁移时,可以更改 VLAN 的 VLAN ID。以下示例基于图 3-3,说明了如何同时迁移多个 VLAN 并更改其 VLAN ID。
# dladm show-vlan LINK VID OVER FLAGS web1 111 net0 ----- auth1 112 net0 ----- app1 113 net0 ----- # dladm modify vlan -l net3 -v 123 web1 # dladm modify vlan -l net3 -v 456 auth1 # dladm modify vlan -l net3 -v 789 app1 # dladm show-vlan LINK VID OVER FLAGS web1 123 net3 ----- auth1 456 net3 ----- app1 789 net3 -----
注 - 并行子命令 dladm modify-vnic 用于迁移配置为 VLAN 的 VNIC。必须根据要迁移的是 VLAN 还是配置为 VLAN 的 VNIC,使用正确的子命令。对于可通过 dladm show-vlan 子命令显示的 VLAN,使用 modify-vlan 子命令。对于可通过 dladm show-vnic 子命令显示的 VNIC(包括那些具有 VLAN ID 的 VNIC),使用 modify-vnic 子命令。要修改 VNIC,请参见《在 Oracle Solaris 11.1 中使用虚拟网络》中的"网络虚拟化组件"。
使用 dladm delete-vlan 命令删除系统上的 VLAN 配置。
注 - 必须首先删除要删除的 VLAN 上的所有现有 IP 配置,才能删除此 VLAN。如果 VLAN 上存在 IP 接口,VLAN 删除将会失败。
示例 3-3 删除 VLAN 配置
要删除 VLAN 配置,可执行与以下示例类似的步骤:
# dladm show-vlan LINK VID OVER FLAGS web1 111 net0 ---- auth1 112 net0 ---- app1 113 net0 ---- web2 111 net1 ---- auth2 112 net1 ---- app2 113 net1 ---- web3 111 net2 ---- auth3 113 net2 ---- # ipadm delete-ip web1 # dladm delete-vlan web1