1434 Words

Openstack Issue その4―セルフサービスネットワーク激遅問題(検証段階)

問題概要

セルフサービスネットワーク上にたてた VM で下り回線速度がバカみたいに遅い問題

speedtest-cliなどで調べてみても上りは正常なのに下りは 0.01Mbit/s とかになってしまう…

参考

方針

  • おそらく MTU 問題

    • ドキュメント通りにインストールを進めていくと VXLAN を用いて通信をおこなうセルフサービスネットワークでは、VXLAN フレーム 50Byte 分を考慮して MTU が 1450 になる
    • プロバイダネットワークとつなぐルータなどで MTU 不一致がおこってパケットロスしてる…?
  • 方針はとりあえず 2 つありそう

    1. Setting the Default MTU in Neutron VXLAN Networks to be 1500

      • セルフサービスネットワークを MTU1500 にして、管理用ネットワークを MTU1550 以上通るように管理用ネットワークインターフェースやスイッチの設定を変更する
      • セルフサービスネットワークは管理用ネットワークを利用して作成されるらしい
        (だいぶ前のリリースの図になってしまいますがOpenStack Docs: Self-service networkより) Networking Option 2: Self-service networks - Connectivity
    2. OpenStack 検証環境構築・トラブルシューティング入門 - OpenStack 最新情報セミナー 2014 年 8 月

      • プロバイダネットワーク側も MTU1450 に落とす
    • MTU を 1500 に統一する方針 1 の方がいろいろ都合がよさそうだが、スイッチの設定いじる必要がありそうなため、まだ実際には検証できていないです…

抜け道

  • All-in-One 構成の場合に限って、他のノードと VXLAN で通信する必要がないので抜け道が存在したりする

Controller

  1. ルータの netns を調べる

    #root user

    ip netns
    
    qrouter-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (id: 2)
    qdhcp-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (id: 1)
    qdhcp-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (id: 0)
    
    • qrouterから始まるものがルータの netns

    • openstack router listで表示されるルータ ID とルータ netns のqrouter-以降の部分が一致しているので、複数ある場合も特定できます

  2. ルータ netns 内のセルフサービスネットワーク側のインターフェースを調べる

    #root user

    ip netns exec qrouter-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ip addr
    
    1: lo: ...
        ...
    2: qr-xxxxxxxx-xx@ifxx: ... mtu 1450 ...
        ...
    3: qg-xxxxxxxx-xx@ifxx: ...
        ...
    
    • 2 番目のqr-xxxxxxxx-xxの MTU が 1450 になっている
  3. ルータ netns 内のセルフサービスネットワーク側のインターフェースの MTU を強制的に 1500 に変える

    #root user

    ip netns exec qrouter-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ip link set dev qr-xxxxxxxx-xx mtu 1500
    
    • 再起動で元に戻ってしまうので適宜起動時に変更をかけるように設定する必要がある
  4. セルフサービス内の VM から通信速度を確認する

    • おそらくこれで速くなっているはずです
  • あくまで抜け道なので、参考ページに従って MTU の設定をしっかりしましょう

関連記事一覧