4.9. ML2/OVS デプロイメントでのプロバイダーネットワーク用マルチキャストスヌーピングの有効化

マルチキャストパケットが Red Hat OpenStack Platform (RHOSP) プロバイダーネットワーク内の全ポートにあふれるのを防ぐには、マルチキャストスヌーピングを有効にする必要があります。Modular Layer 2 プラグインと Open vSwitch メカニズムドライバーの組み合わせ (ML2/OVS) を使用する RHOSP デプロイメントでは、YAML 形式の環境ファイルで RHOSP Orchestration (heat) NeutronEnableIgmpSnooping パラメーターを宣言してこれを行います。

重要

マルチキャストスヌーピングの設定を実稼働環境に適用する前に、設定を綿密にテストして理解する必要があります。設定が間違っていると、マルチキャストが中断したり、誤ったネットワーク動作を引き起こしたりする可能性があります。

前提条件

  • ML2/OVS プロバイダーネットワークのみを使用する設定にする必要があります。
  • 物理ルーターでも IGMP スヌーピングを有効にする必要があります。

    つまり、OVS (および物理ネットワーク用) でスヌーピングキャッシュを維持するために、物理ルーターはプロバイダーネットワーク上で IGMP クエリーパケットを送信して、マルチキャストグループメンバーからの通常の IGMP レポートを要求する必要があります。

  • 仮想マシンインスタンスへの受信 IGMP を許可する (あるいは、ポートセキュリティーを無効にする) には、RHOSP Networking サービスのセキュリティーグループルールを設定する必要があります。

    以下の例では、ping_ssh セキュリティーグループに対してルールが作成されます。

    $ openstack security group rule create --protocol igmp --ingress ping_ssh

手順

  1. アンダークラウドホストに stack ユーザーとしてログインして、カスタム YAML 環境ファイルを作成します。

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

    ヒント

    Orchestration サービス (heat) は、テンプレートと呼ばれるプランのセットを使用して環境をインストールおよび設定します。カスタム環境ファイルを使用して、オーバークラウドの要素をカスタマイズすることができます。このファイルは、heat テンプレートをカスタマイズするための特別な種別のテンプレートです。

  2. YAML 環境ファイルの parameter_defaults セクションで、NeutronEnableIgmpSnooping を true に設定します。

    parameter_defaults:
        NeutronEnableIgmpSnooping: true
        ...
    重要

    コロン (:) と true の間に空白文字を追加するようにしてください。

  3. コア heat テンプレート、環境ファイル、およびこの新しいカスタム環境ファイルを指定して、openstack overcloud deploy コマンドを実行します。

    重要

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

    $ openstack overcloud deploy --templates \
    -e [your-environment-files] \
    -e /usr/share/openstack-tripleo-heat-templates/environments/services/my-ovs-environment.yaml

検証

  • マルチキャストスヌーピングが有効であることを確認します。

    # sudo ovs-vsctl list bridge br-int

    出力例

    ...
    mcast_snooping_enable: true
    ...
    other_config: {mac-table-size="50000", mcast-snooping-disable-flood-unregistered=True}
    ...

関連情報