How to install OpenQRM
Add comment June 19th, 2007
Installing QRM Server under 30 minutes tutorial.
So you have decided to try out OpenQRM 3.1, but not sure where to start or what to do? Well you are in the right place. I’m here to help you get the initial setup of OpenQRM with basic Virtual Environment working. If you just starting out with linux server provisioning and high availability OpenQRM is amazing product and can do wonders when setup properly.
Minimal System Requirements
What is required to get OpenQRM working?
To avoid unneceserary conflicts:
All QRM test servers must be on one separated VLAN.
There should be no DHCP service running on the network.
Minimal system requirements:
- Three spare servers/computers.
- One server designated as OpenQRM Management Server.
- Atleast PIII 800Mhz, 512mb of RAM, 30 GB of disk space and 10/100MBps PXE bootable NIC card.
- Plain installation of RedHat ES/AS 4 or CentOS 4 with no DHCP, MySQL, TFTP or other service.
- Two servers designated as QRM Nodes.
- Atleast PIII 600Mhz, 256mb of RAM, 5 GB of disk space(hard disk is optional but highly recommended for swapping) and 10/100MBps PXE bootable NIC card.
Recommended system requirements: (the more the better approach)
- At least four spare servers/computers.
- One server designated as OpenQRM Management Server.
- Atleast PIII 800Mhz, 1024MB+ of RAM, 30GB+ of disk space and 10/100/1000MBps PXE bootable NIC card.
- Plain installation of RedHat ES/AS 4 or CentOS 4 with no DHCP, MySQL, TFTP or other services.
- One server designated as NFS Storage
- Atleast PIII 800Mhz, 1024MB+ of RAM, 100GB+ of disk space and 10/100/1000MBps PXE bootable NIC card.
- Plain installation of RedHat ES/AS 4 or CentOS 4 with NFS service and no DHCP, MySQL, TFTP or other services.
- Two or more servers designated as QRM H.A. Nodes.
- Atleast PIII 600Mhz, 1024MB+ of RAM, 5 GB of disk space(hard disk is optional but highly recommended for swapping) and 10/100/1000MBps PXE bootable NIC card.
If you don’t have any spare machines laying around, but you do have a decent server, as a suggestion, you can install VmWare Server and emulate all the machines mentioned above. Please note that this is not a tutorial on how to get VmWare Server running, there are plenty tutorials out there on how to get VmWare working which I find to be extremmely easy to setup and use. Click on more for VmWare configuration.
Assuming all of the above complete and ready, you are 40 % done!
Installing OpenQRM Server
Note: In this tutorial I will assume we have 4 servers to work with, if you only have three servers, you can combine NFS into you QRM server. I just think its cleaner and simplier to have them separate.
From here on 90% of the work will be done on QRM server itself 10% on NFS server. So let us begin!
In your main QRM Server shell prompt download the following files using wget or similar utillity
If any of the links below fail to downloads, please visit the creators site to obtain latest link, you will need MySQL any version above 5.0.22 and QRM 3.1
Creating openqrm directory
mkdir /root/openqrm
cd /root/openqrm
Downloading MySQL 5.0.27 - required by QRM, any version above 5.0.22 is sufficient|
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-server-standard-5.0.27-0.rhel4.i386.rpm/from/http://mirror.services.wisc.edu/mysql/
wget http://dev.mysql.com/get/Downloads/MySQL-5.0/MySQL-client-standard-5.0.27-0.rhel4.i386.rpm/from/http://mirror.services.wisc.edu/mysql/
Downloading OpenQRM 3.1 from SourceForge.net mirrors
wget http://easynews.dl.sourceforge.net/sourceforge/openqrm/openqrm-core-base-3.1-1.AS4.i386.rpm
wget http://easynews.dl.sourceforge.net/sourceforge/openqrm/openqrm-extras-mysql-3.1_1.0.0-0.AS4.i386.rpm
wget http://easynews.dl.sourceforge.net/sourceforge/openqrm/openqrm-plugin-tftpd-3.1_1-0.AS4.i386.rpm
wget http://easynews.dl.sourceforge.net/sourceforge/openqrm/openqrm-plugin-dhcpd-3.1_1-0.AS4.i386.rpm
Alternatively, For your and my convinience I have created an OpenQRM bundle with all of the files above which can be downloaded from ServerChief.com server
wget http://www.serverchief.com/openqrm-3.1-RHEL4-bundle.tgz
tar -zxvf openqrm-3.1-RHEL4-bundle.tgz
Installing MySQL RPMS first
rpm -iUvh MySQL-server-standard-5.0.27-0.rhel4.i386.rpm
rpm -iUvh MySQL-client-standard-5.0.27-0.rhel4.i386.rpm
Installing OpenQRM RPMS second
rpm -i openqrm-core-base-3.1-1.AS4.i386.rpm
rpm -i openqrm-extras-mysql-3.1_1.0.0-0.AS4.i386.rpm
rpm -i openqrm-plugin-tftpd-3.1_1-0.AS4.i386.rpm
rpm -i openqrm-plugin-dhcpd-3.1_1-0.AS4.i386.rpm
Verifying RPM Installation
rpm -qa | grep -i qrm
(you should see four entries for QRM)
rpm -qa | grep -i mysql
(you should see 2 entries for MySQL)
Configuring Server and OpenQRM
Configuring Server
As a general server rule, we need to have the static IP addresses on all the main servers.
In my scenario I have a separate NFS server (could be a NetApp or something else in future), single QRM server and several nodes.
It is very important to have QRM server and nodes on the same network. In this example, I suggest to have NFS on the the same network as well - to minimize latency and unneeded points of failure.
In the scenario here are the specs I’ve used for network settings:
Network: 172.16.36.0
Netmask: 255.255.255.0
IP of QRM server: 172.16.35.129
IP of NFS server: 172.16.35.125
DNS and Gateway IPs are optional. NFS server will be discussed in Part 2.
WE MUST SET UP THE IP ADDRESSES FOR QRM AND NFS SERVER BEFORE WE PROCEED!
Configuring OpenQRM Server
When you installed RPM files, it created a directory under /opt/qrm which contains all QRM data files. First we need to configure the OpenQRM server, this is done by simply running from the shell prompt (note: this process has been greatly simplified from previous versions)
Run this command in you shell prompt:
/opt/qrm/qrm-installer
This will invoke QRM configurator and installer scripts. As this is a nice command line installer, the mouse is ineffective, therefore you can only use TAB key (to move from field to field), SPACE bar (to select or deselect) ENTER key to proceed, ESC or CTRL-C to abort. I have taken a screenshot if each step for your convinience.
Step 1: Press Enter to proceed to next page:

