第8章 OpenStack Networking の物理スイッチの設定

本章では、OpenStack Networking に必要な一般的な物理スイッチの設定手順を説明します。以下のスイッチに関するベンダー固有の設定を記載しています。

8.1. 物理ネットワーク環境のプランニング

OpenStack ノード内の物理ネットワークアダプターは、異なる種別のネットワークトラフィックを伝送することが想定される場合があります。これには、インスタンストラフィック、ストレージデータ、認証要求が含まれます。NIC が伝送するトラフィックの種別によって、物理スイッチ上でのポートの設定方法が異なります。

最初のステップでは、コンピュートノード上の物理 NIC で伝送するトラフィックの種別を決定する必要があります。次に、NIC が物理スイッチポートに接続されると、そのスイッチポートはトラックトラフィックまたは一般のトラフィックを許可するように特別に設定する必要があります。

たとえば、以下の図は、eth0 と eth1 の 2 つの NIC を搭載したコンピュートノードを示しています。各 NIC は、物理スイッチ上のギガビットイーサネットポートに接続され、eth0 がインスタンストラフィックを伝送し、eth1 が OpenStack サービスの接続性を提供します。

ネットワークレイアウト例

switch example

注記

この図には、耐障害性に必要な追加の冗長 NIC は含まれていません。

8.2. Cisco Catalyst スイッチの設定

8.2.1. トランクポートの設定

OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができます。トランク という用語は、単一のポートで複数の VLAN が通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチを橋渡しすることができます。たとえば、物理ネットワークで VLAN110 としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN にダイレクトされます。

8.2.1.1. Cisco Catalyst スイッチのトランクポートの設定

Cisco IOS を実行する Cisco Catalyst スイッチを使用する場合には、以下の設定構文を使用して、VLAN 110 と 111 のトラフィックがインスタンスに到達できるよう設定することが可能です。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース GigabitEthernet1/0/12 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

interface GigabitEthernet1/0/12
  description Trunk to Compute Node
  spanning-tree portfast trunk
  switchport trunk encapsulation dot1q
  switchport mode trunk
  switchport trunk native vlan 2
  switchport trunk allowed vlan 2,110,111

これらの設定についての説明を以下に記載します。

フィールド説明

interface GigabitEthernet1/0/12

ノードの NIC が結線されるスイッチポートです。これは単なる一例なので、最初に正しいポートをここで設定するように確認することが重要です。show interface コマンドでポートの一覧を表示することができます。

description Trunk to Compute Node

show interface コマンドを使用して全インターフェースを一覧表示する際に表示される説明。どのシステムがこのポートに結線されていて、その接続の目的とする機能がわかるのに十分な説明である必要があります。

spanning-tree portfast trunk

環境で STP を使用することを前提として、Port Fast に対してこのポートがトランクトラフィックに使用されることを伝えます。

switchport trunk encapsulation dot1q

802.1q のトランク標準 (ISL ではなく) を有効化します。これは、スイッチが何をサポートするかによって異なります。

switchport mode trunk

このポートは、アクセスポートではなく、トランクポートとして設定します。これで VLAN トラフィックが仮想スイッチに到達できるようになります。

switchport trunk native vlan 2

ネイティブ VLAN を設定して、タグの付いていない (VLAN 以外の) トラフィックの送信先をスイッチに指示します。

switchport trunk allowed vlan 2,110,111

トランクを通過できる VLAN を定義します。

8.2.2. アクセスポートの設定

コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートはアクセスポートとして一般的に知られており、必要な設定は通常、トランクポートよりも簡単です。

8.2.2.1. Cisco Catalyst スイッチのアクセスポートの設定

ネットワークレイアウト例」の図に示した例を使用して、GigabitEthernet1/0/13 (Cisco Catalyst スイッチ上) を eth1 のアクセスポイントとして設定します。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース GigabitEthernet1/0/12 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

interface GigabitEthernet1/0/13
 description Access port for Compute Node
 switchport mode access
 switchport access vlan 200
 spanning-tree portfast

これらの設定についての説明を以下に記載します。

フィールド説明

interface GigabitEthernet1/0/13

