Go to main content
Oracle® VM Server for SPARC 3.4 管理指南

退出打印视图

更新时间: 2016 年 8 月
 
 

虚拟设备标识符和网络接口名称

将虚拟交换机或虚拟网络设备添加到域时,可以通过设置 id 属性来指定其设备编号。

primary# ldm add-vsw [id=switch-id] vswitch-name domain-name
primary# ldm add-vnet [id=network-id] if-name vswitch-name domain-name

域的每个虚拟交换机和虚拟网络设备都具有唯一的设备编号,该编号在绑定域时分配。如果使用显式设备编号(通过设置 id 属性)添加虚拟交换机或虚拟网络设备,将使用指定的设备编号。否则,系统将自动指定最低的可用设备编号。在这种情况下,分配的设备编号取决于将虚拟交换机或虚拟网络设备添加到系统的方式。当域被绑定时,在 ldm list-bindings 命令的输出中可以看到最终分配给虚拟交换机或虚拟网络设备的设备编号。

以下示例显示 primary 域有一个虚拟交换机 primary-vsw0。此虚拟交换机的设备编号是 0 (switch@0)。

primary# ldm list-bindings primary
...
VSW
    NAME         MAC               NET-DEV DEVICE   DEFAULT-VLAN-ID PVID VID MTU MODE
    primary-vsw0 00:14:4f:fb:54:f2 net0    switch@0 1               1    5,6 1500
...

以下示例显示 ldg1 域有两个虚拟网络设备:vnetvnet1vnet 设备的设备编号是 0 (network@0),vnet1 设备的设备编号是 1 (network@1)。

 

primary# ldm list-bindings ldg1
...
NETWORK
    NAME  SERVICE              DEVICE    MAC               MODE   PVID VID MTU
    vnet  primary-vsw0@primary network@0 00:14:4f:fb:e0:4b hybrid 1        1500
    ...
    vnet1 primary-vsw0@primary network@1 00:14:4f:f8:e1:ea        1        1500
...

同样,当含虚拟网络设备的域正在运行 Oracle Solaris OS 时,虚拟网络设备具有网络接口 vnetN。但是,虚拟网络设备的网络接口编号 N 不必与虚拟网络设备的设备编号 n 相同。


注 - 在 Oracle Solaris 11 系统上,会将 netn 形式的通用链路名称分配给 vswnvnetn。使用 dladm show-phys 命令确定哪些 netn 名称映射到哪些 vswnvnetn 设备。

Caution

注意  - Oracle Solaris OS 根据设备编号保留网络接口名称和虚拟交换机或虚拟网络设备之间的映射。如果未将设备编号显式分配给虚拟交换机或虚拟网络设备,当域被解除绑定并且之后再次绑定时,其设备编号可以更改。在这种情况下,由域中正在运行的 OS 分配的网络接口名称也可能会更改现有系统配置,并使现有系统配置无法使用。例如,在从域配置中删除虚拟交换机或虚拟网络接口时,可能会发生这种情况。


您不能使用 ldm list-* 命令直接确定与虚拟交换机或虚拟网络设备相对应的 Oracle Solaris OS 网络接口名称。但是,可以使用 ldm list -l 命令输出和 Oracle Solaris OS 的 /devices 下的条目的组合来获取此信息。

查找 Oracle Solaris 11 网络接口名称

在 Oracle Solaris 11 系统上,可以使用 ldm list-netdev 命令查找 Oracle Solaris OS 网络接口名称。有关更多信息,请参见 ldm(1M) 手册页。

以下示例显示 ldm list-netdevldm list -o network 命令。ldm list -o network 命令显示 NAME 字段中的虚拟网络设备。ldm list-netdev 输出显示 NAME 列中的对应 OS 接口名称。

primary# ldm list -o network ldg1
....
NETWORK
    NAME        SERVICE              ID DEVICE    MAC               MODE
    PVID VID MTU   MAXBW LINKPROP
    vnet0-ldg1  primary-vsw0@primary 0  network@0 00:14:4f:fa:eb:4e 1
             1500
    vnet1-ldg1  svcdom-vsw0@svcdom   1  network@1 00:14:4f:f8:53:45 4
             1500
           PVLAN :400,community

