7.5. フラットプロバイダーネットワーク上での、インスタンス/物理ネットワーク間の接続のトラブルシューティング
フラットプロバイダーネットワークのパケットフローが機能する仕組みで提供される出力で、フラットプロバイダーネットワークで問題が発生した場合にトラブルシューティングを行うのに十分なデバッグ情報が得られます。以下の手順で、トラブルシューティングのプロセスについてさらに詳しく説明します。
手順
1.bridge_mappings を確認します。
以下の例に示すように、使用する物理ネットワーク名 (例: physnet1
) が bridge_mapping
設定の内容と一致していることを確認します。
# grep bridge_mapping /etc/neutron/plugins/ml2/openvswitch_agent.ini bridge_mappings = physnet1:br-ex # openstack network show provider-flat ... | provider:physical_network | physnet1 ...
2.ネットワークの設定を確認します。
ネットワークが external
として作成され、flat
の種別が使用されていることを確認します。
# openstack network show provider-flat ... | provider:network_type | flat | | router:external | True | ...
3.パッチピアを確認します。
ovs-vsctl show
コマンドを実行し、パッチピア int-br-ex <--> phy-br-ex
を使用して br-int
と br-ex
が接続されていることを確認します。
# ovs-vsctl show Bridge br-int fail_mode: secure Port int-br-ex Interface int-br-ex type: patch options: {peer=phy-br-ex}
br-ex
でのパッチピアの設定例
Bridge br-ex Port phy-br-ex Interface phy-br-ex type: patch options: {peer=int-br-ex} Port br-ex Interface br-ex type: internal
/etc/neutron/plugins/ml2/openvswitch_agent.ini
の bridge_mapping
が正しく設定されていれば、この接続は neutron-openvswitch-agent
サービスを再起動する際に作成されます。サービスを再起動してもこの接続が作成されない場合には、bridge_mapping
の設定を再確認してください。
4.ネットワークフローを確認します。
ovs-ofctl dump-flows br-ex
と ovs-ofctl dump-flows br-int
を実行して、フローにより送信パケットの内部 VLAN ID が削除されたかどうかを確認します。まず、このフローは、特定のコンピュートノード上のこのネットワークにインスタンスを作成すると追加されます。
-
インスタンスの起動後にこのフローが作成されなかった場合には、ネットワークが
flat
として作成されていて、external
であることと、physical_network
の名前が正しいことを確認します。また、bridge_mapping
の設定を確認してください。 -
最後に
ifcfg-br-ex
とifcfg-ethx
の設定を確認します。ethX
がbr-ex
内のポートとして追加されていること、およびip a
の出力でifcfg-br-ex
およびifcfg-ethx
にUP
フラグが表示されることを確認します。
以下の出力では、eth1
が br-ex
のポートであることが分かります。
Bridge br-ex Port phy-br-ex Interface phy-br-ex type: patch options: {peer=int-br-ex} Port "eth1" Interface "eth1"
以下の例では eth1
は OVS ポートとして設定されていて、カーネルはこのインターフェイスからのパケットをすべて転送して OVS ブリッジ br-ex
に送信することを認識していることが分かります。これは、master ovs-system
のエントリーで確認することができます。
# ip a 5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000