Xenの仮想マシン用にブリッジを追加する

こちらを参考にしました

Tomo's Page - Xenの小技 - "xenbr1"("eth1"のブリッジ)を起動時に作成する方法

今回は、NICが4つあるサーバを使ったので、それぞれ

とします。

  1. /etc/xen/scripts の、スクリプト network-bridge をリネームします

    mv network-bridge network-bridge.xen


  2. おなじディレクトリに、もとのファイル名 network-bridge で新しくファイルを作成します。ここからもとのスクリプトを複数回実行して、必要な数のブリッジを作成するわけです。

    #!/bin/sh
    set -e

    OP=$1
    shift

    script=/etc/xen/scripts/network-bridge.xen

    case ${OP} in
    start)
    $script start vifnum=0 bridge=xenbr0 netdev=eth0
    $script start vifnum=1 bridge=xenbr1 netdev=eth1
    ;;

    stop)
    $script stop vifnum=0 bridge=xenbr0 netdev=eth0
    $script stop vifnum=1 bridge=xenbr1 netdev=eth1
    ;;

    status)
    $script status vifnum=0 bridge=xenbr0 netdev=eth0
    $script status vifnum=1 bridge=xenbr1 netdev=eth1
    ;;

    *)
    echo 'Unknown command: ' ${OP}
    echo 'Valid commands are: start, stop, status'
    exit 1
    esac


  3. 新しく作ったnetwork-bridgeに実行権限をつけます

    chmod 755 network-bridge


  4. xendをリスタートして、ifconfig などでxenbr0, xenbr1 の2つができているのを確認します

あとは、仮想マシンに必要なブリッジを仮想NICとして追加すればよい。
ちなみに、既存の仮想マシンのブリッジを作成しなおした場合、仮想マシンのdomainもリスタートする必要があるので注意(仮想マシンをリブートするという意味ではない)