• How To

    OpenQRM and XEN LVM based HVM VM.

    Posted on November 21st, 2010

    Written by CJ

    Tags

    This page is part of my webdevster.com tutorial, see index to OpenQRM and XEN LVM based HVM VM.

    [1.0] Chapter 1 - Install OpenQRM

    Shows how to install Debian x64 and how to install OpenQRM. This chapter is designed, for absolute beginners, as it attempts to detail every step.

    My Step by Step tutorial, is divided into 5 sections which include 3 Chapters.

    Overview
    About OpenQRM

    This tutorial is split into three chronological chapters:

    Chapters

    Install OpenQRM

    Install Xen and VM

    Xen and OpenQRM Integration

    In this chapter you’ll accomplish:

    • 1 OpenQRM Server
      OpenQRM Cloud Manager
      Debian x64
      Host name (Server Name) qrm01
      fqdn qrm01.lc1.cloud1
      ip address 10.1.11.10

    [1.1] Step 1: Install Debian x64

    We are going to start with a clean install on a new HDD. If it’s not a new HDD, I recommend using Darik’s Boot And Nuke, to erase all data, before you get started. Burn CD > Boot to Cdrom > Select Enter to Start the Interactive Mode > Select Drive, to wipe by pressing spacebar. > Press M for method > Select your method with up and down keys ( I selected Quick Erase), press Enter > Press F10 to start the wipe.

    Insert the Debian x64 Installation Disk to start the installation process.

    NOTE:
    If you run into problems with drivers for your nic, hdds, etc.., then I would recommend using the Debian x64 “full cd”, instead of the “net install cd”. Only CD1 is needed for the installation, so don’t download the other CDs. Because, in this case it would be a total waste of space on your puter. You’ll also need to comment out the cdrom line, in /etc/apt/sources.list, once your system boots.

    Hostname Configuration

    I am going to use qrm01 for hostname and lc1.cloud1 for domain. So the fqdn will be, qrm01.lc1.cloud1.

    Partition Disk

    Select ‘Manual’ Partition
    In my example, I use 36.4gb = 8gb for Debian x64 OS, 2gb for swap, and the rest is for physical LVM.
    So, on blank HDD, you’ll want to do the following:

    Create OS Partition:

    • Select Disk you want to install OS to.
    • Select Yes, to create a new empty partition table on this device.
    • Select, pri/log 36.4 GB Free Space
    • Create a new partition (FYI: OS)
    • Enter 8GB, for partition size, select continue
    • Select Primary
    • Select Beginning
    • For partition settings, use the following settings (Label is Optional):
    • Use as: Ext3 journaling file system
      Mount point: /
      Mount options: defaults
      Label: none
      Reserved blocks: 5%
      Typical Usage: standard
      Bootable flag: on
    • Select, Done setting up the partition.

    Create Swap Partition:

    • Select, pri/log 28.4 GB Free Space
    • Create a new partition (FYI: Swap)
    • Enter 2GB, for partition size, select continue (you’ll need to come up with a custom swap size for your server)
    • Select Logical
    • Select Beginning
    • For partition settings, use the following settings (Label is Optional):
    • Use as: swap area
      Bootable flag: off
    • Select, Done setting up the partition.

    Create LVM:

    • Select, pri/log 26.4 GB Free Space
    • Create a new partition (FYI: Optional LVM; you don’t need it for our Xen Intergration, as the Xen host will have the LVM.)
    • Enter default of 26.4gb, for partition size, select continue
    • Select Primary
    • For partition settings, use the following settings (Label is Optional):
    • Use as: physical volume for LVM
      Bootable flag: off
    • Select, Done setting up the partition.

    So now your done with partitioning and Debian will take care of the formatting.

    Your screen should look like this:
    Partitioning OpenQRM HDD 1

    • Now select, Finish partitioning and write changes to disk.
    • Select, Yes on the next screen. The base installation will start.

    Set up Passwords

    This is pretty self explanatory

    Configure the package mngr

    Select default ftp.us.debian.org, or your preference

    Software Selection

    Deselect all, i.e. Desktop Environment, and Select only (standard system) basic Debian installation.

    Installing Grub boot Loader

    Select Yes

    Finish the installation

    Select, Continue

    On first boot you might encounter some hurdles depending on your hardware, so just google around, to get into a standard debian CLI login prompt. Typically normal home PC computers, have no issues. But, with my experience with all OS on servers in general, I almost always have some obstacles to overcome.

    NOTE:
    My hurdle, for Debian x64 install on IBM HS21 8853:
    It will ask you for non free drivers, bnx2-06-4.0.5.fw. Which is Broadcom NetXtremeII 5706/5708 firmware, version Linux 2.6.25 (bnx2-06-4.0.5.fw) You can download deb pkg to a usb drive from Debian — Details of package firmware-bnx2 in sid, the package will work for Lenny and is named, firmware-bnx2_0.27_all.deb. Don’t extract it, just place it in the usb and your good to go, and move forward on install.

    NOTE:
    My hurdle, for Debian x64 install on IBM HS20 8843, HS21 8853, and some HS22:
    To fix mounting issue “mounting /sys on /root” and acpi issue “resource is not an irq entry”
    Install debian like normal. When it reboots for the first time you need to edit grub list:
    change: sdb1 to: sda1.
    remove: quiet (remove quiet to view boot process, after you have troubleshooted you should revert back to quiet permanently)
    add: noacpi nolacpi acpi=off
    per Installation error (ACPI: Resource is not an IRQ Entry…) Once logged into debian, make the above permanent changes to:
    prompt>nano /boot/grub/menu.lst
    And make the following changes to:
    prompt>nano /etc/fstab
    change all sdb1 to sda1.
    per Installation Report (IBM BladeCenter HS20 / SCSI) - Debian Bug report logs - #269486 prompt>reboot

    Install essential pkgs

    Our attempt here and throughout this tutorial is to create a slim installation of the OpenQRM Server.

    Login as root.

    prompt>apt-get update prompt>aptitude full-upgrade prompt>apt-get install openssh-server udev ssh wget lvm2

    You can optionally remote log in as root, with SSH (i.e. ssh via putty); or optionally with mRemote for easability.

    [1.2] Step 2: Install Optional GUI and NX on Debian x64

    This tutorial is based on CLI; Gnome GUI option is for your convenience. GUI is not needed for OpenQRM functionality, as you will be able to access and control all aspects of OpenQRM through it’s webUI, via browser locally or remotely. Now, I think it would be a good idea to install the GUI, for first timers and because OpenQRM, ‘in this instance’ won’t be doing tasks which require heavy resources.

    Optional Install minimal GNOME packages for a minimal GUI Desktop.

    Slim and Fast GUI (Beginner to normal users)

    prompt>aptitude install xserver-xorg-core gdm gnome-core

    per: How-To: Debian Lenny Minimal Installation

    prompt>/etc/init.d/gdm start

    If it warns you about swap file, Continue without a valid swapspace? Select yes.

    Or install Slim and Faster GUI (Expert linux users)

    prompt>aptitude install xserver-xorg-core xinit menu menu-xdg jwm fluxbox mrxvt-mini gdebi-core synaptic logrotate

    per: Debian minimal desktop installation

    prompt>startx

    If you install Gnome, you need to allow root to log in via Gnome GUI: (this is optional as you can sudo with your username)

    prompt>nano /etc/gdm/gdm.conf

    Right below [security] part of the file, add the following line:

    AllowRoot=True

    Optional NX NoMachine A.K.A FAST RDP

    This tutorial is based on CLI; this NX option is for your convenience, i.e. if you prefer to visualize Debian remotely with GUI. NX is not needed for OpenQRM functionality, as you will be able to access the OpenQRM webUI, via browser locally or remotely. Now, I think it’s a good idea, to install NX, for the same reason you’re installing the Gnome gui. We’ll be installing Nomachine’s NX Services to access OpenQRM server via GUI. Nomachine’s NX Services (free version) only allows 2 concurrent users, otherwise you’ll need to install freenx version (unlimited users). For our set up 2 concurrent users is perfect. Again, this is optional; nowhere (other than here) on the tutorial do we reference NX.

    Before installing with below commands, check for latest version and 32 or 64 bit.

    prompt>mkdir -p /root/dl/nx && cd /root/dl/nx prompt>wget http://64.34.161.181/download/3.4.0/Linux/nxclient_3.4.0-7_x86_64.deb prompt>wget http://64.34.161.181/download/3.4.0/Linux/nxnode_3.4.0-14_x86_64.deb prompt>wget http://64.34.161.181/download/3.4.0/Linux/FE/nxserver_3.4.0-14_x86_64.deb prompt>dpkg -i nxclient_3.4.0-7_x86_64.deb prompt>dpkg -i nxnode_3.4.0-14_x86_64.deb prompt>dpkg -i nxserver_3.4.0-14_x86_64.deb

    If your accessing the OpenQRM server from windows than download and install appropriate nx client for your windows box/laptop
    If your accessing the OpenQRM server from linux than download and install appropriate nx client for your linux box/laptop

    NOTE:
    mRemote at this time does not support NX technology, so in the meantime you’ll have to use Nomachine’s NX client.

    If you install nomachine, you need to allow root, to log in remotely:

    prompt>nano /etc/gdm/gdm.conf

    Within [security] section of the file, add or change the following line:

    change:

    AllowRemoteRoot=false

    add/or change to:

    AllowRemoteRoot=true
    prompt>nano /usr/NX/etc/server.cfg

    change:

    #EnableAdministratorLogin = "0"

    to:

    EnableAdministratorLogin = "1"

    per: 500 Error: User ‘root’ cannot be used as an NX user.

    prompt>reboot

    or

    prompt>/etc/init.d/nxserver restart

     

    [1.3] Step 3: Firewall/DHCP/NAT (MOnowall) Configuration

    In this tutorial, monowall (10.1.11.1) sits in front of OpenQRM. You can of course use your preference firewall/dhcp/nat service, other than monowall. To learn more on how OpenQRM network functions go to, About our OpenQRM Network

    Map monowall - Map the Mac <= sounds cool.

    Map monowall dhcp server static ip to mac interface on qrm01 server.

    • Log into monowall
    • Go to Services > DHCP server > Select OPT1 (or what ever you named your second NIC LAN)
    • Add Reservations
    • Enter MAC address of qrm01 server and its corresponding ip address 10.1.11.10. Description I used is, QRM Server.

    On OpenQRM Server

    prompt>/etc/init.d/networking restart

     

    [1.4] Step 4: Network Interface Configuration

    Here you will be configuring the network for OpenQRM.

    prompt>apt-get install bridge-utils prompt>nano /etc/network/interfaces

    Erase or comment out, all info and copy in the following:

    auto lo
    iface lo inet loopback
    auto br0
    iface br0 inet static
    address 10.1.11.10
    netmask 255.255.255.0
    gateway 10.1.11.1
          bridge_ports eth0
          bridge_fd 0
          bridge_hello 2
          bridge_maxage 12
          bridge_stp off
    prompt>nano /etc/hosts

    add the following:

    10.1.11.10 qrm01.lc1.cloud1 qrm01
    prompt>/etc/init.d/networking restart
    Waiting for br0 to get ready (MAXWAIT is 2 seconds).
    done.

    On to the next page 3, Step 5. Install OpenQRM Server.

    Pages: 1 2 3 4 5 6 7 8 9 10 11

    This entry was posted on Sunday, November 21st, 2010 at 6:51 pm and is filed under How To. You can follow any responses to this entry through the RSS 2.0 feed. You can skip to the end and leave a response. Pinging is currently not allowed.
  • 7 Comments

    Take a look at some of the responses we've had to this article.

    1. " OpenQRM and XEN LVM based HVM VM. "

      Joe
      Posted on November 30th

      I loved this example of how to OpenQRM and XEN servers. It is a truly a complete installation guide. Incredible artcile.

    2. " OpenQRM and XEN LVM based HVM VM. "

      Gert
      Posted on January 21st

      Thanks for the effort you took in writing this article. It really helped me with my first OpenQRM setup!
      Loved it!

    3. " OpenQRM and XEN LVM based HVM VM. "

      Colin
      Posted on January 28th

      Hi,

      A really cool how to about Openqrm, especially when it is pretty hard to find a similar article related Openqrm on the Internet.

      We are testing this product at the moment. Just want to know if you have the experience of integrating Openqrm with a iSCSI storage application, like Openfiler or similar applications.

      Thanks for this excellent contribution.

    4. " OpenQRM and XEN LVM based HVM VM. "

      Posted on February 3rd

      Thanks a ton for This post! Very Informative. Got Exactly what i was looking for. keep it up.

    5. " OpenQRM and XEN LVM based HVM VM. "

      CJ
      Posted on February 11th

      @Colin

      Thanks for your kind words, and great sentence structure; you must be an English major.

      You asked about, “Openqrm with a iSCSI storage application, like Openfiler”, well it’s like netapp filer (cha-ching) and openQRM, but you and the whole world already new that. OpenQRM targets iSCSI model apps, after all it’s a cloud right, and you need a lot of space. I am by no means an expert on Openfiler, netapp, or other iSCSI storage apps. But I hope soon I’ll own some, because that means I’m doing pretty good, ay.

      I can tell you, openQRM is pluggable into almost every environment. So you can merry along with any virtual environment backed by almost any storage app, and openQRM will plug right in and manage it. And if you rather use their proprietary applications to manage, you can also do that as well without interference. Well I hope this all made sense, because it made no sense to me, JK.

      Also here is good read on iSCSI.

    6. " OpenQRM and XEN LVM based HVM VM. "

      Mr Bow
      Posted on August 3rd

      I don’t see “Vol” on this Step “Verify Logical Volume Storage on XEN Host (x01-lc1-cloud1-lvm)”

      Error during selecting volume group ! Please check the Event-Log

    7. " OpenQRM and XEN LVM based HVM VM. "

      rjbutler
      Posted on August 9th

      Thank you for this great howto, this made it so much easier to setup a POC for a project I was hoping to do. I have run into one annoying glitch. OpenQRM rewrites the vm config files in /etc/xen. So any xen config file options that I enter, like usbdevice=’tablet’, just gets erased. I was told to enter them in the xen_generate_vm_config function in /usr/share/openqrm/plugins/xen/bin/openqrm-xen, but I have tried, and this does not work. This seems like such a small thing, but until I can add options to the xen config file when the vm is generated, this program just misses the mark. Have any of you solved this. Your suggestions would be appreciated.

  • Post a Comment

    Let us know what you thought.

  • Name:

    Email:

    Website:

    Message: