You are here: Installation > Getting started — quick guides > Getting started with Xen

Getting started with Xen

This section describes how to deploy the Pexip Infinity Management Node on a Xen hypervisor.

Prerequisites

This guide assumes that you have a Xen environment already installed. Pexip Infinity requires Xen 4.2 and later.

You must ensure that:

  • the Xen environment may be managed through libvirt
  • the virt-manager, virsh and virt-install applications are available for use on the client system that is managing the Xen environment; to do this, run the command:
    sudo apt-get install virt-manager libvirt-bin

The libvirt command line tools are used to import the disk image and create the VM. Note that we use the libvirt command line tools to perform the import as they provide greater control than Virtual Machine Manager. For more information, see http://libvirt.org/drvxen.html.

Synchronizing time

All host servers must be synchronized with accurate time before you install the Pexip Infinity Management Node or Conferencing Nodes on them.

  • NTP must be enabled on the Management Node before you deploy any Conferencing Nodes.
  • We strongly recommend that you configure at least three distinct NTP servers or NTP server pools on all your host servers and the Management Node itself. This will ensure that log entries from all nodes are properly synchronized.

Install the NTP package on your host server using the appropriate package management tool for your Linux distribution.

Installing the Management Node VM

To deploy a new instance of a Pexip Infinity Management Node on to a Xen host, you must:

  1. Download the Management Node OVA image file and convert it for use with Xen.
  2. Create a new volume on your Xen server and upload the disk image.
  3. Create the Management Node virtual machine.

    Note that we use the libvirt command line tools to perform the import as they provide greater control than Virtual Machine Manager.

  4. Enable the virtual machine for automatic startup.

These steps are described in detail below.

Download the Pexip .ova image and convert it for use with Xen

You must download the Management Node OVA image file and then, to use it with Xen, you must convert it from VMDK to raw format.

From within your Xen environment:

  1. Download the Pexip Infinity OVA file (Pexip_Infinity_v12_generic_pxMgr_<release>.ova) from www.pexip.com/software-download.

  2. Unpack the .ova image, using the command:

    tar xf Pexip_Infinity_v12_generic_pxMgr_<release>.ova

    This unpacks a set of files including pexipmcumgr-disk01.vmdk.

  3. If required, you can verify the pexipmcumgr.mf manifest file, using the command:

    sha1sum -c pexipmcumgr.mf

  4. Convert the disk image from VMDK to raw, using the command:

    qemu-img convert -O raw pexipmcumgr-disk01.vmdk pexipmcumgr-disk01.raw

    (This conversion process can take several seconds.)

Create a new volume and upload the disk image

