Virtualization with Xen and openQRM 5.1 on Debian Wheezy This HowTo is about how to create and manage Xen Virtual Machines on Debian 7 aka Wheezy with openQRM 5.1. This is the first howto which requires 2 systems and it shows how to integrate additional, existing, local-installed server into openQRM by the example of adding a Xen Host into an existing openQRM environment. Requirements Two physical Server. Alternatively openQRM itself can be installed within a Virtual Machine at least 1 GB of Memory at least 100 GB of Diskspace VT (Virtualization Technology) enabled in the Systems BIOS so that the system(s) can run Xen HVM Virtual Machines later Install openQRM 5.1 on Debian Wheezy Install a minimal Debian Wheezy on a physical Server Install and initialize openQRM 5.1 A detailed Howto about the above initial starting point is available at "Install openQRM 5.1 on Debian Wheezy (resources/documentation- howtos/howtos/install-openqrm-51-on-debian-wheezy.html)". For this howto we have used the same openQRM server as for the howtos about "Virtualization with KVM and openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/virtualization-with-kvm-and-openqrm-51-on-debian-wheezy.html)" and "Automated Amazon EC2 Cloud deployments with openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/automated-amazon-ec2-cloud-deployments-with- openqrm-51-on-debian-wheezy.html)". That means with this howto we are going to add functionality to an existing openQRM setup. This is to show that openQRM manages all different virtualization and deployment types seamlessly. Actually this means you can use either use the "Install openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/install-openqrm- 51-on-debian-wheezy.html)", "Virtualization with KVM and openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/virtualization- with-kvm-and-openqrm-51-on-debian-wheezy.html)" or "Automated Amazon EC2 Cloud deployments with openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/automated-amazon-ec2-cloud-deployments-with-openqrm-51-on-debian-wheezy.html)" as starting point. Set a custom Domain name Please notice: Only needed if you haven't start with one of the previous howtos! As the first step after the openQRM installation and initialization it is recommended to configure a custom domain name for the openQRM management network. In this Use-Case the openQRM Server has the private Class C IP address 192.168.178.5/255.255.255.0 based on the previous "Howto install openQRM 5.1 on Debian Wheezy (resources/documentation-howtos/howtos/install-openqrm-51-on-debian-wheezy.html)". Since the openQRM management network is a private one any syntactically correct domain name can be used e.g. 'my123cloud.net'. The default domain name pre-configured in the DNS plugin is "oqnet.org". Best practice is to use the 'openqrm' commandline util to setup the domain name for the DNS plugin. Please login to the openQRM Server system and run the following command as 'root' in a terminal: /usr/share/openqrm/bin/openqrm boot-service configure -n dns -a default -k OPENQRM_SERVER_DOMAIN -v my123cloud.net
29
Embed
Virtualization with Xen and openQRM 5.1 on Debian Wheezy
This HowTo is about how to create and manage Xen Virtual Machines on Debian 7 aka Wheezy with openQRM 5.1. This is the first howto which requires 2 systems and it shows how to integrate additional, existing, local-installed server into openQRM by the example of adding a Xen Host into an existing openQRM environment.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Virtualization with Xen and openQRM 5.1 on Debian Wheezy
This HowTo is about how to create and manage Xen Virtual Machines on Debian 7 aka Wheezy with openQRM 5.1. This is the first howto which
requires 2 systems and it shows how to integrate additional, existing, local-installed server into openQRM by the example of adding a Xen Host into an
existing openQRM environment.
Requirements
Two physical Server. Alternatively openQRM itself can be installed within a Virtual Machineat least 1 GB of Memoryat least 100 GB of DiskspaceVT (Virtualization Technology) enabled in the Systems BIOS so that the system(s) can run Xen HVM Virtual Machines later
Install openQRM 5.1 on Debian Wheezy
Install a minimal Debian Wheezy on a physical ServerInstall and initialize openQRM 5.1
A detailed Howto about the above initial starting point is available at "Install openQRM 5.1 on Debian Wheezy (resources/documentation-
Enabling PluginsIn the openQRM Plugin Manager please enable and start the following plugins in the sequence below:
dns plugin - type Networkingdhcpd plugin - type Networkingtftpd plugin - type Networkingnetwork-manager plugin - type Networkinglocal-server plugin - type Miscdevice-manager plugin - type Managementnovnc plugin - type Managementsshterm plugin - type Managementlinuxcoe plugin - type Deploymentxen plugin - type Virtualization
Hint: You can use the filter in the plugin list to find plugins by their type easily!
Install Debian Wheezy on the second system dedicated for the XenHostInstall a minimal Debian Wheezy on the second physical Server.
During the installation select 'manual network' configuration and provide a static IP address. In this Howto we will use 192.168.178.6/255.255.255.0 as
the IP configuration for the openQRM Server system.
In the partitioning setup please select 'manual' and create one partition for the root-filesystem, one as swap space plus a dedicated partition to be
used as storage space for the Virtual Machines later. In the configuration of the dedicated storage partition select 'do not use'.
In the software selection dialog select just 'SSH-Server'
After the installation finished please login to the system and update its packaging system as 'root'
apt-get update && apt-get upgrade
Then install the Xen Hypervisor plus its package dependencies by the following command:
apt-get install xen-linux-system-amd64
To set the Xen Hypervisor as the default kernel in Grub please edit "/etc/default/grub" and udpate
GRUB_DEFAULT=0
to
GRUB_DEFAULT=2
After a regular Debian Installation the Xen Hypervisor is normally the third boot option in /boot/grub/grub.cfg. Counting from 0 the GRUB_DEFAULT
should be set to 2). Then run:
update-grub && reboot
to update the Grub boot-loader and to reboot the system into the Xen Hypervisor.
After reboot login again to the 2. system and ensure that the system has booted the Xen Hypervisor by running:
xm list
The output of this command should be similar to the following:
root@debian:~# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 3514 2 r----- 20.9
root@debian:~#
Enable VNC access to the Virtual Machine console on the Xen HostTo enable VNC access to the Virtual Machine console on the Xen Host please edit '/etc/xen/xend-config.sxp' and adapt the 'vnclisten' parameter.
Uncomment and update it to:
vnclisten="0.0.0.0"
Then restart Xen to activate the new VNC configuration.
/etc/init./xend restart
Integrate the Xen System into openQRM via the "local-server" pluginCopy (scp) the openqrm-local-server integration tool from the openQRM server to the second System dedicated for the Xen Host:
Create the Virtualization Host ObjectPlease notice: In this howto we will name this second, integrated system as 'Xen Host'! In the openQRM UI the Xen Host is named 'xen'
The integration via the 'local-server' plugin created a new resource object for the Xen Host in openQRM.
It also created a new server object for the integrated Xen Host to allow further management. Go to Datacenter -> Server and click on 'Edit' of the Xen
Additionally 2 Xen Storage Objects are automatically created to manage different types of VM volumes
Create a LVM Volume GroupThe Xen Storage type with the best flexibility regarding volume management is 'Xen LVM Storage'. Each VM gets its own dedicated logical volume as
its root image. Alternatively 'Xen Blockfile Storage' can be used. Volumes for this storage type are created on the Hosts filesystem via the qemu-img
command. This Howto describes the 'Xen LVM Storage' type.
Go to Datacenter -> Storage and click on the 'manage' button of the 'xen-lvm' storage object
Please notice! The system automatically checks if the system utilities for the LVM functionalities are available. If not it openQRM triggers to
automatically install them via the distribution package manager. This may delay the first time the command is executed on the system.
When you have followed the paritioning setup in the seconds system Debian installation there is now a dedicated /dev/sda3 partition available which
can be used to create a LVM Volume group. Please provide a name for the LVM Volume group (here 'xenvg'), select the /dev/sda3 device and submit.
Please notice: On the Xen Host for this howto we are going to use /dev/sdb3! If you have installed on a single disk your choice will be still /dev/sda3.
The LVM Volume group to store the VM Images is created now
Create one or more network bridgesThe Xen Virtualization technology is using network bridges to connect the Virtual Machines virtualized network interfaces to real networks.
Go to Datacenter -> Server and click on 'Edit' of the Xen Host server object
Here a screenshot of the network interface list after creating the new network bridge 'br0'.
Create a LinuxCOE automatic-installation templateThe LinuxCOE Project provides a useful UI to create automatic-installation ISO images for various Linux distribution e.g. preseed, kickstart and
autoyast. Those ISO images can be then used to fully automatically install a Linux distribution without any manual interaction needed.
The integration of LinuxCOE in openQRM makes those automatic-installation ISO images automatically available on all Virtualization Hosts (mounted by
nfs at /linuxcoe from the openQRM server). This makes it easy to configure a Virtual Machines installation boot image from the central ISO Pool mount
point.
Please notice! The LinuxCOE plugin in openQRM comes with a fully automatically setup and pre-configuration of LinuxCOE. Since LinuxCOE is an
installation-framework it is recommended to add further custom configuration such as local package mirrors, new distribution data and config files etc.
Please read more about how to further enhance your LinuxCOE installation at http://linuxcoe.sourceforge.net/#documentation
(http://linuxcoe.sourceforge.net/#documentation)
First step is to create a new automatic-installation profile and ISO image.
Here the list view of the updated automatic-installation template.
Create a new Xen Virtual MachineUse openQRM's Server Wizard to add a new Xen Virtual Machine. This Wizard works in the same way for physical systems, KVM VMs, Xen VMs, Citrix
XenServer VMs, VMware VMs, LXC VMs and openVZ VMs.
Go to Datacenter -> Server -> Add a new Server
Please give a name for the new server. Easiest is to use the 'generate name' button. Also provide a useful description.
Started the new server, now marked as 'active'.Starting the logical server object triggers to actually start the resource (the Xen VM) with the
configured Image (the LVM volume) and triggers additional automatic configuration tasks via a plugin-hook. This server start- and stop hooks are
"asking" each activated plugin if there is "some work to do". For a few examples how hooks are used in openQRM please check the list below:
The DNS plugin is using those hooks to automatically add (or remove) the server name into the managed bind serverThe Dhcpd plugin add the "hostname option" for the server to its configurationThe Nagios plugin adds/removes service checks for automatic monitoringThe Puppet plugin activates configured appliaction recipes to automatically setup and pre-configure services on the VM
Please notice! After the automatic installation via the attached LinuxCOE ISO image the VM reboots to the install screen again.
We now have to re-configure the VMs boot-sequence to 'local-boot'. To do this please follow the steps below:
stop the VM by stopping its server object - Datacenter -> Server -> Select + Stopin Plugins -> Virtualization -> Xen -> Xen VMs select the Xen Host and update the VM to boot 'local'now start the VM again by starting its server object - Datacenter -> Server -> Select + Start
Here a screenshot of the completed Debian installation after setting the boot-sequence of the VM to 'local'
Install the 'openqrm-local-vm-client'Now it is recommended to install the 'openqrm-local-vm-client' on the fresh installed system. For local-installed Virtual Machines (e.g. kvm(local VM),
xen(local VM), lxc(local VM), openvz(local VM) which have access to the openQRM network the 'openqrm-local-vm-client' activates the plugin-client-
boot-services to allow further management functionality (e.g. application deployment with Puppet, system statistics with Collectd etc). Monitoring and
openQRM actions are still running on behalf of the VM Host.
To install the 'openqrm-local-vm-client' on VM please follow the steps below:
Copy the 'openqrm-local-vm-client' utility to the running VM
cd /usr/share/openqrm/plugins/local-server/web/local-vm/ && scp openqrm-local-vm-client [ip-address-of-the-VM]:/tmp/
Then login to the VM
ssh [ip-address-of-the-VM]
This prompts for the password which was configured in the LinuxCOE automatic-installation template. Please give the password andexecute the openqrm-local-vm-client utility
/tmp/openqrm-local-vm-client
This will automatically setup the 'openqrm-local-vm-client' in the system init and start it.
Create additional Xen VMs by cloning/snapshotting the VolumeGo to Plugins -> Virtualization -> Xen -> Xen Volumes and select the 'xen-lvm' storage object. Then choose the 'xenvg' logical volume group to get a
list of all available LVM volumes.
In this view you can use the 'clone' or 'snap' action to clone or snapshot existing, installed Xen LVM Volumes. The 'clone' action creates a new logical
volume and copies the content of the origin over. Snaptshoting is using the "copy-on-write" mechanism of LVM which is much more efficient. Actually
a deployd snapshot of a Xen LVM Volume just stores the changes compared to its origin. That means that creating snapshots e.g. per user allows to
'just' store the data which is different per user.
Here the Datacenter Dashboard after we have created the Xen Virtual Machine
Add more functionalities to your openQRM SetupTo continue and further enhance your openQRM Xen Virtualization Setup there are several things to do:
Enable the puppet plugin and automatically deploy your appliactions to your serverEnable the highavailability plugin to automatically gain HA for your serverEnable the hybrid-cloud plugin to automate your Amazon EC2 and Eucalyptus deploymentsEnable the cloud plugin for a complete Self-Service deployment of your Server and Software stack to end-usersEnable further Virtualization plugins and integrate additional remote Virtulization hosts for a fully distributed Cloud environmentEnable further Storage and Deployment plugins to automatically provision your Virtualization Hosts and other physical systems... and more.
LinksopenQRM Community: http://www.openqrm.com/ (http://www.openqrm.com/)openQRM Project at sourceforge: http://sourceforge.net/projects/openqrm/ (http://sourceforge.net/projects/openqrm/)openQRM Enterprise: http://www.openqrm-enterprise.com/ (http://www.openqrm-enterprise.com/)openQRM at Twitter: https://twitter.com/openQRM (https://twitter.com/openQRM)openQRM at Facebook: https://www.facebook.com/pages/openQRM-Enterprise/324904179687(https://www.facebook.com/pages/openQRM-Enterprise/324904179687)LinuxCOE Project: http://linuxcoe.sourceforge.net/ (http://linuxcoe.sourceforge.net/)