This is our third article on setting up a private OpenNebula cloud to effectively manage infrastructure resources. In our first article, we discussed installing the OpenNebula front-end on Debian. In the second article, we introduced the necessary steps to install and configure OpenNebula KVM Node on a Debian system.
In this guide, we assume that you have configured a bridged network on the KVM node. You can refer to the steps in the following guide.
Create a Linux network bridge on RHEL/CentOS
After creating a Linux bridge on each host that will run virtual machines in the OpenNebula infrastructure, the definition of the required virtual network can be completed.
The bridged network can operate in four different modes based on other traffic filtering performed by OpenNebula:
- Dummy bridge, No filtering, no bridge settings (the old version has no operating driver).
- Bridged, Do not filter, manage the bridge.
- Bridge with security group, Iptables rules are installed to implement security group rules.
- Bridge with ebtables VLAN, Same as above, plus other ebtables rules to isolate (L2) each virtual network.
The focus of this article is on managed bridges without filtering.
Step 1: Log in to the Sunstone Web interface
Open your OpenNebula front-end web console and authenticate.
Step 2: Configure the bridge network in OpenNebula
After logging in, navigate to “The internet“>”Virtual network“
Then select “advanced“Is located in the upper right corner.
Before adding the network configuration, please check to confirm the network settings on the KVM virtualization node:
# My setup $ ip -f inet a s 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 8: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 172.21.200.2/29 brd 172.21.200.255 scope global br0 valid_lft forever preferred_lft forever 9: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 inet 172.20.20.10/24 brd 172.20.20.255 scope global br1 valid_lft forever preferred_lft forever
Edit and paste the network configuration of the bridge.
#Configuration attribute NAME = "Private" VN_MAD = "bridge" BRIDGE = br1 DESCRIPTION = "A private network for VM inter-communication" #Address Ranges, only these addresses will be assigned to the VMs AR=[ TYPE = "IP4", IP = "172.20.20.100", SIZE = "100" ] #AR=[TYPE = "IP4", IP = "172.20.20.220", SIZE = "10" ] # Context attributes NETWORK_ADDRESS = "172.20.20.0" NETWORK_MASK = "255.255.255.0" GATEWAY = "172.20.20.1" DNS = "188.8.131.52" SEARCH_DOMAIN = "hirebestengineers.com"
The definition of a virtual network consists of three different parts:
- This The underlying physical network infrastructure It will support it, including network drivers.
- This Logical address space usable. The address associated with the virtual network can be IPv4, IPv6, dual-stack IPv4-IPv6 or Ethernet.
- This Guest configuration properties To set up the virtual machine network, the network may include, for example, a netmask, DNS server or gateway.
This is the definition of the network configuration used.
- Name: The name of the virtual network
- VN_MAD: Network driver used to implement the network (802.1Q, ebtables, fw, ovswitch, vxlan, vcenter, bridge, dummy)
- bridge: The name of the linux bridge in the node
- Types of: IP4-IPv4 address range
- intellectual property: The first IP in the dotted range
- size: The number of addresses in this range (in my case, this would be 172.20.20.100–172.20.20.200)
- website address: Basic network address
- NETWORK_MASK: Netmask
- Gateway: The default gateway of the network
- DNS: DNS server, a list of servers separated by spaces
- SEARCH_DOMAIN: The default search domain used for DNS resolution
Confirm the configuration and click the “Create” button.
After creation, it will be in “Virtual network” section.
The next task is to configure storage and add VM templates. After that, we should be ready to create a virtual machine in the OpenNebula environment.
Other reading guide: How to configure NFS file system as OpenNebula data storage