ノードの NIC が結線されるスイッチポートです。インターフェースの値は単なる一例なので、最初に正しいポートをここで設定するように確認することが重要です。ポートの一覧を表示するには、show interface コマンドを使用できます。

description Access port for Compute Node

show interface コマンドを使用して全インターフェースを一覧表示する際に表示される説明。どのシステムがこのポートに結線されていて、その接続の目的とする機能がわかるのに十分な説明である必要があります。

switchport mode access

このポートは、トランクポートとしてではなく、アクセスポートとして設定します。

switchport access vlan 200

VLAN 200 上でトラフィックを許可するポートを設定します。コンピュートノードには、この VLAN からの IP アドレスを設定すべきです。

spanning-tree portfast

STP を使用する場合には、この設定は、STP がこのポートをトランクとして初期化を試みないように指示して、初回接続時 (例: サーバーの再起動時など) のポートハンドシェイクをより迅速に行うことができます。

8.2.3. LACP ポートアグリゲーションの設定

LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は、802.3ad (または、Linux ではボンディングモード 4 ) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。

8.2.3.1. 物理 NIC 上での LACP の設定

1. /home/stack/network-environment.yaml ファイルを編集します。

- type: linux_bond
  name: bond1
  mtu: 9000
  bonding_options:{get_param: BondInterfaceOvsOptions};
  members:
    - type: interface
      name: nic3
      mtu: 9000
      primary: true
    - type: interface
      name: nic4
      mtu: 9000

2. Open vSwitch ブリッジが LACP を使用するように設定します。

BondInterfaceOvsOptions:
    "mode=802.3ad"

ネットワークボンディングの設定方法についての説明は、『オーバークラウドの高度なカスタマイズ』を参照してください。

8.2.3.2. Cisco Catalyst スイッチ上での LACP の設定

以下の例では、コンピュートノードに VLAN 100 を使用する NIC が 2 つあります。

1. コンピュートノードの 2 つの NIC をスイッチ (例: ポート 12 と 13) に物理的に接続します。

2. LACP ポートチャネルを作成します。

interface port-channel1
  switchport access vlan 100
  switchport mode access
  spanning-tree guard root

3. スイッチポート 12 (Gi1/0/12) および 13 (Gi1/0/13) を設定します。

sw01# config t
Enter configuration commands, one per line.  End with CNTL/Z.

sw01(config) interface GigabitEthernet1/0/12
   switchport access vlan 100
   switchport mode access
   speed 1000
   duplex full
   channel-group 10 mode active
   channel-protocol lacp

interface GigabitEthernet1/0/13
  switchport access vlan 100
  switchport mode access
  speed 1000
  duplex full
  channel-group 10 mode active
  channel-protocol lacp

4. 新しいポートチャネルを確認します。出力には、新規ポートチャネル Po1 と、メンバーポートの Gi1/0/12 および Gi1/0/13 が表示されます。

sw01# show etherchannel summary
<snip>

Number of channel-groups in use: 1
Number of aggregators:           1

Group  Port-channel  Protocol    Ports
------+-------------+-----------+-----------------------------------------------
1      Po1(SD)         LACP      Gi1/0/12(D)  Gi1/0/13(D)
注記

copy running-config startup-config」のコマンドを実行して、running-config を startup-config にコピーして、変更を適用することを忘れないようにしてください。

8.2.4. MTU の設定

特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。

注記

MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「9章MTU の設定」を参照してください。

8.2.4.1. Cisco Catalyst スイッチ上での MTU の設定

以下の例では、Cisco Catalyst 3750 スイッチでジャンボフレームを有効にします。

1. 現在の MTU 設定を確認します。

sw01# show system mtu

System MTU size is 1600 bytes
System Jumbo MTU size is 1600 bytes
System Alternate MTU size is 1600 bytes
Routing MTU size is 1600 bytes

2. 3750 のスイッチでは、MTU 設定はインターフェースごとではなく、スイッチ全体で変更されます。以下のコマンドは、スイッチが 9000 バイトのジャンボフレームを使用するように設定します。お使いのスイッチがサポートしている場合には、インターフェースごとに MTU を設定した方がよいかもしれません。