Step 2: QRM will scan for plugins and if you ran the RPMs properly, you should see all three plugins detected. You must select them to proceed further.

Step 3: General Setup and QRM configuration settings, please make sure that this part is properly configured, if you have multiple NICs, you must select NIC card you wont QRM to be working from.

Step 4: DHCPD configuration, it is very critical to stay consistent and have all value within the same network range. Also, QRM will attempt to AutoFill all the fields for your, if it has not done so, you can add them manually. QRM will complain about incompatibilty if you have added wrong value, but it is highly recommended to get right from the start. For the test purpose, you can use the same values I have listed (make sure that server IP address on the NIC and QRM server are identical).

Step 5: MySQL Configiration, as you can see not much to be done here.

Step 6: TFTPD configuration, as you can see not much to select here.

Step 7: Finishing

Step 8: Saving the values to QRM configuration file, the installer will proceed with installation portion upon saving the settings.

Assuming you have completed the steps above, QRM will proceed with installation. I have included my output for comparison purpose, just in case you need to compare it against yours.
#####################################################
# #
# Welcome to OpenQRM 3.1
# installation procedure
# #
# by Qlusters Inc
#####################################################
(logfile for the installation at /var/log/qrm/qrm-installer.log)
If you are using openQRM under the commercial license,
please enter your user name and key as provided by Qlusters.
Please enter your user name: ( for open source license)
Components will be installed in following order:
1. mysql
2. qrm-core
3. tftpd
4. dhcpd
==================================
Running components sanity checks
==================================
mysql……..
WARNING: Found package mysql-server, but couldn’t find –defaults-file option
WARNING: Assuming /etc/my.cnf for MySQL
[ OK ]
qrm-core……..
[ OK ]
tftpd……..
[ OK ]
dhcpd……..
[ OK ]
==================================
Running install stage for components
==================================
mysql…………..
Installing mysql
Mysql instance needs to be restarted to pickup QRM config
Do You want to continue restart you MySQL ? (y/n) [y]
Shutting down MySQL. [ OK ]
Starting MySQL [ OK ]
Granting root priveleges from all hosts
[ OK ]
qrm-core…………..
Installing qrm-core
Do you wish to initialize the system entities ? (y/n) [y]
Initializing the Qrm-database
Creating the default pxe-configuration
Creating the default Qrm boot-image
Creating boot-image qrm from kernel version 2.6.9-34.EL
using default initrd template /opt/qrm/etc/templates/initrd-qrm.tgz
Copying the kernel files
Creating the initrd file
Successfully created boot-image qrm
Installing Qrm-server init script
[ OK ]
tftpd…………..
Installing tftpd
[ OK ]
dhcpd…………..
Installing dhcpd
[ OK ]
Starting the Qrm-server ——-
-/ [ OK ]
Do you want to get the latest manual? (y/n) [n]
###############################################################
Installation finished
Components with status SUCCESS : mysql qrm-core tftpd dhcpd
#################################################################
Final round of tests, run the netstat command to check if DHCP and TFTP daemons are running.
netstat -antu | grep :6 | grep -v :631
Proper output should look like…
udp 0 0 0.0.0.0:67 0.0.0.0:*
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 0.0.0.0:68 0.0.0.0:*
udp 0 0 0.0.0.0:69 0.0.0.0:*
Checking for OpenQRM services
service qrm-server status
Response should look like
Qrm-server is running
If you get a similar response as above, the OpenQRM has started succesfully and has DHCP and TFTP Daemons listening.
Checking if OpenQRM GUI is running
First we need to see if OpenQRM apache/tomcat services is listening on port 80. Run a netstat and grep for port 80, i.e.
netstat -ant | grep :80
Proper output should look like
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN
OpenQRM comes with great GUI. It’s simple and yet very powerful management tool packed with everything you need to run a highly available data center. Simply open your browser and enter QRM server’s ip in address tab.

