10.4. ネットワークインターフェイスの参照
ネットワークインターフェイスの設定には、以下のパラメーターが含まれます。
interface
単一のネットワークインターフェイスを定義します。この設定では、実際のインターフェイス名 ("eth0"、"eth1"、"enp0s25") または番号によるインターフェイス ("nic1"、"nic2"、"nic3") を使用して各インターフェイスを定義します。
- type: interface name: nic2
オプション | デフォルト | 説明 |
---|---|---|
name | インターフェイス名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | インターフェイスに割り当てられる IP アドレスのリスト | |
routes | インターフェイスに割り当てられるルートのリスト。詳細は、routes を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
primary | False | プライマリーインターフェイスとしてインターフェイスを定義します。 |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | インターフェイスに使用する DNS サーバーのリスト |
ethtool_opts |
特定の NIC で VXLAN を使用する際にスループットを向上させるには、このオプションを |
vlan
VLAN を定義します。parameters
セクションから渡された VLAN ID およびサブネットを使用します。
以下に例を示します。
- type: vlan vlan_id:{get_param: ExternalNetworkVlanID} addresses: - ip_netmask: {get_param: ExternalIpSubnet}
オプション | デフォルト | 説明 |
---|---|---|
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: Maximum Transmission Unit) |
primary | False | プライマリーインターフェイスとして VLAN を定義します。 |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
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
オプション | デフォルト | 説明 |
---|---|---|
name | ボンディング名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ボンディングに割り当てられる IP アドレスのリスト | |
routes | ボンディングに割り当てられるルートのリスト。詳細は、routes を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
primary | False | プライマリーインターフェイスとしてインターフェイスを定義します。 |
members | ボンディングで使用するインターフェイスオブジェクトのリスト | |
ovs_options | ボンディング作成時に OVS に渡すオプションのセット | |
ovs_extra | ボンディングのネットワーク設定ファイルで OVS_EXTRA パラメーターとして設定するオプションのセット | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | ボンディングに使用する DNS サーバーのリスト |
ovs_bridge
Open vSwitch で、複数の interface
、ovs_bond
、vlan
オブジェクトを接続するブリッジを定義します。
ネットワークインターフェイス種別 ovs_bridge
には、パラメーター name
を使用します。
複数のブリッジがある場合は、デフォルト名の bridge_name
を受け入れるのではなく、個別のブリッジ名を使用する必要があります。個別の名前を使用しないと、コンバージフェーズ時に 2 つのネットワークボンディングが同じブリッジに配置されます。
外部の tripleo ネットワークに OVS ブリッジを定義している場合は、bridge_name
および interface_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 ブリッジは、Networking サービス (neutron) サーバーに接続して設定データを取得します。OpenStack の制御トラフィック (通常 Control Plane および Internal API ネットワーク) が OVS ブリッジに配置されていると、OVS がアップグレードされたり、管理ユーザーやプロセスによって OVS ブリッジが再起動されたりする度に、neutron サーバーへの接続が失われます。これにより、ダウンタイムが発生します。このような状況でダウンタイムが許容されない場合は、コントロールグループのネットワークを OVS ブリッジではなく別のインターフェイスまたはボンディングに配置する必要があります。
- Internal API ネットワークをプロビジョニングインターフェイス上の VLAN および 2 番目のインターフェイス上の OVS ブリッジに配置すると、最小の設定を行うことができます。
- ボンディングを実装する場合は、少なくとも 2 つのボンディング (4 つのネットワークインターフェイス) が必要です。コントロールグループを Linux ボンディング (Linux ブリッジ) に配置します。PXE ブート用のシングルインターフェイスへの LACP フォールバックをスイッチがサポートしていない場合には、このソリューションには少なくとも 5 つの NIC が必要となります。
オプション | デフォルト | 説明 |
---|---|---|
name | ブリッジ名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ブリッジに割り当てられる IP アドレスのリスト | |
routes | ブリッジに割り当てられるルートのリスト。詳細は、routes を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
members | ブリッジで使用するインターフェイス、VLAN、およびボンディングオブジェクトのリスト | |
ovs_options | ブリッジ作成時に OVS に渡すオプションのセット | |
ovs_extra | ブリッジのネットワーク設定ファイルで OVS_EXTRA パラメーターとして設定するオプションのセット | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
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
の MAC アドレスを使用するように、nic2
には primary: true
が設定される点に注意してください。
オプション | デフォルト | 説明 |
---|---|---|
name | ボンディング名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ボンディングに割り当てられる IP アドレスのリスト | |
routes | ボンディングに割り当てられるルートのリスト。routesを参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
primary | False | プライマリーインターフェイスとしてインターフェイスを定義します。 |
members | ボンディングで使用するインターフェイスオブジェクトのリスト | |
bonding_options | ボンディングを作成する際のオプションのセット | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
persist_mapping | False | システム名の代わりにデバイスのエイリアス設定を記述します。 |
dhclient_args | なし | DHCP クライアントに渡す引数 |
dns_servers | なし | ボンディングに使用する DNS サーバーのリスト |
linux_bridge
複数の interface
、linux_bond
、vlan
オブジェクトを接続する Linux ブリッジを定義します。外部のブリッジは、パラメーターに 2 つの特殊な値も使用します。
-
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}
オプション | デフォルト | 説明 |
---|---|---|
name | ブリッジ名 | |
use_dhcp | False | DHCP を使用して IP アドレスを取得します。 |
use_dhcpv6 | False | DHCP を使用して v6 の IP アドレスを取得します。 |
addresses | ブリッジに割り当てられる IP アドレスのリスト | |
routes | ブリッジに割り当てられるルートのリスト。詳細は、routes を参照してください。 | |
mtu | 1500 | 接続の最大伝送単位 (MTU: Maximum Transmission Unit) |
members | ブリッジで使用するインターフェイス、VLAN、およびボンディングオブジェクトのリスト | |
defroute | True |
DHCP サービスにより提供されるデフォルトのルートを使用します。 |
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 |
このルートをデフォルトルートに設定します。 |
next_hop | なし | 接続先ネットワークに到達するのに使用するルーターの IP アドレス |