在 Oracle® Solaris 11.2 中管理网络虚拟化和网络资源

退出打印视图

更新时间: 2014 年 9 月
 
 

迁移 VNIC

您可以将一个或多个 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
    –l target-link

    指迁移后的 VNIC 所基于的链路

    –L source-link

    指 VNIC 以前配置在其上的链路

示例 2-20  将所有 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 迁移,您需要仅指定目标链路。

示例 2-21  将指定的 VNIC 从源链路迁移到目标链路

在此示例中,有选择地将 vnic0vnic1vnic2 从源链路 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。

示例 2-22  迁移并修改 VNIC 的 VLAN ID

在此示例中,将 vnic0vnic1vnic2 迁移到目标数据链路 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。