4.5. フラットプロバイダーネットワーク上での、インスタンス/物理ネットワーク間の接続のトラブルシューティング
フラットプロバイダーネットワークのパケットフローが機能する仕組みで提供される出力で、フラットプロバイダーネットワークで問題が発生した場合にトラブルシューティングを行うのに十分なデバッグ情報が得られます。以下の手順で、トラブルシューティングのプロセスについてさらに詳しく説明します。
手順
bridge_mappingsを確認します。使用する物理ネットワーク名が
bridge_mapping設定の内容と一致していることを確認してください。例
この例では、物理ネットワーク名は
physnet1です。openstack network show provider-flat
$ openstack network show provider-flatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
... | provider:physical_network | physnet1 ...
... | provider:physical_network | physnet1 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
この例では、
bridge_mapping設定の内容もphysnet1です。grep bridge_mapping /etc/neutron/plugins/ml2/openvswitch_agent.ini
$ grep bridge_mapping /etc/neutron/plugins/ml2/openvswitch_agent.iniCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
bridge_mappings = physnet1:br-ex
bridge_mappings = physnet1:br-exCopy to Clipboard Copied! Toggle word wrap Toggle overflow ネットワークの設定を確認します。
ネットワークが
externalとして作成され、flatの種別が使用されていることを確認します。例
この例では、ネットワーク
provider-flatに関する詳細が照会されます。openstack network show provider-flat
$ openstack network show provider-flatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
... | provider:network_type | flat | | router:external | True | ...
... | provider:network_type | flat | | router:external | True | ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow パッチピアを確認します。
パッチピア
int-br-ex <--> phy-br-exを使用して、br-intとbr-exが接続されていることを確認します。ovs-vsctl show
$ ovs-vsctl showCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
br-exでのパッチピアの設定:Copy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/neutron/plugins/ml2/openvswitch_agent.iniのbridge_mappingが正しく設定されていれば、この接続はneutron-openvswitch-agentサービスを再起動する際に作成されます。サービスを再起動してもこの接続が作成されない場合には、
bridge_mappingの設定を再確認してください。ネットワークフローを確認します。
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のポートであることが分かります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
以下の例では
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 1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
インスタンスの起動後にこのフローが作成されなかった場合には、ネットワークが