primary# ldm list-netdev ldg1
DOMAIN
ldg1

NAME CLASS MEDIA STATE   SPEED OVER  LOC
---- ----- ----- -----   ----- ----  ---
net0 VNET  ETHER up      0     vnet0 primary-vsw0/vnet0-ldg1
net1 VNET  ETHER up      0     vnet1 svcdom-vsw0/vnet1-ldg1
net2 VNET  ETHER unknown 0     vnet2 svcdom-vsw1/vnet2-ldg1

要验证 ldm list-netdev 输出是否正确,请从 ldg1 运行 dladm show-physdladm show-linkprop -p mac-address 命令:

ldg1# dladm show-phys
LINK     MEDIA     STATE      SPEED  DUPLEX         DEVICE
net0     Ethernet  up         0      unknown        vnet0
net1     Ethernet  up         0      unknown        vnet1
net2     Ethernet  unknown    0      unknown        vnet2

ldg1# dladm show-linkprop -p mac-address
LINK PROPERTY    PERM VALUE            EFFECTIVE        DEFAULT          POSSIBLE
net0 mac-address rw   0:14:4f:fa:eb:4e 0:14:4f:fa:eb:4e 0:14:4f:fa:eb:4e --
net1 mac-address rw   0:14:4f:f8:53:45 0:14:4f:f8:53:45 0:14:4f:f8:53:45 --

如何查找 Oracle Solaris OS 网络接口名称

此过程介绍如何在与 net-c 对应的 ldg1 中查找 Oracle Solaris OS 网络接口名称。此示例还显示了查找虚拟交换机而不是虚拟网络设备的网络接口名称的不同之处。在此示例过程中,来宾域 ldg1 包含两个虚拟网络设备:net-anet-c

  1. 使用 ldm 命令查找 net-c 的虚拟网络设备编号。
    primary# ldm list -l ldg1
    ...
    NETWORK
    NAME         SERVICE                     DEVICE       MAC
    net-a        primary-vsw0@primary        network@0    00:14:4f:f8:91:4f
    net-c        primary-vsw0@primary        network@2    00:14:4f:f8:dd:68
    ...

    net-c 的虚拟网络设备编号是 2 (network@2)。

    要确定虚拟交换机的网络接口名称,请查找虚拟交换机设备编号,nswitch@n 表示。

  2. 通过登录到 ldg1 并在 /devices 下查找此设备编号对应的条目来查找 ldg1 上的相应网络接口。
    ldg1# uname -n
    ldg1
    ldg1# find /devices/virtual-devices@100 -type c -name network@2\*
    /devices/virtual-devices@100/channel-devices@200/network@2:vnet1

    网络接口名称是冒号后面的条目部分,即 vnet1

    要确定虚拟交换机的网络接口名称,请将 –name 选项的参数替换为 virtual-network-switch@n\*。然后,查找具有名称 vswN 的网络接口。

  3. 验证 vnet1 是否具有 MAC 地址 00:14:4f:f8:dd:68,如步骤 1 中 net-cldm list -l 输出中所示。
    • Oracle Solaris 11 OS。
      1. 确定要为 vnet1 指定的接口的名称。
        ldg1# dladm show-phys |grep vnet1
        net2      Ethernet      up      0      unknown   vnet1
      2. 确定 net2 的 MAC 地址。
        # dladm show-linkprop -p mac-address net2
        LINK PROPERTY    PERM VALUE             EFFECTIVE         DEFAULT POSSIBLE
        net2 mac-address rw   00:14:4f:f8:dd:68 00:14:4f:f8:dd:68 --      --

        此示例 MAC 地址与步骤 1 中 net-cldm list -l 命令的输出匹配。

    • Oracle Solaris 10 OS。
      ldg1# ifconfig vnet1
      vnet1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
                inet 0.0.0.0 netmask 0
                ether 0:14:4f:f8:dd:68