4.5. フラットプロバイダーネットワーク上での、インスタンス/物理ネットワーク間の接続のトラブルシューティング
フラットプロバイダーネットワークのパケットフローが機能する仕組みで提供される出力で、フラットプロバイダーネットワークで問題が発生した場合にトラブルシューティングを行うのに十分なデバッグ情報が得られます。以下の手順で、トラブルシューティングのプロセスについてさらに詳しく説明します。
手順
bridge_mappings
を確認します。使用する物理ネットワーク名が
bridge_mapping
設定の内容と一致していることを確認してください。例
この例では、物理ネットワーク名は
physnet1
です。$ openstack network show provider-flat
出力例
... | provider:physical_network | physnet1 ...
例
この例では、
bridge_mapping
設定の内容もphysnet1
です。$ grep bridge_mapping /etc/neutron/plugins/ml2/openvswitch_agent.ini
出力例
bridge_mappings = physnet1:br-ex
ネットワークの設定を確認します。
ネットワークが
external
として作成され、flat
の種別が使用されていることを確認します。例
この例では、ネットワーク
provider-flat
に関する詳細が照会されます。$ openstack network show provider-flat
出力例
... | provider:network_type | flat | | router:external | True | ...
パッチピアを確認します。
パッチピア
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
の設定を再確認してください。ネットワークフローを確認します。
ovs-ofctl dump-flows br-ex
とovs-ofctl dump-flows br-int
を実行して、フローにより送信パケットの内部 VLAN ID が削除されたかどうかを確認します。まず、このフローは、特定の Compute ノード上のこのネットワークにインスタンスを作成すると追加されます。-
インスタンスの起動後にこのフローが作成されなかった場合には、ネットワークが
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
-
インスタンスの起動後にこのフローが作成されなかった場合には、ネットワークが