Next, you create a new volume on your Xen server and upload the converted disk image. From within your Xen environment:

  1. Use virsh to create a new volume on your Xen server:

    virsh --connect xen://<hostname>/ vol-create-as <poolname> <volume_name> 99G --format raw

    where:

    <hostname> is the hostname of your Xen server. Note that you can omit the <hostname> if you are running virsh commands on the local server i.e. you can use virsh --connect xen:/// .

    <poolname> is the name of the storage pool in which to create the volume; typically you would use default. (To determine the storage pools available on the target system, use virsh --connect xen://<hostname>/ pool-list.)

    <volume_name> is the name of your new volume.

    99G is the virtual size of the volume; always use 99G for a Management Node.

    For example:

    virsh --connect xen://host1.example.com/ vol-create-as default pexip-manager 99G --format raw

    This example creates a volume named pexip-manager of size 99 GB and format raw in the storage pool named default.

  2. Upload the converted disk image to the newly created volume:

    virsh --connect xen://<hostname>/ vol-upload <volume_name> pexipmcumgr-disk01.raw --pool <poolname>

    For example:

    virsh --connect xen://host1.example.com/ vol-upload pexip-manager pexipmcumgr-disk01.raw --pool default

    This example uploads the pexipmcumgr-disk01.raw image to the newly created volume, pexip-manager, in the storage pool named default.

Create the virtual machine

After the disk image has been uploaded, you can create the virtual machine to use it.

Note that we use the libvirt command line tools to perform the import as they provide greater control than Virtual Machine Manager.

  1. Identify the filesystem path of the newly uploaded disk image:

    virsh --connect xen://<hostname>/ vol-path <volume_name> --pool <poolname>

    For example:

    virsh --connect xen://host1.example.com/ vol-path pexip-manager --pool default

    This prints out the absolute path to the disk image file, for example:

    /var/lib/libvirt/images/pexip-manager

    This path is used in the disk path parameter in the next step.

  2. Use the virt-install command line tool to create the virtual machine:

    virt-install \
      --import \
      --hvm \
      --name=<vm_name> \
      --arch=x86_64 \
      --vcpus=2 \
      --ram=4096 \
      --os-type=linux \
      --connect=xen://<hostname>/ \
      --virt-type xen \
      --disk path=<image_file_path>,bus=xen,format=raw,driver_name=qemu,cache=none,io=native \
      --network bridge=xenbr0,model=e1000 \
      --memballoon xen \
      --graphics vnc,listen=0.0.0.0,password=<password>

    This creates a new VM (Xen domain) from the converted disk image.

    The meaning of the various options are as follows (items in bold may be changed as necessary):

    Option Description
    --import Build guest domain around pre-installed disk image; do not attempt to install a new OS.
    --hvm Create a fully virtualized (i.e. not paravirtualized) VM.
    --name=<vm_name> Name of the new VM, where <vm_name> is, for example, pexip-management-vm.
    --arch=x86_64 CPU architecture of new VM (must be x84_64).
    --vcpus=2 Number of CPUs allocated to new VM. Typically, this is 2 for the Management Node.
    --ram=4096 Memory allocated to new VM (in megabytes).
    --os-type=linux The guest OS is Linux.
    --connect=xen://<hostname>/ Connect to Xen on the target system, where <hostname> is the hostname of your Xen server.
    --virt-type xen Use Xen to host the new VM.
    --disk path=<image_file_path>,
    bus=xen,format=raw,
    driver_name=qemu
    ,cache=none,io=native
    • Define the location of the disk image file, where <image_file_path> is as determined in the previous step, for example /var/lib/libvirt/images/pexip-manager.
    • Expose it to the guest on the xen paravirtualized bus (as opposed to IDE/SCSI).
    • Define the image file as being in raw format and the driver as qemu.
    • Instruct the host system not to cache the disk contents in memory.
    • Use the native IO backend to access the disk device.
    --network bridge=xenbr0,model=e1000
    • Create a network interface connected to the xenbr0 bridge interface on the host.
    • Expose it to the guest as an e1000 NIC.
    --memballoon xen Expose the xen memory balloon to the guest.
    --graphics vnc,listen=0.0.0.0,
    password=<password>
    Expose the graphical console over VNC, listening on 0.0.0.0 (i.e. all addresses on the target system) and with an access password of <password>.

    You may receive a warning "Unable to connect to graphical console: virt-viewer not installed"; if so, this message can be safely ignored.

    After the VM has been created, it may be managed using the Virtual Machine Manager desktop interface (virt-manager application) or via the command line interface (virsh).

    The new node should start automatically. If it does not you can use the Virtual Machine Manager to start the node, or the CLI command:

    virsh --connect xen://<hostname>/ start <vm_name>

    Note that you can list existing VMs by using virsh --connect xen://<hostname>/ list

Enabling automatic startup

After deploying a new Management Node in Xen, you should enable automatic startup of that virtual machine (VM). In Xen, automatic startup is disabled by default for every new VM. This means that if the host server is powered down for any reason, when it restarts the VM will not restart and must be started manually.

You can only enable automatic startup after the Management Node has been deployed.

To enable automatic startup using Virtual Machine Manager:

  1. Connect to the Virtual Machine Manager (virt-manager) that is managing the node's VM.
  2. Select the node's VM and then, from the toolbar, select the Show the virtual machine console and details icon .

    A new window for that VM is opened.

  3. If necessary, select View > Details to display the VM information.
  4. From the sidebar menu, select Boot Options.
  5. Select the Start virtual machine on host boot up check box.
  6. Select Apply.

Opening a console window to run the installation wizard

To run the installation wizard, which configures the Management Node, you must open a console window on the Management Node VM. To do this:

  1. Connect to Virtual Machine Manager (virt-manager) that is managing the Management Node's VM.
  2. Ensure that the Management Node VM is Running.
  3. Select the new Management Node VM and then, from the toolbar, select the Show the virtual machine console and details icon .

    A new window for that VM is opened.

  4. If necessary, select View > Console to display the console.

You must now run the installation wizard. For step-by-step instructions, see Running the installation wizard.