sw01# config t
Enter configuration commands, one per line.  End with CNTL/Z.

sw01(config)# system mtu jumbo 9000
Changes to the system jumbo MTU will not take effect until the next reload is done
注記

copy running-config startup-config」のコマンドを実行して、running-config を startup-config にコピーして、変更を保存することを忘れないようにしてください。

3. 可能な場合には、スイッチを再読み込みして変更を適用してください。この操作を実行すると、そのスイッチに依存しているデバイスでネットワークが停止することになります。

sw01# reload
Proceed with reload? [confirm]

4. スイッチが再読み込みの操作を完了したら、新しいジャンボ MTU のサイズを確認します。スイッチのモデルによって実際の出力は異なる場合があります。たとえば、System MTU がギガビット非対応のインターフェースに適用され、Jumbo MTU は全ギガビット対応インターフェースを記述する可能性があります。

sw01# show system mtu

System MTU size is 1600 bytes
System Jumbo MTU size is 9000 bytes
System Alternate MTU size is 1600 bytes
Routing MTU size is 1600 bytes

8.2.5. LLDP ディスカバリーの設定

ironic-python-agent サービスは、接続されたスイッチから LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション プロセス中の物理ハードウェアの検出を補助します。

8.2.5.1. Cisco Catalyst スイッチ上での LLDP の設定

1. lldp runを使用して、Cisco Catalyst スイッチで LLDP をグローバルに有効にします。

sw01# config t
Enter configuration commands, one per line.  End with CNTL/Z.

sw01(config)# lldp run

2. 隣接する LLDP 対応デバイスを表示します。

sw01# show lldp neighbor
Capability codes:
    (R) Router, (B) Bridge, (T) Telephone, (C) DOCSIS Cable Device
    (W) WLAN Access Point, (P) Repeater, (S) Station, (O) Other

Device ID           Local Intf     Hold-time  Capability      Port ID
DEP42037061562G3     Gi1/0/11       180        B,T             422037061562G3:P1

Total entries displayed: 1
注記

copy running-config startup-config」のコマンドを実行して、running-config を startup-config にコピーして、変更を保存することを忘れないようにしてください。

8.3. Cisco Nexus スイッチの設定

8.3.1. トランクポートの設定

OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができます。トランク という用語は、単一のポートで複数の VLAN が通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチを橋渡しすることができます。たとえば、物理ネットワークで VLAN110 としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN にダイレクトされます。

8.3.1.1. Cisco Nexus スイッチのトランクポートの設定

Cisco Nexus を使用する場合には、以下の設定構文を使用して、VLAN 110 と 111 のトラフィックがインスタンスに到達できるように設定することが可能です。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース Ethernet1/12 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

interface Ethernet1/12
  description Trunk to Compute Node
  switchport mode trunk
  switchport trunk allowed vlan 2,110,111
  switchport trunk native vlan 2
end

8.3.2. アクセスポートの設定

コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートはアクセスポートとして一般的に知られており、必要な設定は通常、トランクポートよりも簡単です。

8.3.2.1. Cisco Nexus スイッチのアクセスポートの設定

ネットワークレイアウト例」の図に示した例を使用して、Ethernet1/13 (Cisco Nexus スイッチ上) を eth1 のアクセスポイントとして設定します。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース Ethernet1/13 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

interface Ethernet1/13
 description Access port for Compute Node
 switchport mode access
 switchport access vlan 200

8.3.3. LACP ポートアグリゲーションの設定

LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は、802.3ad (または、Linux ではボンディングモード 4 ) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。

8.3.3.1. 物理 NIC 上での LACP の設定

1. /home/stack/network-environment.yaml ファイルを編集します。

- type: linux_bond
  name: bond1
  mtu: 9000
  bonding_options:{get_param: BondInterfaceOvsOptions};
  members:
    - type: interface
      name: nic3
      mtu: 9000
      primary: true
    - type: interface
      name: nic4
      mtu: 9000

2. Open vSwitch ブリッジが LACP を使用するように設定します。

BondInterfaceOvsOptions:
    "mode=802.3ad"

ネットワークボンディングの設定方法についての説明は、『オーバークラウドの高度なカスタマイズ』を参照してください。

