With a standard Linux System you can use ‘libvirt’ to manage Virtual Clients (VC). For more virtual ability you can add Xen to Linux.
The basic installation of Xen is not a complicated one.
Initial Installation
The first thing to do is to set up Linux on your system. Perform the installation as normal, but watch the following settings for the hard drive use:
FIGURE 1
Use GParted or the OS installer to initially configure the unused space so it has a partition label. On CentOS 7 you may need to install GParted to do this task. To install GParted on CentOS 7 type the following two commands in a Terminal:
sudo yum install epel-release
sudo yum install gparted
Once the Linux Operating System (OS) is installed it may be best to perform an update of the repository lists and then upgrade any files which have been updated. To perform the update and upgrade for Ubuntu perform the following two commands:
sudo apt-get update
sudo apt-get upgrade
For a Red Hat System, such as CentOS 7, perform the following command:
sudo yum update
Now that the system is updated you can install Xen and get it configured to begin using.
Xen Basics
If you have been following the previous steps you may have noticed that any remaining space on the hard drive has been left unmounted. It is the unmounted space which will be set aside for Xen.
Xen is Type 1 Hypervisor and therefore is loaded before the OS since it is not exactly part of the OS. Xen will share hardware resources with Linux and not go through Linux to access the hardware. Figure 2 shows the way Xen and Linux work together.
FIGURE 2
Once Xen has been installed then you will see a special entry in the GRUB menu to load Xen before Linux. The GRUB Menu may not be seen, but the specific menu entry should be loaded by default.
Xen clients will be setup on the remaining partition not mounted. Xen program files will be placed on the ROOT mount. If you plan on having quite a few Virtual Clients (VC’s) then make sure the unmounted partition has the required amount of space.
NOTE: Set aside enough space for the ROOT partition so you are comfortable with it. The size of the ROOT partition should allow for any future file updates and OS upgrades. Add more, if you want to, for these reasons.
XEN Preparation
To start the installation you need to know the partition on which XEN will be installed. Open a Terminal and type the command ‘lsblk’ and look for the unmounted partition. The partition, for example, could be ‘/dev/vda7’ as shown in Figure 3.
NOTE: The labels in Figure 3 were taken from a Virtual Server and the labels are ‘VDA#’ which stand for ‘Virtual Disk A #’. On a standard system the labels would be ‘SDA#’, ‘SDB#’ or some other letter after the ‘SD’.
FIGURE 3
Next we need to set the extra space up for Xen to use. The partition must be set up for the Logical Volume Manager (LVM). To set up LVM on the Ubuntu Linux system you need to install LVM support with the following command:
sudo apt-get install lvm2
For a Red Hat System use the following command:
sudo yum install lvm2*centos 7
Once the LVM is installed then you need use the extra partition with the LVM. We create the Physical Volume for use by the LVM with the command for both Ubuntu and Red Hat:
sudo pvcreate /dev/vda7
The partition I am using is the one which was found by using the command ‘lsblk’ previously shown in Figure 3. You will be asked to ‘wipe’ or delete the existing partition, so make sure you use the proper label. Answer ‘y’ for yes to wipe the partition and then you should be set.
NOTE: If you get an error message similar to ‘failed to connect to lvmetad’ then perform the following commands from a Terminal:
/etc/init.d/lvm2 stop
use_lvmetad=0
/etc/init.d/lvm2 start
Now that the Physical Volume is set we need to create a Volume Group. A Volume Group is one or more Physical Volumes. To create the Volume Group for either Ubuntu or Red Hat you will need to perform the following command:
sudo vgcreate vg0 /dev/vda7
NOTE: Keep in mind that the partition label will be different on your system. Instead of ‘vda7’ it may be ‘sda7’ or something similar.
To see that the Volume Group has been created, use the command:
sudo vgdisplay
The output should be similar to Figure 4.
FIGURE 4
The volume is set and the network card on the computer will need to be bridged with a virtual network card. The Virtual network card is used by the Virtual Clients (VC) to access the network/Internet through the physical network connection of the Host System.
To create the ‘bridge’ you first need to install the software to support the bridge. Perform the following command to install the software for Ubuntu:
sudo apt-get install bridge-utils
For Red Hat use the command:
sudo yum install bridge-utils
Once installed you will need to configure the bridged network adapter for Ubuntu. You can start by looking at the network interfaces file. Try the following command:
cat /etc/network/interfaces
This should print out the contents of the file on the screen. There should be a line similar to the following:
iface enplls0 inet dhcp
The interface is named ‘enplls0’ which most likely will differ on other systems unless you are using the same Network Interface Card (NIC). The interface is using DHCP for obtaining an IP Address. Use the name of your NIC when making the following changes. Use the following command, but change the name of ‘[editor]’ to your preferred editor installed on your system.
sudo [editor] /etc/network/interfaces
Find the line mentioned above and change it to:
iface enplls0 inet manual
After this line add the following lines:
auto xenbr0
iface xenbr0 inet dhcp
bridge-ports enplls0
To get the Virtual Network Bridge to start it may be best to reboot the system and allow the Bridge to start normally.
To set up the Network Bridge on a Red Hat system you need to perform the following commands to disable the networking and set it to start at boot:
chkconfig NetworkManager off chkconfig –levels 35 network on /etc/init.d/NetworkManager stop /etc/init.d/network restart
You can look at the network interfaces file with the following command:
cat /etc/sysconfig/network-scripts/ifcfg-br0
If the file does not exist, which may be the case, then you need to perform the following command:
sudo gedit /etc/sysconfig/network-scripts/ifcfg-br0
Add the following lines to the editor and save the file:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
DNS1=192.168.0.1
GATEWAY=192.168.0.1
IPADDR=192.168.0.100
NETMASK=255.255.255.0
ONBOOT=yes
SEARCH=“example.com”
Set the DNS1, GATEWAY, IPADDR and NETMASK as appropriate for your network.
Next, you need to perform the following command to edit the file for the Ethernet connection:
sudo gedit /etc/sysconfig/network-scripts/ifcfg-eth0
Make sure the following two lines are added to the file and saved.
USERCTL=“no”
BRIDGE=“br0”
Once the changes have been made you can reboot the Cent OS 7 system for the changes to take effect.
XEN Installation
Now to install Xen. On a 64-bit Ubuntu System, a 64-bit system is more highly suggested, you need to perform the following command:
sudo apt-get install xen-hypervisor-amd64
On a Red Hat System you need the command:
sudo yum install centos-release-xen
sudo yum update
sudo yum install xen
After the installation you need to reboot the system to enable Xen. The GRUB Menu should appear and give you the option to load your OS with Xen with the line ‘Ubuntu GNU/Linux, with Xen hypervisor’. For Red Hat the GRUB Menu item will be ‘Centos Linux with Xen hypervisor’.
Make sure you choose the option to load Xen, and if needed, make it the default option to load on startup.
This should take you through the basic installation of Xen. I will cover the configuration in later articles.
The basic installation of Xen is not a complicated one.
Initial Installation
The first thing to do is to set up Linux on your system. Perform the installation as normal, but watch the following settings for the hard drive use:
- Primary - 499.1 MB - /boot – Bootable - ext4
- Logical – 20.0 GB - / - non-bootable - ext4
- Logical – 2.0 GB - /swap – non-bootable - swap
- Logical – remaining space – no mount point – non-bootable - ext4
FIGURE 1
Use GParted or the OS installer to initially configure the unused space so it has a partition label. On CentOS 7 you may need to install GParted to do this task. To install GParted on CentOS 7 type the following two commands in a Terminal:
sudo yum install epel-release
sudo yum install gparted
Once the Linux Operating System (OS) is installed it may be best to perform an update of the repository lists and then upgrade any files which have been updated. To perform the update and upgrade for Ubuntu perform the following two commands:
sudo apt-get update
sudo apt-get upgrade
For a Red Hat System, such as CentOS 7, perform the following command:
sudo yum update
Now that the system is updated you can install Xen and get it configured to begin using.
Xen Basics
If you have been following the previous steps you may have noticed that any remaining space on the hard drive has been left unmounted. It is the unmounted space which will be set aside for Xen.
Xen is Type 1 Hypervisor and therefore is loaded before the OS since it is not exactly part of the OS. Xen will share hardware resources with Linux and not go through Linux to access the hardware. Figure 2 shows the way Xen and Linux work together.
FIGURE 2
Once Xen has been installed then you will see a special entry in the GRUB menu to load Xen before Linux. The GRUB Menu may not be seen, but the specific menu entry should be loaded by default.
Xen clients will be setup on the remaining partition not mounted. Xen program files will be placed on the ROOT mount. If you plan on having quite a few Virtual Clients (VC’s) then make sure the unmounted partition has the required amount of space.
NOTE: Set aside enough space for the ROOT partition so you are comfortable with it. The size of the ROOT partition should allow for any future file updates and OS upgrades. Add more, if you want to, for these reasons.
XEN Preparation
To start the installation you need to know the partition on which XEN will be installed. Open a Terminal and type the command ‘lsblk’ and look for the unmounted partition. The partition, for example, could be ‘/dev/vda7’ as shown in Figure 3.
NOTE: The labels in Figure 3 were taken from a Virtual Server and the labels are ‘VDA#’ which stand for ‘Virtual Disk A #’. On a standard system the labels would be ‘SDA#’, ‘SDB#’ or some other letter after the ‘SD’.
FIGURE 3
Next we need to set the extra space up for Xen to use. The partition must be set up for the Logical Volume Manager (LVM). To set up LVM on the Ubuntu Linux system you need to install LVM support with the following command:
sudo apt-get install lvm2
For a Red Hat System use the following command:
sudo yum install lvm2*centos 7
Once the LVM is installed then you need use the extra partition with the LVM. We create the Physical Volume for use by the LVM with the command for both Ubuntu and Red Hat:
sudo pvcreate /dev/vda7
The partition I am using is the one which was found by using the command ‘lsblk’ previously shown in Figure 3. You will be asked to ‘wipe’ or delete the existing partition, so make sure you use the proper label. Answer ‘y’ for yes to wipe the partition and then you should be set.
NOTE: If you get an error message similar to ‘failed to connect to lvmetad’ then perform the following commands from a Terminal:
/etc/init.d/lvm2 stop
use_lvmetad=0
/etc/init.d/lvm2 start
Now that the Physical Volume is set we need to create a Volume Group. A Volume Group is one or more Physical Volumes. To create the Volume Group for either Ubuntu or Red Hat you will need to perform the following command:
sudo vgcreate vg0 /dev/vda7
NOTE: Keep in mind that the partition label will be different on your system. Instead of ‘vda7’ it may be ‘sda7’ or something similar.
To see that the Volume Group has been created, use the command:
sudo vgdisplay
The output should be similar to Figure 4.
FIGURE 4
The volume is set and the network card on the computer will need to be bridged with a virtual network card. The Virtual network card is used by the Virtual Clients (VC) to access the network/Internet through the physical network connection of the Host System.
To create the ‘bridge’ you first need to install the software to support the bridge. Perform the following command to install the software for Ubuntu:
sudo apt-get install bridge-utils
For Red Hat use the command:
sudo yum install bridge-utils
Once installed you will need to configure the bridged network adapter for Ubuntu. You can start by looking at the network interfaces file. Try the following command:
cat /etc/network/interfaces
This should print out the contents of the file on the screen. There should be a line similar to the following:
iface enplls0 inet dhcp
The interface is named ‘enplls0’ which most likely will differ on other systems unless you are using the same Network Interface Card (NIC). The interface is using DHCP for obtaining an IP Address. Use the name of your NIC when making the following changes. Use the following command, but change the name of ‘[editor]’ to your preferred editor installed on your system.
sudo [editor] /etc/network/interfaces
Find the line mentioned above and change it to:
iface enplls0 inet manual
After this line add the following lines:
auto xenbr0
iface xenbr0 inet dhcp
bridge-ports enplls0
To get the Virtual Network Bridge to start it may be best to reboot the system and allow the Bridge to start normally.
To set up the Network Bridge on a Red Hat system you need to perform the following commands to disable the networking and set it to start at boot:
chkconfig NetworkManager off chkconfig –levels 35 network on /etc/init.d/NetworkManager stop /etc/init.d/network restart
You can look at the network interfaces file with the following command:
cat /etc/sysconfig/network-scripts/ifcfg-br0
If the file does not exist, which may be the case, then you need to perform the following command:
sudo gedit /etc/sysconfig/network-scripts/ifcfg-br0
Add the following lines to the editor and save the file:
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
DNS1=192.168.0.1
GATEWAY=192.168.0.1
IPADDR=192.168.0.100
NETMASK=255.255.255.0
ONBOOT=yes
SEARCH=“example.com”
Set the DNS1, GATEWAY, IPADDR and NETMASK as appropriate for your network.
Next, you need to perform the following command to edit the file for the Ethernet connection:
sudo gedit /etc/sysconfig/network-scripts/ifcfg-eth0
Make sure the following two lines are added to the file and saved.
USERCTL=“no”
BRIDGE=“br0”
Once the changes have been made you can reboot the Cent OS 7 system for the changes to take effect.
XEN Installation
Now to install Xen. On a 64-bit Ubuntu System, a 64-bit system is more highly suggested, you need to perform the following command:
sudo apt-get install xen-hypervisor-amd64
On a Red Hat System you need the command:
sudo yum install centos-release-xen
sudo yum update
sudo yum install xen
After the installation you need to reboot the system to enable Xen. The GRUB Menu should appear and give you the option to load your OS with Xen with the line ‘Ubuntu GNU/Linux, with Xen hypervisor’. For Red Hat the GRUB Menu item will be ‘Centos Linux with Xen hypervisor’.
Make sure you choose the option to load Xen, and if needed, make it the default option to load on startup.
This should take you through the basic installation of Xen. I will cover the configuration in later articles.