JavaScript is required to for searching.
跳过导航链接
退出打印视图
在 Oracle Solaris 11.1 中使用虚拟网络     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris 中的网络虚拟化和资源管理

网络虚拟化概述

网络虚拟化组件

谁应实现虚拟网络?

用于配置虚拟化组件的命令

网络资源管理概述

资源控制的数据链路属性

通过使用流管理网络资源

用于网络资源管理的命令

2.  在 Oracle Solaris 中创建和管理虚拟网络

3.  在 Oracle Solaris 中管理网络资源

4.  监视 Oracle Solaris 中的网络通信和资源使用情况

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

网络虚拟化概述

网络虚拟化是将硬件网络资源和软件网络资源组合为单一管理单元的过程。网络虚拟化的目标是为系统和用户提供高效、受控和安全的网络资源共享。

网络虚拟化的最终产品是虚拟网络。虚拟网络可分为两大类:外部和内部。外部虚拟网络包含作为单个实体由软件进行管理的几个本地网络。传统外部虚拟网络的基本组件是交换机硬件和虚拟局域网 (virtual local area network, VLAN) 软件技术。外部虚拟网络的示例包括大型企业网络和数据中心。

本书侧重于内部虚拟网络。内部虚拟网络由一个系统组成,该系统使用的虚拟机或区域的网络接口至少配置在一个物理 NIC 上。这些网络接口称为虚拟网络接口卡或虚拟 NIC (Virtual Network Interface Card, VNIC)。这些容器可以相互通信,就像是在同一个本地网络上一样,实际上在一个主机上形成虚拟网络。

一种特殊类型的内部虚拟网络是专用虚拟网络。专用虚拟网络和虚拟专用网络 (virtual private networks, VPN) 不同。VPN 软件会在两个端点系统之间创建一个安全的点对点链路。专用虚拟网络是一个系统中不能通过外部系统访问的虚拟网络。该内部网络与其他外部系统的隔离是通过在 etherstub 上配置 VNIC 来实现的。Etherstub 将会在以下章节中介绍。

您可以组合网络资源以配置内部和外部虚拟网络。例如,您可以将使用内部虚拟网络的各个系统配置到 LAN 上,这些 LAN 是一个大型外部虚拟网络一部分。

网络虚拟化组件

以下是 Oracle Solaris 中用于网络虚拟化的基本组件:

VNIC 是和物理 NIC 有相同数据链路接口的虚拟网络设备。可在底层数据链路上配置 VNIC。当配置 VNIC 后,它们的行为与物理 NIC 一样。此外,系统的资源将 VNIC 视为物理 NIC。VNIC 有自动生成的 MAC 地址。根据使用的网络接口,您可以为 VNIC 显式指定不同于此缺省地址的 MAC 地址,如 dladm(1M) 手册页中所述。

有关支持 VNIC 的物理接口的当前列表,请参阅 Network Virtualization and Resource Control FAQ(网络虚拟化和资源控制的常见问题解答)。

创建 VNIC 时,将会自动创建虚拟交换机。按照以太网设计,如果一个交换机端口接收从连接到该端口的主机传出的数据包,该数据包无法到达同一端口上的目标。对于使用虚拟网络配置的系统来说,这种设计是一个缺点,因为虚拟网络共享同一个 NIC。传出数据包会穿过交换机端口到达外部网络。因为包不能通过发送它的端口返回,所以传入包不能到达其目标区域。虚拟交换机为这些区域提供了传递包的方法。虚拟交换机为虚拟网络打开了一个相互通信的数据路径。

Etherstub 是伪以太网 NIC。您可以在 etherstub 上(而不是在物理链路上)创建 VNIC。Etherstub 上的 VNIC 独立于系统上的物理 NIC。使用 etherstub,您可以构建同时与系统上的其他虚拟网络和外部网络隔离的专用虚拟网络。例如,如果您要创建一个仅供公司开发人员(而不是整个网络)访问的网络环境,etherstub 可以用来创建这样一个环境。