8.3.3.2. Cisco Nexus スイッチ上での LACP の設定

以下の例では、コンピュートノードに VLAN 100 を使用する NIC が 2 つあります。

1. コンピュートノードの 2 つの NIC をスイッチ (例: ポート 12 と 13) に物理的に接続します。

2. LACP が有効化されているかどうかを確認します。

(config)# show feature | include lacp
lacp                  1         enabled

3. ポート 1/12 と 1/13 をアクセスポートおよびチャネルグループのメンバーとして設定します。デプロイメントによっては、アクセスインターフェースの代わりにトランクインターフェースを使用するようにデプロイすることができます。たとえば、Cisco UCI の場合には、NIC は仮想インターフェースなので、全アクセスポートを設定した方がよいでしょう。また、インターフェースで VLAN タグ付けが設定されている可能性が高くなります。

interface Ethernet1/13
 description Access port for Compute Node
 switchport mode access
 switchport access vlan 200
 channel-group 10 mode active

interface Ethernet1/13
 description Access port for Compute Node
 switchport mode access
 switchport access vlan 200
 channel-group 10 mode active

8.3.4. MTU の設定

特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。

注記

MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「9章MTU の設定」を参照してください。

8.3.4.1. Cisco Nexus 7000 スイッチ上での MTU の設定

MTU の設定は、7000 シリーズのスイッチ上の単一のインターフェースに適用することができます。以下のコマンドは、インターフェース 1/12 が 9000 バイトのジャンボフレームを使用するように設定します。

interface ethernet 1/12
  mtu 9216
  exit

8.3.5. LLDP ディスカバリーの設定

ironic-python-agent サービスは、接続されたスイッチから LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション プロセス中の物理ハードウェアの検出を補助します。

8.3.5.1. Cisco Nexus 7000 スイッチ上での LLDP の設定

LLDP は、Cisco Nexus 7000 シリーズスイッチ上の個別のインターフェースに対して有効化することができます。

interface ethernet 1/12
  lldp transmit
  lldp receive
  no lacp suspend-individual
  no lacp graceful-convergence

interface ethernet 1/13
  lldp transmit
  lldp receive
  no lacp suspend-individual
  no lacp graceful-convergence
注記

copy running-config startup-config」のコマンドを実行して、running-config を startup-config にコピーして、変更を保存することを忘れないようにしてください。

8.4. Cumulus Linux スイッチの設定

8.4.1. トランクポートの設定

OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができます。トランク という用語は、単一のポートで複数の VLAN が通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチを橋渡しすることができます。たとえば、物理ネットワークで VLAN110 としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN にダイレクトされます。

8.4.1.1. Cumulus Linux スイッチのトランクポートの設定

Cumulus Linux スイッチを使用する場合には、以下のような設定構文を使用して、VLAN 100 と 200 のトラフィックがインスタンスに到達できるように設定することが可能です。この設定は、物理ノードでトランシーバーが物理スイッチ上のスイッチポート swp1 および swp2 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

auto bridge
iface bridge
  bridge-vlan-aware yes
  bridge-ports glob swp1-2
  bridge-vids 100 200

8.4.2. アクセスポートの設定

コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートはアクセスポートとして一般的に知られており、必要な設定は通常、トランクポートよりも簡単です。

8.4.2.1. Cumulus Linux スイッチのアクセスポートの設定

ネットワークレイアウト例」の図に示した例を使用して、swp1 (Cumulus Linux スイッチ上) をアクセスポートとして設定します。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェースに接続されていることを前提としています。Cumulus Linux スイッチは、管理インターフェースに eth を、アクセス/トランクポートに swp を使用します。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

auto bridge
iface bridge
  bridge-vlan-aware yes
  bridge-ports glob swp1-2
  bridge-vids 100 200


auto swp1
iface swp1
  bridge-access 100


auto swp2
iface swp2
  bridge-access 200

8.4.3. LACP ポートアグリゲーションの設定

LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は、802.3ad (または、Linux ではボンディングモード 4 ) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。

8.4.3.1. 物理 NIC 上での LACP の設定

