web-dev-qa-db-ja.com

イーサネットブリッジングがOpenStackで機能しないのはなぜですか?

すべての仮想マシンを(私の設定では)br100ネットワークブリッジにアタッチするnova.network.manager.FlatManagerネットワークマネージャーでOpenStackをセットアップしようとしています。

私のホストでは、次のネットワーク設定を使用しています。

auto lo
  iface lo inet loopback

auto eth0
  iface eth0 inet static
  address 192.168.0.50
  netmask 255.255.255.0
  broadcast 192.168.0.255
  gateway 192.168.0.1

auto eth0:0
iface eth0:0 inet static
  address 192.168.100.1
  netmask 255.255.255.0
  broadcast 192.168.100.255

その結果、次のインターフェイス構成が行われます。

eth0      Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
          inet addr:192.168.0.50  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21a:92ff:fe08:1543/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5365 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5177 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:572855 (572.8 KB)  TX bytes:1812681 (1.8 MB)
          Interrupt:43 Base address:0x6000 

eth0:0    Link encap:Ethernet  HWaddr 00:1a:92:08:15:43  
          inet addr:192.168.100.1  Bcast:192.168.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:43 Base address:0x6000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:49079 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49079 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:25157104 (25.1 MB)  TX bytes:25157104 (25.1 MB)

virbr0    Link encap:Ethernet  HWaddr c6:b2:4f:da:cd:ff  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vnet1     Link encap:Ethernet  HWaddr fe:16:3e:3a:77:dc  
          inet6 addr: fe80::fc16:3eff:fe3a:77dc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:153 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:6642 (6.6 KB)  TX bytes:468 (468.0 B)

ブリッジ構成(brctl show)は次のようになります。

bridge name     bridge id               STP enabled     interfaces
br100           8000.fe163e3a77dc       no              vnet1
virbr0          8000.000000000000       yes

IPアドレス192.168.100.2が割り当てられた仮想マシン(vnet1を使用)を作成しました。

私にとっては、eth0:0がブリッジに接続されていないことを除いて、すべてがうまくいくように見えます。 brctl addif br100 eth0:0を実行してそれを変更しようとすると、ネットワークは完全に壊れます(192.168.0.xサブネット上の他のホストにpingできなくなりました)が、それでも、ブリッジに接続された仮想マシンにpingできません( vnet1インターフェイス)。

Eth0 LAN接続を切断せずにeth0:0をブリッジに接続するにはどうすればよいですか?または、物理ネットワークアダプターが1つしかないホスト上のOpenStackテスト環境でネットワークを構築するための優れた方法はありますか?

7
ChrisM

最初に、virbr0を忘れてください-これはlibvirtによって追加され、無関係です。

1つのNICを備えた「オールインワン」Openstackサーバーの場合、別のエイリアス仮想インターフェイスは不要です。 Openstackガイドで説明されているようにbr100publicIPアドレス(eth0)にブリッジする必要があります。 Novaにインスタンスを作成させ、br100にブリッジさせます。

例えば以下を/etc/network/interfacesに追加し、静的に適切に変更します。

 auto br100 
 iface br100 inet dhcp 
 bridge_ports eth0 
 bridge_stp off 
 bridge_maxwait 0 
 bridge_fd 0 

許可されるプライベートIPサブネットは、--fixed-rangenova.confオプション、および--flat_network_bridgeオプションをbr100に設定することで構成する必要があります。

トラブルシューティングに役立つよう、質問にnova.confを貼り付けてください!

4
Bogie