11.2. ML2/OVN デプロイメントでの VLAN 透過性の有効化

仮想マシン (VM) インスタンス間で VLAN タグ付けされたトラフィックを送信する必要がある場合は、VLAN の透過性を有効にします。VLAN 透過ネットワークでは、neutron で VLAN を設定するのではなく、直接仮想マシンで設定することができます。

前提条件

  • メカニズムドライバーとして ML2/OVN を使用する Red Hat OpenStack Platform 16.1 以降のデプロイメント
  • 種別 VLAN または Geneve のプロバイダーネットワーク。フラット種別のプロバイダーネットワークのデプロイメントでは、VLAN の透過性を使用しないでください。
  • 両方の VLAN において、外部スイッチが ethertype 0x8100 を使用する 802.1q VLAN スタックをサポートするようにします。OVN VLAN の透過性は、0x88A8 または 0x9100 に設定された外部プロバイダー VLAN ethertype を使用する 802.1ad QinQ をサポートしません。
  • RHOSP 管理者権限が必要です。

手順

  1. アンダークラウドホストに stack ユーザーとしてログインします。
  2. stackrc アンダークラウド認証情報ファイルを入手します。

    $ source ~/stackrc
  3. アンダークラウドノードの環境ファイルで、EnableVLANTransparency パラメーターを true に設定します。たとえば、次の行を ovn-extras.yaml に追加します。

    parameter_defaults:
        EnableVLANTransparency: true
  4. この環境ファイルをご自分の環境に該当するその他の環境ファイルと共に openstack overcloud deploy コマンドに追加して、オーバークラウドをデプロイします。

    $ openstack overcloud deploy \
    --templates \
    …
    -e <other_overcloud_environment_files> \
    
    -e ovn-extras.yaml \
    …

    <other_overcloud_environment_files> を既存のデプロイメントに含まれる環境ファイルのリストに置き換えます。

  5. --transparent-vlan 引数を使用してネットワークを作成します。

    $ openstack network create network-name --transparent-vlan

  6. 参加するそれぞれの仮想マシンに VLAN インターフェイスを設定します。

    VLAN の透過性に必要な追加のタグ付けに対応するために、インターフェイスの MTU を下層のネットワークの MTU より 4 バイト少ない値に設定します。たとえば、下層のネットワークの MTU が 1500 の場合は、インターフェイスの MTU を 1496 に設定します。

    次のコマンド例では、MTU が 1496 の VLAN インターフェイスを eth0 に追加します。VLAN は 50 で、インターフェイス名は vlan50 です。

    $ ip link add link eth0 name vlan50 type vlan id 50 mtu 1496
    $ ip link set vlan50 up
    $ ip addr add 192.128.111.3/24 dev vlan50

  7. 手順 4 で仮想マシン内の VLAN インターフェイス上に作成した IP アドレスとして、次のいずれかを選択します。

    • 仮想マシンポートに許可されたアドレスペアを設定します。

      次の例では、192.128.111.3 を使用し、オプションで MAC アドレス 00:40:96:a8:45:c4 を追加することにより、ポート fv82gwk3-qq2e-yu93-go31-56w7sf476mm0 に許可されたアドレスペアを設定します。

      $ openstack port set --allowed-address \
      ip-address=192.128.111.3,mac-address=00:40:96:a8:45:c4 \
      fv82gwk3-qq2e-yu93-go31-56w7sf476mm0
    • ポートのポートセキュリティーを無効にします。

      ポートセキュリティーを無効にすることは、許可されたアドレスペアの可能な組み合わせをすべてリストすることができない場合の実用的な代替手段となります。

      次の例では、ポート fv82gwk3-qq2e-yu93-go31-56w7sf476mm0 のポートセキュリティーを無効にします。

      $ openstack port set --no-security-group \
      --disable-port-security \
      fv82gwk3-qq2e-yu93-go31-56w7sf476mm0

検証

  1. vlan50 の IP アドレスを使用して VLAN 上の 2 つの仮想マシン間で ping を送信します。
  2. eth0tcpdump を使用して、VLAN タグが付いたままパケットが到達するかどうかを確認します。

関連情報