Cumulus Linux では物理 NIC を設定する必要はありません。

8.4.3.2. Cumulus Linux スイッチでの LACP の設定

ボンディングの設定には、/etc/network/interfaces を編集して bond0 の内容を追加します。

auto bond0
iface bond0
   address 10.0.0.1/30
   bond-slaves swp1 swp2 swp3 swp4
注記

更新した設定を sudo ifreload -a を実行して再読み込みし、変更を適用することを忘れないでください。

8.4.4. MTU の設定

特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。

注記

MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「9章MTU の設定」を参照してください。

8.4.4.1. Cumulus Linux スイッチでの MTU の設定

以下の例では、Cumulus Linux スイッチでジャンボフレームを有効にします。

auto swp1
iface swp1
  mtu 9000

更新した設定を sudo ifreload -a を実行して再読み込みし、変更を適用することを忘れないでください。

8.4.5. LLDP ディスカバリーの設定

デフォルトでは、LLDP サービスはデーモン (lldpd) として実行され、スイッチのブート時に起動します。

全ポート/インターフェースの LLDP

cumulus@switch$ netshow lldp
Local Port  Speed  Mode         Remote Port   Remote Host Summary
----------  ---    ---------    -----  -----  ----------- --------
eth0        10G    Mgmt         ====   swp6   mgmt-sw     IP: 10.0.1.11/24
swp51       10G    Interface/L3 ====   swp1   spine01     IP: 10.0.0.11/32
swp52       10G    Interface/L  ====   swp1   spine02     IP: 10.0.0.11/32

8.5. Extreme Networks EXOS スイッチの設定

8.5.1. トランクポートの設定

OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができます。トランク という用語は、単一のポートで複数の VLAN が通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチを橋渡しすることができます。たとえば、物理ネットワークで VLAN110 としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN にダイレクトされます。

8.5.1.1. Extreme Networks EXOS スイッチでのトランクポートの設定

X-670 シリーズのスイッチを使用する場合には、以下の例を参考にして、VLAN 110 と 111 のトラフィックがインスタンスに到達できるようにすることが可能です。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース 24 に接続されていることを前提としています。この例では、DATAMNGT が VLAN 名です。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

#create vlan DATA tag 110
#create vlan MNGT tag 111
#configure vlan DATA add ports 24 tagged
#configure vlan MNGT add ports 24 tagged

8.5.2. アクセスポートの設定

コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートはアクセスポートとして一般的に知られており、必要な設定は通常、トランクポートよりも簡単です。

8.5.2.1. Extreme Networks EXOS スイッチのアクセスポートの設定

上記の図の例を続行するには、以下の例で (Extreme Networks X-670 シリーズスイッチ上の) 10 を eth1 のアクセスポイントとして設定します。次の設定を使用して、VLAN 110111 のトラフィックがインスタンスに到達できるようにすることが可能です。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース 10 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

create vlan VLANNAME tag NUMBER
configure vlan Default delete ports PORTSTRING
configure vlan VLANNAME add ports PORTSTRING untagged

例:

#create vlan DATA tag 110
#configure vlan Default delete ports 10
#configure vlan DATA add ports 10 untagged

8.5.3. LACP ポートアグリゲーションの設定

LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は、802.3ad (または、Linux ではボンディングモード 4 ) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。

8.5.3.1. 物理 NIC 上での LACP の設定

1. /home/stack/network-environment.yaml ファイルを編集します。

- type: linux_bond
  name: bond1
  mtu: 9000
  bonding_options:{get_param: BondInterfaceOvsOptions};
  members:
    - type: interface
      name: nic3
      mtu: 9000
      primary: true
    - type: interface
      name: nic4
      mtu: 9000

2. Open vSwitch ブリッジが LACP を使用するように設定します。

BondInterfaceOvsOptions:
    "mode=802.3ad"

ネットワークボンディングの設定方法についての説明は、『オーバークラウドの高度なカスタマイズ』を参照してください。

8.5.3.2. Extreme Networks EXOS スイッチでの LACP の設定

以下の例では、コンピュートノードに VLAN 100 を使用する NIC が 2 つあります。

