我需要创建一个具有公共 IP 的网桥,以便将公共 IP 分配给虚拟机。但是我该如何创建网络桥接呢,因为有一个默认的“xenbr0“桥存在。
编辑 Xenbr0 不是永久性的,我怎样才能使它在服务重启后仍然有效?
答案1
因此,在 XCP(和 XenServer)中,会为每个物理 NIC(pnic)创建桥接。这些桥接从xenbr0
第一个 NIC 开始,然后从那里向上编号。在当前的对 OVS 桥接器的 XCP 修改版本在重启后不会保留 - 您必须制作自己的初始化脚本来应用每次重启时运行的修改。
这可以是非常简单 - 您只需要实现 start() - stop() 和 restart() 就可以报告它们不受支持,然后使用chkconfig --add my_init_script
它将其集成到启动过程中。我在下面粘贴了一个示例 init 脚本(它设置了一个 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