If your output looks just like mine, you did a great job, we have almost finished with barebone install of QRM running. We just need to power on the idle systems and make sure they are set to PXE boot. From now on, the idle system will be referred as “idle node”.
Here is the screenshot of how idle node looks like after it succesefully PXE booted.

If anything has failed and you don’t get proper output as above, please make sure you’ve made everything as mentioned previously, and complete missing portions, if that does not help visit troubleshooting section at the bottom of this tutorial or goto OpenQRM forum.
Before we begin with part 2, here are some terms that you will see in QRM GUI interface
Common Terms in OpenQRM
Idle Nodes
— Maintenance Mode
— Error Mode
Virtual Environments
Kernels
Metrics
File System Images
Storage Servers
PART 2
Working with OpenQRM GUI
Please start several idle nodes and PXE boot them into QRM idle kernel. Upon completion of idle node boot, goto to OpenQRM GUI by entering the IP address of QRM server in address tab.
Default username: qrm
Default password: qrm
Once logged in, your output should look similar to mine. You must have several idle nodes under Resources tab.

You can click on resources and see a better description of each idle node.
As soon as idle node is up and running, it will appear under resources tab. By default, new idle nodes are placed in Maintenance Mode. Maintenance Mode means that the node is seen by OpenQRM but it is not available for booting into Virtual Environment - until it has been removed from Maintenance.
Next step, we will need to define the Storage Servers. In your GUI click on Storage -> Servers