B.11. Unable to add bridge br0 port vnet0: No such device
- 現象
- 以下のエラーメッセージが表示されます。
Unable to add bridge name_of_bridge port vnet0: No such device
たとえば、ブリッジ名が br0 の場合、エラーメッセージは以下のようになります。Unable to add bridge br0 port vnet0: No such device
libvirt のバージョン 0.9.6 以前では、以下のようなメッセージになります。Failed to add tap interface to bridge name_of_bridge: No such device
たとえば、ブリッジの名前が br0 の場合、エラーは次のようになります。Failed to add tap interface to bridge 'br0': No such device
- 調査
- いずれのエラーメッセージも、ゲストの (またはドメインの)
<interface>
定義で指定されたブリッジデバイスが存在しないことを示しています。エラーメッセージに記載されているブリッジデバイスが存在しないことを確認するには、シェルコマンド ip addr showbr0 を使用します。以下のようなメッセージが表示されると、その名前のブリッジが存在しないことが確認できます。br0: error fetching interface information: Device not found
存在しない場合は、解決法に進みます。ただし、メッセージが以下のようであれば、問題は別に存在します。3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 1b:c4:94:cf:fd:17 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global br0
- 解決方法
- 既存のブリッジを編集するか、virsh で新しいブリッジを作成します。
- virsh を使って既存のブリッジもしくはネットワークの設定を編集するか、ブリッジデバイスをホストシステム設定に追加します。
- virsh を使用して、既存のブリッジ設定を編集します。
- virsh edit name_of_guest を使用して、すでに存在するブリッジまたはネットワークを使用するように
<interface>
定義を変更します。たとえば、type='bridge'
をtype='network'
に変更し、<source bridge='br0'/>
を<source network='default'/>
に変更します。 - virsh を使用したホストブリッジの作成
- libvirt バージョン 0.9.8 以降の場合は、virsh iface-bridge コマンドでブリッジデバイスを作成できます。これにより、
eth0
を備えたブリッジデバイス br0 が作成されます。これは、ブリッジの一部として設定された物理ネットワークインターフェイスです。virsh iface-bridge eth0 br0
必要に応じて、以下のコマンドを使用して、このブリッジを削除し、元のeth0
設定を復元します。virsh iface-unbridge br0
- ホストブリッジを手動で作成
- libvirt の古いバージョンでは、ホスト上にブリッジデバイスを手動で作成することができます。手順は、「libvirt を使用したブリッジネットワーク」 を参照してください。