10.4. 网络接口参考

网络接口配置包含以下参数:

interface

定义一个网络接口。配置使用实际接口名称("eth0", "eth1", "enp0s25")或一组数字接口 ("nic1", "nic2", "nic3") 定义各个接口:

  - type: interface
    name: nic2

表 10.1. 接口选项

选项默认描述

name

 

接口的名称。

use_dhcp

False

使用 DHCP 获取 IP 地址。

use_dhcpv6

False

使用 DHCP 获取 v6 IP 地址。

addresses

 

分配给接口的 IP 地址列表。

Routes

 

分配给接口的路由列表。更多信息请参阅 Routes

mtu

1500

连接的最大传输单元(MTU)。

primary

False

将接口定义为主接口。

defroute

True

使用 DHCP 服务提供的默认路由。只有在启用 use_dhcpuse_dhcpv6 时才适用。

persist_mapping

False

编写设备别名配置而不是系统名称。

dhclient_args

要传递给 DHCP 客户端的参数。

dns_servers

要用于接口的 DNS 服务器列表。

ethtool_opts

 

将这个选项设置为 "rx-flow-hash udp4 sdfn",以便在特定 NIC 上使用 VXLAN 时提高吞吐量。

vlan

定义 VLAN。使用从 parameters 部分传递的 VLAN ID 和子网。

例如:

  - type: vlan
    vlan_id:{get_param: ExternalNetworkVlanID}
    addresses:
      - ip_netmask: {get_param: ExternalIpSubnet}

表 10.2. VLAN 选项

选项默认描述

vlan_id

 

VLAN ID。

device

 

附加 VLAN 的父设备。当 VLAN 不是 OVS 网桥的成员时,请使用此参数。例如,使用此参数将 VLAN 附加到绑定接口设备。

use_dhcp

False

使用 DHCP 获取 IP 地址。

use_dhcpv6

False

使用 DHCP 获取 v6 IP 地址。

addresses

 

分配给 VLAN 的 IP 地址列表。

Routes

 

分配给 VLAN 的路由列表。更多信息请参阅 Routes

mtu

1500

连接的最大传输单元(MTU)。

primary

False

定义 VLAN 作为主接口。

defroute

True

使用 DHCP 服务提供的默认路由。只有在启用 use_dhcpuse_dhcpv6 时才适用。

persist_mapping

False

编写设备别名配置而不是系统名称。

dhclient_args

要传递给 DHCP 客户端的参数。

dns_servers

要用于 VLAN 的 DNS 服务器列表。

ovs_bond

在 Open vSwitch 中定义绑定,将两个或多个 接口 接合在一起。这有助于实现冗余性并增加带宽。

例如:

          - type: ovs_bond
            name: bond1
            members:
            - type: interface
              name: nic2
            - type: interface
              name: nic3

表 10.3. ovs_bond options

选项默认描述

name

 

绑定的名称。

use_dhcp

False

使用 DHCP 获取 IP 地址。

use_dhcpv6

False

使用 DHCP 获取 v6 IP 地址。

addresses

 

分配给绑定的 IP 地址列表。

Routes

 

分配给绑定的路由列表。更多信息请参阅 Routes

mtu

1500

连接的最大传输单元(MTU)。

primary

False

将接口定义为主接口。

成员

 

要在绑定中使用的一系列接口对象。

ovs_options

 

创建绑定时传递给 OVS 的一组选项。

ovs_extra

 

在绑定的网络配置文件中设置为 OVS_EXTRA 参数的一组选项。

defroute

True

使用 DHCP 服务提供的默认路由。只有在启用 use_dhcpuse_dhcpv6 时才适用。

persist_mapping

False

编写设备别名配置而不是系统名称。

dhclient_args

要传递给 DHCP 客户端的参数。

dns_servers

要用于绑定的 DNS 服务器列表。

ovs_bridge

在 Open vSwitch 中定义一个网桥,将多个 interface, ovs_bond, 和 vlan 对象连接在一起。

网络接口类型 ovs_bridge 使用 参数名称

注意

如果您有多个网桥,则必须使用除接受 bridge_name 的默认名称以外的不同网桥名称。如果您不使用不同的名称,那么在聚合阶段,则会将两个网络绑定放在同一网桥上。

如果您要为外部 tripleo 网络定义 OVS 网桥,则分别保留 bridge_nameinterface_name 值,作为部署框架,则分别将这些值替换为外部网桥名称和外部接口名称。

例如:

      - type: ovs_bridge
        name: bridge_name
        addresses:
        - ip_netmask:
            list_join:
            - /
            - - {get_param: ControlPlaneIp}
              - {get_param: ControlPlaneSubnetCidr}
        members:
          - type: interface
            name: interface_name
      - type: vlan
        device: bridge_name
        vlan_id:
          {get_param: ExternalNetworkVlanID}
        addresses:
          - ip_netmask:
              {get_param: ExternalIpSubnet}
注意

