您可以将一个或多个 VNIC 从一个底层数据链路移动到另一个底层数据链路,而无需删除和重新配置 VNIC。底层数据链路可以是物理链路、链路聚合或 etherstub。
通常在以下任意情况下迁移 VNIC:
当您需要将现有的 NIC 替换为新的 NIC 时
当目标 NIC 的带宽多于现有 NIC 的带宽时
当目标 NIC 在硬件中实现某些功能(例如,大型接收负载转移 (large receive offload, LRO)、大型段负载转移 (large segment offload, LSO) 和校验和)时
要成功迁移 VNIC,要将 VNIC 移动到的目标数据链路必须能够包容 VNIC 的数据链路属性。如果不支持这些属性,则迁移将会失败并通知用户。成功迁移后,如果目标数据链路连接到网络,则使用这些 VNIC 的所有应用程序将继续正常运行。
某些与硬件相关的属性在 VNIC 迁移后可能会发生更改,例如数据链路状态、链路速度和 MTU 大小。这些属性的值继承自向其迁移 VNIC 的数据链路。可以迁移在数据链路上配置的所有 VNIC,也可以有选择地迁移指定的 VNIC。还可以同时迁移 VNIC 并修改其 VLAN ID。
要将在源链路上配置的所有 VNIC 迁移到目标链路,请使用下面的命令语法:
# dladm modify-vnic –l target-link –L source-link
指迁移后的 VNIC 所基于的链路
指 VNIC 以前配置在其上的链路
在此示例中,源链路 ether0 中的所有 VNIC 将移到目标链路 net1。
# dladm modify-vnic -l net1 -L ether0 # dladm show-vnic LINK OVER SPEED MACADDRESS MACADDRTYPE VIDS vnic0 net1 1000 2:8:20:c2:39:38 random 321 vnic1 net1 1000 2:8:20:5f:84:ff random 656 vnic2 net1 1000 2:8:20:5f:84:ff random 0
要将在源链路上配置的指定 VNIC 迁移到目标链路,请使用下面的命令语法:
# dladm modify-vnic –l target-link VNIC,VNIC,[...]
要执行选择性 VNIC 迁移,您需要仅指定目标链路。
在此示例中,有选择地将 vnic0、vnic1 和 vnic2 从源链路 net0 移动到目标链路 net1。
# dladm modify-vnic -l net1 vnic0,vnic1,vnic2 # dladm show-vnic LINK OVER SPEED MACADDRESS MACADDRTYPE VIDS vnic0 net1 1000 2:8:20:c2:39:38 random 321 vnic1 net1 1000 2:8:20:5f:84:ff random 656 vnic2 net1 1000 2:8:20:5f:84:ff random 0 vnic3 net0 1000 2:8:20:5f:84:ff random 345
要同时修改在源链路上配置的 VNIC 的 VLAN ID 并将这些 VNIC 迁移到目标链路,请使用下面的命令语法:
# dladm modify-vnic –l target-link –v vid VNIC
要指定新的 VLAN ID,必须一次迁移一个 VNIC。
在此示例中,将 vnic0、vnic1 和 vnic2 迁移到目标数据链路 net1。迁移的同时,还会修改所有 VNIC 的 VLAN ID。
# dladm modify-vnic -l net1 -v 123 vnic0 # dladm modify-vnic -l net1 -v 456 vnic1 # dladm modify-vnic -l net1 -v 789 vnic2 # dladm show-vnic LINK OVER SPEED MACADDRESS MACADDRTYPE VIDS vnic0 net1 1000 2:8:20:c2:39:38 random 123 vnic1 net1 1000 2:8:20:5f:84:ff random 456 vnic2 net1 1000 2:8:20:5f:84:ff random 789
将 VNIC 从源链路迁移到目标链路时,随机指定的 MAC 地址在迁移后不受影响并由其各自的 VNIC 保留。请参见Example 2–22。
但是,如果 VNIC 使用的是源链路的出厂 MAC 地址,则 MAC 地址将发生更改。如果迁移过程中未指定 MAC 地址,则 VNIC 的出厂 MAC 地址将替换为随机指定的 MAC 地址。如果在迁移过程中使用 –m 指定了 MAC 地址,则 VNIC 的出厂 MAC 地址将替换为指定的 MAC 地址。
您具有多个与内核区域创建的 VNIC 关联的 MAC 地址。当迁移内核区域创建的 VNIC 时,与 VNIC 关联的所有 MAC 地址都会迁移到目标 NIC。