Oracle VM’s architecture provides the same native bonding module that is found in all Enterprise Linux 5.x distributions. Although bonding has several different modes which include modes such as the round robin policy and load balancing policy, the active-backup policy (mode 1) is the preferred mode for Oracle RAC interconnects. The active-backup policy has only one active slave and the remaining are passive slaves. One of the other slaves will become active, if and only if, there is a failure with the current active slave within the bond.

In order to setup bonding within the OVM environment, the first step is to stop any guest VMs that are currently running. Once you have stopped all guest VMs, you must stop all network bridges within your OVM environment using the following command

/etc/xen/scripts/./network-bridges stop
 
The network-bridges script controls the creation of your network bridges for each physical NIC. The default behavior of OVM is to create a xen bridge for each physical NIC.
In the following example, we will start configuring our bond0 device and enslave two NIC adapters (eth1 and eth2) to our bond device.

1) Create a bond0 device file under /etc/sysconfig/network-scripts/ named ifcfg-bond0

The ifcfg bond0 file will look like the following:

DEVICE=bond0
BOOTPROTO=none
ONBOOT=yes
BRIDGE=xenbrb0

In this example it is important to note that a bridge is being created labeled ‘xenbrb0.’The xenbrb0 bridge will be the bonded bridge which will be exposed to your guest VMs (Dom Us).

2) Create a ifcfg-xenbrb0 file under

/etc/sysconfig/network-scripts/
An example of the ifcfg xenbrb0 file will look like the following:

DEVICE=xenbrb0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.11.140
NETMASK=255.255.255.0

3) Enslave devices eth1 and eth2 to the bond0 device. The configuration of your eth1 and eth2 should look like the following:

Edit the file /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes

Edit the file /etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2
BOOTPROTO=none
ONBOOT=no
MASTER=bond0
SLAVE=yes

4) Edit your /etc/modprobe.conf file and add the following lines:

alias bond0 bonding
options bond0 miimon=100 mode=1

In the next step we will be creating a network-dummy script which will be used to override the existing network-bridges script that is called within your /etc/xen/xend-config.sxp. The Oracle best practice is for all of your xen bridges to be created within your ifcfg network scripts using the ‘BRIDGE=’ command and not by the network-bridges script. Example: If you want eth0 to be available to your Dom Us, modify
/etc/sysconfig/network-scripts/ifcfg-eth0 and add the line “BRIDGE=xenbr0”. This will create a bridge labeled xenbr0 that is attached to your eth0 device. Once you have added a bridge to your eth0 device, you must create a network script under
/etc/sysconfig/network-scripts/ labeled ‘ifcfg-xenbr0’ that example the below file:

DEVICE=xenbr0
BOOTPROTO=static
ONBOOT=yes
IPADDR=155.16.10.55
NETMASK=255.255.0.0
GATEWAY=155.16.0.1

NOTE: Ensure to remove any old entries of your IP address, netmask, and gateway from your existing ifcfg-eth0 file as they should be located within your ifcfg-xenbr0.

5) Create a file called network-dummy under /etc/xen/scripts/ and edit with the following:
#!/bin/bash
/bin/true

6) Modify the script labeled ‘xend-config.sxp’ under
/etc/xen/ and search for the line labeled: (network-script network-bridges) Replace this line with: (network-script network-dummy)

7) Reboot all your OVM Servers for the changes to take effect.

Advertisements