enable sharing MASTERPORT grouping ALL_LAG_PORTS lacp
configure vlan VLANNAME add ports PORTSTRING tagged

例:

#enable sharing 11 grouping 11,12 lacp
#configure vlan DATA add port 11 untagged
注記

LACP ネゴシエーションスクリプトでタイムアウトの期間を修正する必要がある場合があります。詳しくは、「LACP configured ports interfere with PXE/DHCP on servers」の記事を参照してください。

8.5.4. MTU の設定

特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。

注記

MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「9章MTU の設定」を参照してください。

8.5.4.1. Extreme Networks EXOS スイッチでの MTU の設定

この例では、任意の Extreme Networks EXOS スイッチでジャンボフレームを有効にし、9000 バイトでの IP パケットの転送をサポートします。

enable jumbo-frame ports PORTSTRING
configure ip-mtu 9000 vlan VLANNAME

例:

# enable jumbo-frame ports 11
# configure ip-mtu 9000 vlan DATA

8.5.5. LLDP ディスカバリーの設定

ironic-python-agent サービスは、接続されたスイッチから LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション プロセス中の物理ハードウェアの検出を補助します。

8.5.5.1. Extreme Networks EXOS スイッチでの LLDP の設定

以下の例は、任意の Extreme Networks EXOS スイッチで LLDP を設定できるようにします。この例では、11 がポートの文字列を示しています。

enable lldp ports 11

8.6. Juniper EX シリーズスイッチの設定

8.6.1. トランクポートの設定

OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができます。トランク という用語は、単一のポートで複数の VLAN が通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチを橋渡しすることができます。たとえば、物理ネットワークで VLAN110 としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN にダイレクトされます。

8.6.1.1. Juniper EX シリーズスイッチでのトランクポートの設定

Juniper JunOS を実行する Juniper EX シリーズのスイッチを使用する場合には、以下の設定を使用して、VLAN 110111 のトラフィックがインスタンスに到達できるようにことが可能です。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース ge-1/0/12 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

 ge-1/0/12 {
          description Trunk to Compute Node;
              unit 0 {
                  family ethernet-switching {
                      port-mode trunk;
                      vlan {
                          members [110 111];
                           }
                      native-vlan-id 2;
                  }
              }
}

8.6.2. アクセスポートの設定

コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートはアクセスポートとして一般的に知られており、必要な設定は通常、トランクポートよりも簡単です。

8.6.2.1. Juniper EX シリーズスイッチのアクセスポートの設定

上記の図の例を続行するには、以下の例で (Juniper EX シリーズスイッチ上の) ge-1/0/13 を eth1 のアクセスポイントとして設定します。この設定は、物理ノードで、イーサネットケーブルが物理スイッチ上のインターフェース ge-1/0/13 に接続されていることを前提としています。

注記

これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。

 ge-1/0/13 {
          description Access port for Compute Node
              unit 0 {
                  family ethernet-switching {
                      port-mode access;
                      vlan {
                          members 200;
                           }
                      native-vlan-id 2;
                  }
              }
}

8.6.3. LACP ポートアグリゲーションの設定

LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は、802.3ad (または、Linux ではボンディングモード 4 ) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。

8.6.3.1. 物理 NIC 上での LACP の設定

1. /home/stack/network-environment.yaml ファイルを編集します。

- type: linux_bond
  name: bond1
  mtu: 9000
  bonding_options:{get_param: BondInterfaceOvsOptions};
  members:
    - type: interface
      name: nic3
      mtu: 9000
      primary: true
    - type: interface
      name: nic4
      mtu: 9000

2. Open vSwitch ブリッジが LACP を使用するように設定します。

BondInterfaceOvsOptions:
    "mode=802.3ad"

ネットワークボンディングの設定方法についての説明は、『オーバークラウドの高度なカスタマイズ』を参照してください。

8.6.3.2. Juniper EX シリーズスイッチでの LACP の設定

以下の例では、コンピュートノードに VLAN 100 を使用する NIC が 2 つあります。

1. コンピュートノードの 2 つの NIC をスイッチ (例: ポート 12 と 13) に物理的に接続します。

2. ポートアグリゲートを作成します。

