第19章 一般的なネットワーク管理タスク

Red Hat OpenStack Platform Networking サービス (neutron) で、レイヤー 2 Population ドライバーの設定や内部 DNS によってポートに割り当てられた名前の指定など、管理タスクを実施しなければならない場合があります。

19.1. L2 Population ドライバーの設定

L2 Population ドライバーを Networking サービス (neutron) ML2/OVS 環境で使用すると、ブロードキャスト、マルチキャスト、およびユニキャストトラフィックを有効にして、大規模なオーバーレイネットワークでスケールアウトできます。デフォルトでは、Open vSwitch GRE および VXLAN がブロードキャストを各エージェントに複製します。これには、送信先のネットワークをホストしていないエージェントも含まれます。この設計には、多大なネットワークとプロセスのオーバーヘッドを受容する必要があります。L2 Population ドライバーにより導入される代替の設計は、ARP 解決および MAC 学習トラフィックのための部分的なメッシュを実装し、特定のネットワークをホストするノード間に、そのネットワーク用のトンネルも作成します。このトラフィックは、対象設定済みのユニキャストとしてカプセル化されることによって、必要なエージェントにのみ送信されます。

前提条件

  • RHOSP 管理者権限が必要です。
  • Networking サービスは、ML2/OVS メカニズムドライバーを使用する必要があります。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. source コマンドでアンダークラウドの認証情報ファイルを読み込みます。

    $ source ~/stackrc
  3. カスタム YAML 環境ファイルを作成します。

    $ vi /home/stack/templates/my-environment.yaml

  4. ご自分の環境ファイルには、parameter_defaults というキーワードを含める必要があります。これらのキーワードの下に、次の行を追加します。

    parameter_defaults:
      NeutronMechanismDrivers: ['openvswitch', 'l2population']
      NeutronEnableL2Pop: 'True'
      NeutronEnableARPResponder: true
  5. コア heat テンプレート、環境ファイル、およびこの新しいカスタム環境ファイルを指定して、deployment コマンドを実行します。

    重要

    後で実行される環境ファイルで定義されているパラメーターとリソースが優先されることになるため、環境ファイルの順序は重要となります。

    $ openstack overcloud deploy --templates \
    -e <your_environment_files> \
    -e /home/stack/templates/my-environment.yaml

検証

  1. OVS エージェントの ID を取得します。

    $ openstack network agent list -c ID -c Binary

    出力例

    +--------------------------------------+---------------------------+
    | ID                                   | Binary                    |
    +--------------------------------------+---------------------------+
    | 003a8750-a6f9-468b-9321-a6c03c77aec7 | neutron-openvswitch-agent |
    | 02bbbb8c-4b6b-4ce7-8335-d1132df31437 | neutron-l3-agent          |
    | 0950e233-60b2-48de-94f6-483fd0af16ea | neutron-openvswitch-agent |
    | 115c2b73-47f5-4262-bc66-8538d175029f | neutron-openvswitch-agent |
    | 2a9b2a15-e96d-468c-8dc9-18d7c2d3f4bb | neutron-metadata-agent    |
    | 3e29d033-c80b-4253-aaa4-22520599d62e | neutron-dhcp-agent        |
    | 3ede0b64-213d-4a0d-9ab3-04b5dfd16baa | neutron-dhcp-agent        |
    | 462199be-0d0f-4bba-94da-603f1c9e0ec4 | neutron-sriov-nic-agent   |
    | 54f7c535-78cc-464c-bdaa-6044608a08d7 | neutron-l3-agent          |
    | 6657d8cf-566f-47f4-856c-75600bf04828 | neutron-metadata-agent    |
    | 733c66f1-a032-4948-ba18-7d1188a58483 | neutron-l3-agent          |
    | 7e0a0ce3-7ebb-4bb3-9b89-8cccf8cb716e | neutron-openvswitch-agent |
    | dfc36468-3a21-4a2d-84c3-2bc40f224235 | neutron-metadata-agent    |
    | eb7d7c10-69a2-421e-bd9e-aec3edfe1b7c | neutron-openvswitch-agent |
    | ef5219b4-ee49-4635-ad04-048291209373 | neutron-sriov-nic-agent   |
    | f36c7af0-e20c-400b-8a37-4ffc5d4da7bd | neutron-dhcp-agent        |
    +--------------------------------------+---------------------------+

  2. いずれかの OVS エージェントの ID を使用して、L2 Population ドライバーが OVS エージェントに設定されていることを確認します。

    この例では、ID 003a8750-a6f9-468b-9321-a6c03c77aec7 を使用して、neutron-openvswitch-agent 上の L2 Population ドライバーの設定を検証します。

    $ openstack network agent show 003a8750-a6f9-468b-9321-a6c03c77aec7 -c configuration -f json | grep l2_population

    出力例

        "l2_population": true,

  3. OVS エージェントに対して ARP レスポンダー機能が有効になっていることを確認します。

    $ openstack network agent show 003a8750-a6f9-468b-9321-a6c03c77aec7 -c configuration -f json | grep arp_responder_enabled

    出力例

        "arp_responder_enabled": true,

関連情報