跳过导航链接 | |
退出打印视图 | |
在 Oracle Solaris 11.1 中使用虚拟网络 Oracle Solaris 11.1 Information Library (简体中文) |
在 Oracle Solaris 11 中,可以通过管理网络资源来更轻松且动态地实现服务质量 (quality of service, QoS)。网络资源管理包括设置与网络资源相关的数据链路属性。通过设置这些属性,您可以确定给定资源在多大程度上可用于网络处理。例如,一个链路可以与特定数量的专门为网络处理保留的 CPU 相关联。也可以为一个链路指定给定带宽来处理特定类型的网络通信。
定义资源属性后,新值将立即生效。此方法使资源管理更加灵活。您可以在创建链路时设置资源属性。也可以稍后设置这些属性,例如:在了解资源使用情况一段时间并确定如何更好地分配资源之后再设置这些属性。资源分配过程既适用于虚拟网络环境,也适用于传统的物理网络。例如,使用 dladm set-linkprop 命令可设置与网络资源相关的属性。物理和虚拟数据链路使用相同的语法。
网络资源管理相当于为通信创建专用通道。当您组合不同的资源以满足特定类型的网络数据包时,这些资源就形成一个用于这些数据包的网络通道。可以为每个网络通道以不同的方式指定资源。例如,您可以为网络通信流量最大的通道分配更多资源。通过配置根据实际需要分配资源的网络通道,可以提高系统处理数据包的效率。有关网络通道的更多信息,请参见网络通信流概述。
网络资源管理有助于完成以下任务:
您可以对单个系统上的数据通信进行隔离、设置优先级、跟踪和控制,而无需使用复杂的 QoS 规则定义。
流是为了进一步控制如何使用资源来处理数据包而对这些数据包进行分类的定制方式。网络数据包可以根据属性分类。共享同一属性的数据包构成一个流并标有特定的流名称。然后可以为流指定特定的资源。
用作创建流的基础的属性是从包头信息派生的。您可以根据以下属性之一将包通信划分为流:
IP 地址
应用程序端口号(例如,用于 FTP 的端口 21)
DS 字段属性,仅用于 IPv6 包中的 QoS。有关 DS 字段的更多信息,请参阅《在 Oracle Solaris 11.1 中管理 IP 服务质量》。
流只能基于列表中的属性之一。例如,您可以根据正在使用的端口(如用于 FTP 的端口 21)或者根据 IP 地址(如来自特定源 IP 地址的数据包)创建一个流。但是,您无法为在端口 21 上接收到的来自指定 IP 地址的包创建一个流。同样,您不能为来自 IP 地址 192.168.1.10 的所有通信创建一个流,然后为 192.168.1.10 上的传输层通信创建一个流。因此,您可以在一个系统上配置多个流,其中每个流基于不同的属性。
用来分配网络资源的命令会根据您是直接操作数据链路还是操作流而有所不同。
对于数据链路,要根据是在创建链路的同时设置属性还是设置现有链路的属性,使用适当的 dladm 子命令。要创建一个链路并同时将资源分配给它,请使用以下语法:
# dladm create-vnic -l link -p property=value[,property=value] vnic
其中 link 可以是物理链路或虚拟链路。
# dladm set-linkprop -p property=value[,property=value] link
以下是您可以为资源分配设置的链路属性:
NIC 环-如果 NIC 支持环分配,可将其传送和接收环指定为专供数据链路使用。NIC 环将在使用客户机、传送环和接收环中介绍。
CPU 池-CPU 池通常是使用特定区域创建的并与之相关联。这些池可以指定给数据链路以保留 CPU 集,以便管理其相关联的区域的网络处理。CPU 和池将在使用池和 CPU中介绍。
对于流,您可以使用 flowadm 子命令。管理流上资源的方法与管理数据链路上资源的方法类似。要创建一个流并向其添加资源,请使用以下语法:
# flowadm add-flow -l link -a attribute=value[,attribute=value] \ -p property=value[,property=value] flow
表明流特征的已定义属性集构成系统的流控制策略。
# flowadm set-flowprop -p property=value[,property=value] flow
可以指定给流的资源分配属性与直接指定给链路的属性相同。不过,目前只有带宽属性可以与流相关联。虽然用于设置属性的命令对于数据链路和流是不同的,但语法类似。要配置带宽属性,请参见如何配置流中的示例
有关 flowadm 命令的更多详细信息,请参阅 flowadm(1M) 手册页。要获取与 flowadm 命令一起使用的子命令的列表,请键入以下内容:
# flowadm help The following subcommands are supported: Flow : add-flow remove-flow reset-flowprop set-flowprop show-flow show-flowprop For more info, run: flowadm help <subcommand>.