chassis {
    aggregated-devices {
        ethernet {
            device-count 1;
        }
    }
}

3. スイッチポート 12 (ge-1/0/12) と 13 (ge-1/0/13) を設定して、ポートアグリゲート ae1 のメンバーに入れます。

interfaces {
    ge-1/0/12 {
        gigether-options {
            802.3ad ae1;
        }
    }
    ge-1/0/13 {
        gigether-options {
            802.3ad ae1;
            }
        }
}
注記

Red Hat OpenStack Platform director を使用したデプロイメントの場合には、ボンディングから PXE ブートするには、ボンディングのメンバーの 1 つを lacp force-up として設定する必要があります。これにより、イントロスペクションと初回ブート時には 1 つのボンディングメンバーのみが稼働状態になります。lacp force-up で設定されているボンディングメンバーは、instackenv.json に MAC アドレスが記載されているのと同じボンディングメンバーである必要があります (ironic に認識される MAC アドレスが force-up で設定されている MAC アドレスと同じである必要があります)。

4. ポートアグリゲート ae1 で LACP を有効にします。

interfaces {
    ae1 {
        aggregated-ether-options {
            lacp {
                active;
            }
        }
    }
}

5. アグリゲート ae1 を VLAN 100 に追加します。

interfaces {
    ae1 {
        vlan-tagging;
        native-vlan-id 2;
        unit 100 {
            vlan-id 100;
        }
    }
}

6. 新しいポートチャネルを確認します。出力には、新規ポートアグリゲート ae1 と、メンバーポートの ge-1/0/12 および ge-1/0/13 が表示されます。

> show lacp statistics interfaces ae1

Aggregated interface: ae1
LACP Statistics: LACP Rx LACP Tx Unknown Rx Illegal Rx
ge-1/0/12 0 0 0 0
ge-1/0/13 0 0 0 0
注記

commit コマンドを実行して変更を適用することを忘れないようにしてください。

8.6.4. MTU の設定

特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。

注記

MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「9章MTU の設定」を参照してください。

8.6.4.1. Juniper EX シリーズスイッチでの MTU の設定

以下の例では、Juniper EX4200 スイッチでジャンボフレームを有効にします。

注記

MTU 値の計算は、Juniper と Cisco のどちらのデバイスを使用しているかによって異なります。たとえば、Juniper の 9216 は、Cisco の 9202 に相当します。追加のバイトが L2 ヘッダーに使用され、Cisco はこれを指定された MTU 値に自動的に追加しますが、Juniper を使用する場合には、使用可能な MTU は指定値よりも 14 バイト少なくなります。従って、VLAN で MTU 値 9000 をサポートするには、Juniper で MTU 値を 9014 に設定する必要があります。

1. Juniper EX シリーズスイッチの場合は、インターフェースごとに MTU の設定を実行します。以下のコマンドは、ge-1/0/14 および ge-1/0/15 ポート上のジャンボフレームを設定します。

set interfaces ge-1/0/14 mtu 9216
set interfaces ge-1/0/15 mtu 9216
注記

commit コマンドを実行して変更を保存することを忘れないようにしてください。

2. LACP アグリゲートを使用する場合には、メンバーの NIC ではなく、そのアグリゲートで MTU サイズを設定する必要があります。たとえば、以下のコマンドを実行すると、ae1 アグリゲートの MTU サイズが設定されます。

 set interfaces ae1 mtu 9216

8.6.5. LLDP ディスカバリーの設定

ironic-python-agent サービスは、接続されたスイッチから LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション プロセス中の物理ハードウェアの検出を補助します。

8.6.5.1. Juniper EX シリーズスイッチでの LLDP の設定

LLDP は、全インターフェースまたは個別のインターフェースのみでグローバルに有効にすることができます。

1. たとえば、LLDP を Juniper EX 4200 スイッチでグローバルに有効にします。

lldp {
	interface all{
		enable;
	}
	}
}

2. または、LLDP を単一のインターフェース ge-1/0/14 のみで有効にします。

lldp {
	interface ge-1/0/14{
		enable;
	}
	}
}
注記

commit コマンドを実行して変更を適用することを忘れないようにしてください。