Etherstub 和 VNIC 只是 Oracle Solaris 的虚拟化功能的一部分。通常将这些组件与 Oracle Solaris 区域结合使用。通过指定 VNIC 或 etherstub 供区域使用,您可以在单个系统内创建一个网络。有关区域的信息,请参见《Oracle Solaris 11.1 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》

通过组合使用这些组件并将其部署在区域中,您可以得到一个由与下图类似的网络所构成的系统。

图 1-1 单一接口的 VNIC 配置

image:下文对此图进行说明。

图 1-1 显示了具有一个 NIC 的单个系统。该 NIC 配置了三个 VNIC。每个 VNIC 支持一个区域。区域 1、区域 2 和区域 3 构成该单个系统中的虚拟网络。区域使用各自的 VNIC 相互通信以及与外部网络通信。三个 VNIC 通过虚拟交换机连接到底层物理 NIC。虚拟交换机的作用相当于外部交换机为连接到交换机端口的系统所提供的连接。

配置虚拟网络后,区域将通信发送到外部主机的方式与没有虚拟网络的系统相同。通信从区域经由 VNIC 到达虚拟交换机,然后到达物理接口,由物理接口将数据发送到网络。

还能在系统中的区域之间交换通信。例如,包从区域 1 传递到其专用 VNIC 1。然后,通信经过虚拟交换机到达 VNIC 3。VNIC 3 再将通信传递到区域 3。该通信从未离开过系统,因此永远不会违反以太网限制。

您也可以创建一个基于 etherstub 的虚拟网络。Etherstub 完全基于软件,不需要有网络接口作为虚拟网络的基础。

谁应实现虚拟网络?

如果您需要整合 Oracle 的 Sun 服务器上的资源,可以考虑实施 VNIC 和虚拟网络。ISP、电讯公司和大型金融机构的整合人员可以使用以下网络虚拟化功能提高其服务器和网络性能。

您可以用包含多个区域或虚拟机的单个系统取代多个系统,而不会明显损失隔离性、安全性和灵活性。

有关网络虚拟化优点的演示,请参见Consolidating the Data Center With Network Virtualization(使用网络虚拟化合并数据中心)。

用于配置虚拟化组件的命令

要创建 VNIC,请使用 dladm create-vnic 命令。

# dladm create-vnic -l link [-v vid] vnic
-l link

指在其上配置 VNIC 的数据链路的名称。

-v vid

指 VNIC 的 VLAN ID(如果要将 VNIC 创建为 VLAN)。此选项不是必需选项。要配置具有 VLAN ID 的 VNIC,请参见如何配置带有 VLAN ID 的 VNIC。有关 VLAN 的更多信息,请参见《管理 Oracle Solaris 11.1 网络性能》中的第 3  章 "使用 VLAN"

vnic

指 VNIC 的名称。


注 - 您可以为 VNIC 配置其他属性,例如 MAC 地址、与 VNIC 关联的 CPU 等等。有关包含这些属性的列表,请参阅dladm(1M) 手册页。某些属性修改只适用于 VNIC。例如,通过 dladm create-vnic 命令,您可以配置一个 MAC 地址并指定 VLAN ID 以将 VNIC 创建为 VLAN。不过,您不能使用 dladm create-vlan 命令直接为 VLAN 配置 MAC 地址。


一次只能在一个数据链路上创建一个 VNIC。作为数据链路,VNIC 具有您可以按需进一步配置的链路属性。资源控制的数据链路属性列出了部分用于管理系统中的网络资源使用的属性。

要创建 etherstub,请使用 dladm create-ether 命令。

# dladm create-ether etherstub

创建 VNIC 或 etherstub 只是配置虚拟网络的预备步骤。要使用这些组件在系统上创建虚拟网络,请参见第 2 章