第10章 OpenStack Networking の物理スイッチの設定
本章では、OpenStack Networking に必要な一般的な物理スイッチの設定手順を説明します。以下のスイッチに関するベンダー固有の設定を記載しています。
10.1. 物理ネットワーク環境のプランニング
OpenStack ノード内の物理ネットワークアダプターは、異なる種別のネットワークトラフィックを伝送することが想定される場合があります。これには、インスタンストラフィック、ストレージデータ、認証要求が含まれます。NIC が伝送するトラフィックの種別によって、物理スイッチ上でのポートの設定方法が異なります。
最初のステップでは、コンピュートノード上の物理 NIC で伝送するトラフィックの種別を決定する必要があります。次に、NIC が物理スイッチポートに接続されると、そのスイッチポートはトラックトラフィックまたは一般のトラフィックを許可するように特別に設定する必要があります。
たとえば、以下の図は、eth0 と eth1 の 2 つの NIC を搭載したコンピュートノードを示しています。各 NIC は、物理スイッチ上のギガビットイーサネットポートに接続され、eth0 がインスタンストラフィックを伝送し、eth1 が OpenStack サービスの接続性を提供します。
ネットワークレイアウト例
この図には、耐障害性に必要な追加の冗長 NIC は含まれていません。
10.2. Cisco Catalyst スイッチの設定
10.2.1. トランクポートの設定
OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができますトランク という用語は、単一のポートで複数 VLAN の通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチ間にまたがることができます。たとえば、物理ネットワークで VLAN110
としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN に転送されます。
10.2.1.1. Cisco Catalyst スイッチのトランクポートの設定
Cisco IOS を実行する Cisco Catalyst スイッチを使用する場合には、以下の設定構文を使用して、VLAN 110 と 111 のトラフィックがインスタンスに到達できるように設定することが可能です。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース 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
これらの設定についての説明を以下に記載します。
フィールド | 説明 |
---|---|
| ノードの NIC が結線されるスイッチポートです。これは単なる一例なので、最初に正しいポートをここで設定するように確認することが重要です。show interface コマンドでポートの一覧を表示することができます。 |
| show interface コマンドを使用して全インターフェースを一覧表示する際に表示される説明。どのシステムがこのポートに結線されていて、その接続の目的とする機能がわかるのに十分な説明である必要があります。 |
| 環境で STP を使用することを前提として、Port Fast に対してこのポートがトランクトラフィックに使用されることを伝えます。 |
| 802.1q のトランク標準 (ISL ではなく) を有効にします。これは、スイッチが何をサポートするかによって異なります。 |
| このポートは、アクセスポートではなく、トランクポートとして設定します。これで VLAN トラフィックが仮想スイッチに到達できるようになります。 |
| ネイティブ VLAN を設定して、タグの付いていない (VLAN 以外の) トラフィックの送信先をスイッチに指示します。 |
| トランクを通過できる VLAN を定義します。 |
10.2.2. アクセスポートの設定
コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートは一般的にアクセスポートと呼ばれ、必要な設定は通常、トランクポートよりも簡単です。
10.2.2.1. Cisco Catalyst スイッチのアクセスポートの設定
「ネットワークレイアウト例」の図に示した例を使用して、GigabitEthernet1/0/13 (Cisco Catalyst スイッチ上) を eth1 のアクセスポートとして設定します。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース GigabitEthernet1/0/12
) に接続されていることを前提としています。
これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。
interface GigabitEthernet1/0/13 description Access port for Compute Node switchport mode access switchport access vlan 200 spanning-tree portfast
これらの設定についての説明を以下に記載します。
フィールド | 説明 |
---|---|
| ノードの NIC が結線されるスイッチポートです。インターフェースの値は単なる一例なので、最初に正しいポートをここで設定するように確認することが重要です。show interface コマンドでポートの一覧を表示することができます。 |
| show interface コマンドを使用して全インターフェースを一覧表示する際に表示される説明。どのシステムがこのポートに結線されていて、その接続の目的とする機能がわかるのに十分な説明である必要があります。 |
| このポートは、トランクポートとしてではなく、アクセスポートとして設定します。 |
| VLAN 200 上でトラフィックを許可するポートを設定します。コンピュートノードには、この VLAN からの IP アドレスを設定すべきです。 |
| STP を使用する場合には、この設定は、STP がこのポートをトランクとして初期化を試みないように指示して、初回接続時 (例: サーバーの再起動時など) のポートハンドシェイクをより迅速に行うことができます。 |
10.2.3. LACP ポートアグリゲーションの設定
LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は 802.3ad (または、Linux ではボンディングモード 4) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。
10.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"
ネットワークボンディングの設定方法についての説明は、「Open vSwitch ボンディングのオプション」を参照してください。
10.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 にコピーし、変更を適用するのを忘れないようにしてください。
10.2.4. MTU の設定
特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。
MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「11章MTU の設定」を参照してください。
10.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
10.2.5. LLDP ディスカバリーの設定
ironic-python-agent
サービスは、接続されたスイッチからの LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション
プロセス中の物理ハードウェアの検出を補助します。
10.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 にコピーし、変更を保存するのを忘れないようにしてください。
10.3. Cisco Nexus スイッチの設定
10.3.1. トランクポートの設定
OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができますトランク という用語は、単一のポートで複数 VLAN の通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチ間にまたがることができます。たとえば、物理ネットワークで VLAN110
としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN に転送されます。
10.3.1.1. Cisco Nexus スイッチのトランクポートの設定
Cisco Nexus を使用する場合には、以下の設定構文を使用して、VLAN 110 と 111 のトラフィックがインスタンスに到達できるように設定することが可能です。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース 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
10.3.2. アクセスポートの設定
コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートは一般的にアクセスポートと呼ばれ、必要な設定は通常、トランクポートよりも簡単です。
10.3.2.1. Cisco Nexus スイッチのアクセスポートの設定
「ネットワークレイアウト例」の図に示した例を使用して、Ethernet1/13 (Cisco Nexus スイッチ上) を eth1 のアクセスポートとして設定します。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース Ethernet1/13
) に接続されていることを前提としています。
これらの値は、単なる例に過ぎません。変更せずにそのままコピーしてスイッチの設定に貼り付けると、機能が予期せず停止してしまう可能性があります。
interface Ethernet1/13 description Access port for Compute Node switchport mode access switchport access vlan 200
10.3.3. LACP ポートアグリゲーションの設定
LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は 802.3ad (または、Linux ではボンディングモード 4) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。
10.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"
ネットワークボンディングの設定方法についての説明は、「Open vSwitch ボンディングのオプション」を参照してください。
10.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
10.3.4. MTU の設定
特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。
MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「11章MTU の設定」を参照してください。
10.3.4.1. Cisco Nexus 7000 スイッチ上での MTU の設定
MTU の設定は、7000 シリーズのスイッチ上の単一のインターフェースに適用することができます。以下のコマンドは、インターフェース 1/12 が 9000 バイトのジャンボフレームを使用するように設定します。
interface ethernet 1/12 mtu 9216 exit
10.3.5. LLDP ディスカバリーの設定
ironic-python-agent
サービスは、接続されたスイッチからの LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション
プロセス中の物理ハードウェアの検出を補助します。
10.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 にコピーし、変更を保存するのを忘れないようにしてください。
10.4. Cumulus Linux スイッチの設定
10.4.1. トランクポートの設定
OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができますトランク という用語は、単一のポートで複数 VLAN の通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチ間にまたがることができます。たとえば、物理ネットワークで VLAN110
としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN に転送されます。
10.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
10.4.2. アクセスポートの設定
コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートは一般的にアクセスポートと呼ばれ、必要な設定は通常、トランクポートよりも簡単です。
10.4.2.1. Cumulus Linux スイッチでのアクセスポートの設定
「ネットワークレイアウト例」の図に示した例を使用して、swp1
(Cumulus Linux スイッチ上) をアクセスポートとして設定します。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチのインターフェースに接続されていることを前提としています。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
10.4.3. LACP ポートアグリゲーションの設定
LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は 802.3ad (または、Linux ではボンディングモード 4) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。
10.4.3.1. 物理 NIC 上での LACP の設定
Cumulus Linux では物理 NIC を設定する必要はありません。
10.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
コマンドを実行して更新した設定を 再読み込みし、変更を適用するのを忘れないようにしてください。
10.4.4. MTU の設定
特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。
MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「11章MTU の設定」を参照してください。
10.4.4.1. Cumulus Linux スイッチでの MTU の設定
以下の例では、Cumulus Linux スイッチでジャンボフレームを有効にします。
auto swp1 iface swp1 mtu 9000
sudo ifreload -a
コマンドを実行して更新した設定を 再読み込みし、変更を適用するのを忘れないようにしてください。
10.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
10.5. Extreme Networks EXOS スイッチの設定
10.5.1. トランクポートの設定
OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができますトランク という用語は、単一のポートで複数 VLAN の通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチ間にまたがることができます。たとえば、物理ネットワークで VLAN110
としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN に転送されます。
10.5.1.1. Extreme Networks EXOS スイッチでのトランクポートの設定
X-670 シリーズのスイッチを使用する場合には、以下の例を参考にして、VLAN 110 と 111 のトラフィックがインスタンスに到達できるようにすることが可能です。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース 24
) に接続されていることを前提としています。この例では、DATA
と MNGT
が 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
10.5.2. アクセスポートの設定
コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートは一般的にアクセスポートと呼ばれ、必要な設定は通常、トランクポートよりも簡単です。
10.5.2.1. Extreme Networks EXOS スイッチのアクセスポートの設定
上記の図の例を続行するには、以下の例で (Extreme Networks X-670 シリーズスイッチ上の) 10 を eth1 のアクセスポイントとして設定します。次の設定を使用して、VLAN 110
と 111
のトラフィックがインスタンスに到達できるようにすることが可能です。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース 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
10.5.3. LACP ポートアグリゲーションの設定
LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は 802.3ad (または、Linux ではボンディングモード 4) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。
10.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"
ネットワークボンディングの設定方法についての説明は、「Open vSwitch ボンディングのオプション」を参照してください。
10.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」を参照してください。
10.5.4. MTU の設定
特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。
MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「11章MTU の設定」を参照してください。
10.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
10.5.5. LLDP ディスカバリーの設定
ironic-python-agent
サービスは、接続されたスイッチからの LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション
プロセス中の物理ハードウェアの検出を補助します。
10.5.5.1. Extreme Networks EXOS スイッチでの LLDP の設定
以下の例は、任意の Extreme Networks EXOS スイッチで LLDP を設定できるようにします。この例では、11
がポートの文字列を示しています。
enable lldp ports 11
10.6. Juniper EX シリーズスイッチの設定
10.6.1. トランクポートの設定
OpenStack Networking により、インスタンスは物理ネットワーク上にすでに存在する VLAN に接続することができますトランク という用語は、単一のポートで複数 VLAN の通過を許可することを意味します。トランクにより、VLAN は、仮想スイッチを含む複数のスイッチ間にまたがることができます。たとえば、物理ネットワークで VLAN110
としてタグされたトラフィックが、コンピュートノードに到達すると、8021q モジュールによってタグ付けされたトラフィックが vSwitch 上の適切な VLAN に転送されます。
10.6.1.1. Juniper EX シリーズスイッチでのトランクポートの設定
Juniper JunOS を実行する Juniper EX シリーズのスイッチを使用する場合には、以下の設定を使用して、VLAN 110
と 111
のトラフィックがインスタンスに到達できるようにことが可能です。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース 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; } } }
10.6.2. アクセスポートの設定
コンピュートノード上の全 NIC がインスタンスのトラフィックを伝送するわけではないので、複数の VLAN が通過できるように設定する必要はありません。このようなポートに設定する必要があるのは VLAN 1 つのみで、管理トラフィックやブロックストレージデータの転送などの他の運用上の要件を満たす必要がある可能性があります。これらのポートは一般的にアクセスポートと呼ばれ、必要な設定は通常、トランクポートよりも簡単です。
10.6.2.1. Juniper EX シリーズスイッチのアクセスポートの設定
上記の図の例を続行するには、以下の例で (Juniper EX シリーズスイッチ上の) ge-1/0/13 を eth1 のアクセスポイントとして設定します。この設定では、物理ノードの NIC がイーサネットケーブルにより物理スイッチポート (インターフェース 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; } } }
10.6.3. LACP ポートアグリゲーションの設定
LACP により、複数の物理 NIC をバンドルして単一の論理チャネルを形成することができます。LACP は 802.3ad (または、Linux ではボンディングモード 4) としても知られており、負荷分散と耐障害性のための動的なボンディングを作成します。LACP は、物理 NIC と物理スイッチポートの両方の物理エンドで設定する必要があります。
10.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"
ネットワークボンディングの設定方法についての説明は、「Open vSwitch ボンディングのオプション」を参照してください。
10.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 ブートするには、ボンディングのメンバーのいずれかを 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
コマンドを実行して変更を適用するのを忘れないようにしてください。
10.6.4. MTU の設定
特定の種別のネットワークトラフィックには、MTU サイズの調整が必要な場合があります。たとえば、特定の NFS または iSCSI のトラフィックには、ジャンボフレーム (9000 バイト) が推奨される場合があります。
MTU の設定は、エンドツーエンド (トラフィックが通過すると想定されている全ホップ) で変更する必要があります。これには、仮想スイッチが含まれます。OpenStack 環境における MTU の変更についての説明は、「11章MTU の設定」を参照してください。
10.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
10.6.5. LLDP ディスカバリーの設定
ironic-python-agent
サービスは、接続されたスイッチからの LLDP パケットをリッスンします。収集される情報には、スイッチ名、ポートの詳細、利用可能な VLAN を含めることができます。Cisco Discovery Protocol (CDP) と同様に、LLDP は、director の イントロスペクション
プロセス中の物理ハードウェアの検出を補助します。
10.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
コマンドを実行して変更を適用するのを忘れないようにしてください。