您可以将 VLAN 从一个底层数据链路迁移到另一个底层数据链路,而无需删除和重新配置 VLAN。底层链路可以是物理链路、链路聚合或 etherstub。有关 etherstub 的更多信息,请参见在 Oracle Solaris 11.2 中管理网络虚拟化和网络资源 中的虚拟网络组件。
要成功迁移 VLAN,VLAN 要移动到的底层数据链路必须能够接纳此 VLAN 的数据链路属性。如果不支持这些属性,则迁移将会失败并通知用户。成功迁移后,如果 VLAN 仍然连接到网络,使用此 VLAN 的所有应用程序将继续正常运行。
迁移 VLAN 后,某些与硬件相关的属性可能会改变。例如,VLAN 始终与其底层数据链路共享相同的 MAC 地址。因此,迁移 VLAN 后,VLAN 的 MAC 地址将更改为目标数据链路的主 MAC 地址。其他可能会受影响的属性包括数据链路状态、链路速度和 MTU 大小。但是,应用程序不间断地继续运行。
您可以全局性地或有选择性地执行 VLAN 迁移。
全局迁移用于将一个数据链路上配置的所有 VLAN 迁移到另一个数据链路。要执行全局迁移,只需指定源数据链路和目标数据链路。以下示例说明了如何将 ether0 上的所有 VLAN 移动到 net1。
# dladm modify-vlan -l net1 -L ether0
指 VLAN 要迁移到的目标数据链路。
指在其上配置 VLAN 的原始数据链路。
选择性迁移用于仅迁移选定的 VLAN。要执行有选择性的 VLAN 迁移,需要指定要移动的 VLAN。在基于Figure 3–3 的以下示例中,VLAN 从 net0 移动到 net3。
# dladm modify-vlan -l net3 web1,auth1,app1
执行迁移时,可以更改 VLAN 的 VLAN ID。以下示例基于Figure 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 -----