OVS 网桥连接到网络服务(neutron)服务器,以获取配置数据。如果 OpenStack 控制流量(通常是 Control Plane 和 Internal API 网络)放置在 OVS 网桥上,那么当您升级 OVS 时,与 neutron 服务器的连接都会丢失,或者 OVS 网桥由 admin 用户或进程重启。这会导致一些停机时间。如果在这些情况下无法接受停机时间,您必须将控制组网络放在单独的接口或绑定中,而不是在 OVS 网桥上:

  • 当您将内部 API 网络放在调配接口上的 VLAN 和 OVS 网桥到第二个接口上时,您可以达到最小的设置。
  • 要实现绑定,您需要至少有两个绑定(四个网络接口)。将控制组放在 Linux 绑定(Linux 网桥)上。如果交换机不支持 LACP 回退到单一接口进行 PXE 引导,那么这个解决方案至少需要 5 个 NIC。

表 10.4. ovs_bridge options

选项默认描述

name

 

网桥的名称。

use_dhcp

False

使用 DHCP 获取 IP 地址。

use_dhcpv6

False

使用 DHCP 获取 v6 IP 地址。

addresses

 

分配给网桥的 IP 地址列表。

Routes

 

分配给网桥的路由列表。更多信息请参阅 Routes

mtu

1500

连接的最大传输单元(MTU)。

成员

 

要在网桥中使用的一系列接口、VLAN 和绑定对象。

ovs_options

 

创建网桥时传递给 OVS 的一组选项。

ovs_extra

 

在网桥的网络配置文件中,设置为 OVS_EXTRA 参数的一组选项。

defroute

True

使用 DHCP 服务提供的默认路由。只有在启用 use_dhcpuse_dhcpv6 时才适用。

persist_mapping

False

编写设备别名配置而不是系统名称。

dhclient_args

要传递给 DHCP 客户端的参数。

dns_servers

用于网桥的 DNS 服务器列表。

linux_bond

定义将两个或者多个 接口 接合在一起的 Linux 绑定。这有助于实现冗余性并增加带宽。确保您在 bonding_options 参数中包含基于内核的绑定选项。

例如:

      - type: linux_bond
        name: bond1
        members:
        - type: interface
          name: nic2
          primary: true
        - type: interface
          name: nic3
        bonding_options: "mode=802.3ad"

请注意,nic2 使用 primary: true 来确保绑定使用 nic2 的 MAC 地址。

表 10.5. linux_bond options

选项默认描述

name

 

绑定的名称。

use_dhcp

False

使用 DHCP 获取 IP 地址。

use_dhcpv6

False

使用 DHCP 获取 v6 IP 地址。

addresses

 

分配给绑定的 IP 地址列表。

Routes

 

分配给绑定的路由列表。请参阅 Routes

mtu

1500

连接的最大传输单元(MTU)。

primary

False

将接口定义为主接口。

成员

 

要在绑定中使用的一系列接口对象。

bonding_options

 

创建绑定时的一组选项。

defroute

True

使用 DHCP 服务提供的默认路由。只有在启用 use_dhcpuse_dhcpv6 时才适用。

persist_mapping

False

编写设备别名配置而不是系统名称。

dhclient_args

要传递给 DHCP 客户端的参数。

dns_servers

要用于绑定的 DNS 服务器列表。

linux_bridge

定义一个 Linux 网桥,它将多个 interface, linux_bond, 和 vlan 对象连接在一起。外部网桥也对参数使用两个特殊值:

  • bridge_name,它替换为外部网桥名称。
  • interface_name,它替换为外部接口。

例如:

      - type: linux_bridge
        name: bridge_name
        addresses:
          - ip_netmask:
              list_join:
                - /
                - - {get_param: ControlPlaneIp}
                  - {get_param: ControlPlaneSubnetCidr}
        members:
          - type: interface
            name: interface_name
      - type: vlan
        device: bridge_name
        vlan_id:
          {get_param: ExternalNetworkVlanID}
        addresses:
          - ip_netmask:
              {get_param: ExternalIpSubnet}

表 10.6. linux_bridge options

选项默认描述

name

 

网桥的名称。

use_dhcp

False

使用 DHCP 获取 IP 地址。

use_dhcpv6

False

使用 DHCP 获取 v6 IP 地址。

addresses

 

分配给网桥的 IP 地址列表。

Routes

 

分配给网桥的路由列表。更多信息请参阅 Routes

mtu

1500

连接的最大传输单元(MTU)。

成员

 

要在网桥中使用的一系列接口、VLAN 和绑定对象。

defroute

True

使用 DHCP 服务提供的默认路由。只有在启用 use_dhcpuse_dhcpv6 时才适用。

persist_mapping

False

编写设备别名配置而不是系统名称。

dhclient_args

要传递给 DHCP 客户端的参数。

dns_servers

用于网桥的 DNS 服务器列表。

Routes

定义应用到网络接口、VLAN、网桥或绑定的路由列表。

例如:

  - type: interface
    name: nic2
    ...
    routes:
      - ip_netmask: 10.1.2.0/24
        gateway_ip: 10.1.2.1
选项默认描述

ip_netmask

目标网络的 IP 和子网掩码。

default

False

将此路由设置为默认路由。等同于设置 ip_netmask: 0.0.0.0/0

next_hop

用于访问目的地网络的路由器的 IP 地址。