Oracle VM and network bonding
Oracle VM, out of the box, does not allow network bonds. An excellent guide on how to enable bonding which I have partially followed, has convinced me that changing the relevant scripts would be better. That I have done, and reported in this wiki post.
To sum things up – configure bonding/VLAN tagging as you would have normally do on any RHEL-based Linux distro, and replace the script /etc/xen/scripts/network-bridges with the modified one mentioned below. This script will define bridge for each network interface node already defined as bridge, or slave of a bond connection, as part of the xend service.
#!/bin/bash # # Runs network-bridge against each ethernet card. # dir=$(dirname "$0") run_all_ethernets() { devnum=0 for f in /sys/class/net/*; do netdev=$(basename $f) if [[ $netdev =~ "^bond[0-9.]+$" ]] || [[ $netdev =~ "^eth[0-9.]+$" ]]; then # devnum=${netdev:3} unset SLAVE MASTER BRIDGE . /etc/sysconfig/network-scripts/ifcfg-${netdev} if [[ `echo $SLAVE | egrep "yes|YES|1"` ]] || [[ -n "$BRIDGE" ]] ;then echo "Interface ${netdev} is being defined and claimed by someone else" else if [[ $netdev =~ "^((eth)|(bond))[0-9]+." ]]; then # This is vlan tagging, and we want persistent vlan name! VLAN=$(echo $netdev | cut -f2 -d.) # Assume tags are unique on a server - no several bridges for a single tag. # If you intend on having eth2.3 and eth3.3 to your vms as bridges (and not deal with it # on the host level), this script is not for you $dir/network-bridge "$@" "netdev=${netdev}" "bridge=xenbrv${VLAN}" else $dir/network-bridge "$@" "netdev=${netdev}" "bridge=xenbr${devnum}" let devnum++ fi fi fi done } run_all_ethernets "$@"
One Comment