Virtualization

XEN 中的橋接網路(預設 xenbr0 除外)

  • August 6, 2012

我需要創建一個帶有公共 IP 的網橋,以便將公共 IP 分配給 VM。但是我如何創建網橋,因為存在預設的“ xenbr0 ”網橋。

編輯 Xenbr0 不是永久性的,我怎樣才能使它在服務重新啟動時保持不變?

因此,在 XCP(和 XenServer)中,為每個物理 NIC(pnic)建立了網橋。這些從xenbr0第一個 NIC 開始,從那裡向上編號。在目前版本的 XCP 中,對 OVS 網橋的修改不會在重啟後保留 - 您必須製作自己的 init 腳本來應用在每次重啟時執行的修改。

這可以簡單 - 你只需要實現 start() - stop() 和 restart() 可以只報告它們不受支持,然後用於chkconfig --add my_init_script將其集成到啟動過程中。我在下面粘貼了一個範例初始化腳本(它設置了一個 openflow 控制器,這可能不是您想要的,但您可以簡單地將 start() 方法替換為您需要的命令:

#!/bin/bash
#
# Init file for OpenFlow configuration
#
# chkconfig: 2345 21 78
# description: OpenFlow bridge configuration
#

# source function library
. /etc/rc.d/init.d/functions

VSCTL=/usr/bin/ovs-vsctl

controller_ip=192.168.0.200

start() {
 $VSCTL set-controller xenbr0 tcp:$controller_ip:6633
}

stop() {
       echo -n $"Action not supported"
       failure $"Action not supported"
       echo
       return 1;
}

restart() {
       echo -n $"Action not supported"
       failure $"Action not supported"
       echo
       return 1;
}

case "$1" in
 start)
       start
       ;;
 stop)
       stop
       ;;
 restart)
       restart
       ;;
 *)
       echo $"Usage: $0 {start|stop|restart}"
       exit 1
esac

引用自:https://serverfault.com/questions/413223