4.8. VLAN プロバイダーネットワーク上での、インスタンス/物理ネットワーク間の接続のトラブルシューティング

VLAN プロバイダーネットワークの接続についてトラブルシューティングを行う場合は、VLAN プロバイダーネットワークのパケットフローが機能する仕組みに記載のパケットフローを参照してください。さらに、以下の設定オプションを確認してください。

手順

  1. bridge_mapping 設定で使用される物理ネットワーク名が物理ネットワーク名と一致することを確認します。

    $ openstack network show provider-vlan171

    出力例

    ...
    | provider:physical_network | physnet1
    ...

    $ grep bridge_mapping /etc/neutron/plugins/ml2/openvswitch_agent.ini

    出力例

    この出力例では、物理ネットワーク名 physnet1bridge_mapping 設定で使用されている名前と一致しています。

    bridge_mappings = physnet1:br-ex
  2. ネットワークが external として vlan の種別で作成され、正しい segmentation_id の値が使用されていることを確認します。

    $ openstack network show provider-vlan171

    出力例

    ...
    | provider:network_type     | vlan                                 |
    | provider:physical_network | physnet1                             |
    | provider:segmentation_id  | 171                                  |
    ...

  3. パッチピアを確認します。

    パッチピア int-br-ex <--> phy-br-ex を使用して、br-intbr-ex が接続されていることを確認します。

    $ ovs-vsctl show

    この接続は、/etc/neutron/plugins/ml2/openvswitch_agent.inibridge_mapping が正しく設定されていることを前提として、neutron-openvswitch-agent の再起動の後に作成されます。

    サービスを再起動してもこの接続が作成されない場合には bridge_mapping の設定を再確認してください。

  4. ネットワークフローを確認します。

    1. 送信パケットのフローを確認するには、ovs-ofctl dump-flows br-ex および ovs-ofctl dump-flows br-int を実行して、このフローにより VLAN ID が外部 VLAN id (segmentation_id) にマッピングされていることを確認します。
    2. 受信パケットには、外部 VLAN ID が内部 VLAN ID にマッピングされます。

      このフローは、このネットワークに初めてインスタンスを作成した場合に neutron OVS エージェントにより追加されます。

    3. インスタンスの起動後にこのフローが作成されなかった場合には、ネットワークが vlan として作成されていて、external であることと、physical_network の名前が正しいことを確認します。また、bridge_mapping の設定を再確認してください。
    4. 最後に、ifcfg-br-exifcfg-ethx の設定を再確認します。

      br-ex にポート ethX が含まれていること、および ip a コマンドの出力で ifcfg-br-exifcfg- ethx の両方に UP フラグが表示されることを確認します。

      $ ovs-vsctl show

      この出力例では、eth1br-ex のポートです。

          Bridge br-ex
              Port phy-br-ex
                  Interface phy-br-ex
                      type: patch
                      options: {peer=int-br-ex}
              Port "eth1"
                  Interface "eth1"

      $ ip a

      出力例

      この出力例では、eth1 がポートとして追加されており、カーネルがすべてのパケットをインターフェイスから OVS ブリッジ br-ex に移動するように設定されています。これは、エントリー master ovs-system で確認できます。

      5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000