7.2.6. フラットプロバイダーネットワーク上での、インスタンス/物理ネットワーク間の接続のトラブルシューティング
「フラットプロバイダーネットワークのパケットフローが機能する仕組み」で提供される出力で、フラットプロバイダーネットワークで問題が発生した場合にトラブルシューティングを行うのに十分なデバッグ情報が得られます。以下の手順で、トラブルシューティングのプロセスについてさらに詳しく説明します。
1. bridge_mappings を確認します。
以下の例に示すように、使用する物理ネットワーク名 (例: physnet1) が bridge_mapping 設定の内容と一致していることを確認します。
2.ネットワークの設定を確認します。
ネットワークが external として作成され、flat の種別が使用されていることを確認します。
openstack network show provider-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 が接続されていることを確認します。
br-ex でのパッチピアの設定例
/etc/neutron/plugins/ml2/openvswitch_agent.ini の bridge_mapping が正しく設定されていれば、この接続は neutron-openvswitch-agent サービスを再起動する際に作成されます。サービスを再起動してもこの接続が作成されない場合には、bridge_mapping の設定を再確認してください。
bridge_mappings の設定に関する詳しい情報は、「 11章ブリッジマッピングの設定 」を参照してください。
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 のポートであることが分かります。
以下の例では eth1 は OVS ポートとして設定されていて、カーネルはこのインターフェースからのパケットをすべて転送して OVS ブリッジ br-ex に送信することを認識していることが分かります。これは、master ovs-system のエントリーで確認することができます。
ip a
# ip a
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master ovs-system state UP qlen 1000