Quoting the words from the official OpenQRM site “OpenQRM is the next generation, open-source Data-center management platform. It’s fully pluggable architecture focuses on automatic, rapid- and appliance-based deployment, monitoring, high-availability, cloud computing and especially on supporting and conforming multiple virtualization technologies.
OpenQRM is a single-management console for the complete IT-infra structure and provides a well defined API which can be used to integrate third-party tools as additional plugins.” The OpenQRM platform provides an easy way of building private cloud network inside your office/organization network.
The OpenQRM cloud software can be installed only on a Linux/Unix server, anyhow it supports major other Os's as its clients .
As you can see the requirements for this software are very simple and will not need any additional purchase of hardware to meet the requirements
Now, coming to the capabilities of this cloud, with OpenQRM you will be able to
As you can see from the sample architecture, the OpenQRM software binds different resources and technologies and constitutes it in to a cloud network within your infrastructure. This Plug – in feature of OpenQRM makes it so special from the other remaining cloud softwares
Components are the main building units of the private cloud, the different instances of components are joined together when launching a server instance within the cloud. The main components that make the cloud are
The Resources given in the architecture refers to the actual physical/virtual servers, storage devices in your current infrastructure. You will be using these devices as your cloud resources. Adding new resources to the cloud can be done automatically via a custom PXE boot mechanism provided with OpenQRM. Also, as mentioned above, running resources too can be added to the cloud using a script/exe file provided in OpenQRM.
This is the virtualization technology that you will be using for your cloud. The OpenQRM supports all the major open-source virtualization technologies like KVM, Xen, and VirtualBox etc. When it comes to serious virtualization the main two open source technologies used today are kvm and Xen and your cloud supports both.
And say if you know nothing about these technologies, you don't need to worry about that either. All related tasks can be done from the web portal.
The OpenQRM does this act of virtualization by the help of available plugins shipped along with OpenQRM. You don't need to compile the kernel, install and configure the Virtualization software and all the other tiresome work; you just enable a plugin and mark a resource with that plugin that’s all. In cases you might need to install some packages to meet the softwares requirement but that too can be done from the package manager
This is the storage server mechanism which is used within your cloud. For most of the clouds, for reliability we should not be using the ordinary Hard disk based storage. When using the ordinary hard disk based storage, you are actually compromising the HA on your cloud. Since Hard disks will be the first thing going to get a failure on a server, storing your cloud instances inside that will not be suitable.
We highly recommend you to use modern storage mechanisms like SAN for utilizing the cloud to its best performance. You can even build software San's using your existing Disks, using a RAIDED fashion for better availability and reliability. Anyhow for testing purposes you can use a physical Linux/Unix/Windows server as a storage server, but we highly recommend the use of a SAN
Now coming to the storage mechanisms supported by the OpenQRM , the OpenQRM supports ISCSI/AOE(coraid) based san's , native LVM and ZFS storage mechanisms , NFS storage solutions etc. DRBD, even though cannot be called as a storage mechanism, involves mirroring and OpenQRM supports it as well. Now with the latest release of OpenQRM it is said to be supporting gluster storage mechanisms.
Once you enable a storage plugin, say LVM, you now need to create the storage server component which can be done using an idle resource on the cloud. After you mark an idle resource with the storage plugin, the idle resource becomes the new storage server and you can manage the logical volumes on the storage server from the cloud portal.
Now you can save the server boot image (you can either create it yourself or can be downloaded from OpenQRM’s image-store) and save it to an unused logical volume. And these boot images are used within the appliance configurations for launching cloud server instances.
Suppose you have already saved a particular set of boot image files to a logical volume. You can even clone this logical volume to a new logical volume and thus you don't need to go through all the tasks of downloading, extracting and saving boot images to storage server.
From the above mentioned storage server we will now create the appliance images. We create the image configuration by using the cloud management portal, then give a unique name for the image configuration, select the correct logical volume from the Storage server, and save this configuration. These images are similar to the Amazon’s AMI's and using these images you can launch new server instances
These are the Linux kernels utilized by the server instances on the cloud. These kernels are saved to the OpenQRM server, when the appliance starts booting it fetches the correct kernel as per the appliance configurations. These are the normal Linux kernels, and OpenQRM is shipped with a default kernel and you can manually add additional kernels as per necessity.
These were the main components which can be called as the building blocks for the OpenQRM cloud. The above mentioned instances components are plugged-in to an appliance configuration to create a cloud server instance, and that part is detailed below.
The appliances are the cloud server instances running inside the cloud; these could be physical/virtual server instance. You will be creating an appliance configuration from the portal using the component instances (image, kernel, resource). Once the appliance configuration is completed with a boot image, kernel, resource on which the appliance should run, you can start the appliance and a server instance with the given configurations is launched on the resource you have mentioned in your configuration.
This way the OpenQRM’s pluggable fashion makes it easy for you to create, launch and delete instances through the portal.
Still confused about the plug-in model? Let us try again to make it simpler for you.
You are going to create component instances first then will launch appliances form this;
You have added few resources to your public cloud either automatically or manually.
That’s all … now you have a running kvm VM on your kvm host.
As you can see, the complete process of launching a server instance inside your cloud is very simple using the portal provided by OpenQRM.
Cloud Management Portal
This is the web based cloud management portal included with OpenQRM, and you can see all the tasks related to the cloud can be done form this portal. You can see sections for events (logs), appliances, components (kernel, image, storage, resource etc), plug-in manager etc.
With this post we have covered the basic details about OpenQRM, details like different components, appliances, adding/removing resources etc.
By a planned configuration of the cloud, you can save more on the resources and get more outputs from the existing resources. And the installation, configuration, tweaking of OpenQRM is very simple and all can be controlled using a web portal, thereby setting up a cloud using OpenQRM inside your office/organization a very easy task.