Xen is heralded as one of the best virtualization platforms as it supports two methods of virtualization. It is also the preferred method of virtualization for SUSE Linux.
Para-virtualization is perhaps one of my favorite methods. The downside of para-virtualization is that it requires a modified kernel in order to run. However, because the guest has been modified there are incredible performance gains. Most notably, para-virtualized environments almost always perform at near-native speeds, and environments running para-virtual modes can support heavier workloads and run more virtual machines. Para-virtualization is accomplished by providing or exposing an API to the guest; instead of having physical devices emulated, the API allows for the guest to make calls to the host to do the work. The end result is that the guest can simply tell the host to do what it needs done without having to talk to virtualized hardware.
Fully virtual environments, on the other hand, do not require a modified guest. This has the advantage that you can run just about any operating system in a virtual environment. Many people feel that this is a big boon to full virtualization. Yet, the biggest downside is that there is an I/O performance hit and it requires a CPU that has been enabled for virtualization (think AMD-V or Intel-VT technology). Since all the hardware, from the CPU, memory, video card, etc., are virtualized there is a slight performance hit. Some people feel that full virtualization is more secure than para-virtualization.
There has been a lot written about the strengths of para- versus full virtualization. This article will not address the strengths or weakness of para-virtualization versus full virtualization.
NOWS 2 SBE
Novell Open Workgroup 2 Small Business Edition is a product designed for small businesses to enable collaboration. It includes iFolder, GroupWise, eDirectory, backup solutions and a few other enterprise features that are attractive to small businesses without the high costs. NOWS 2 SBE is configured as a SLES 10 SP1 add-on product.
Why para-virtual installation fails
The idea behind NOWS 2 SBE is to make things as easy as possible for a user to install and configure. SUSE Linux has for a long time had the ability to script out installations through scripting by a program called AutoYast. When the installation media is put into a physical machine and booted, the boot loader located on the media handles all the kernel parameters necessary to call AutoYast and then use it. When booting a para-virtual machine, however, this is not the case (when booting a para-virtual guest, or DomU, there is no boot loader; Xen simply loads up the kernel and the machine “boots” up).
The general idea of this guide is to provide a guide for replicating a bare-metal installation within a para-virtualized environment by modifying the AutoYaST file and creating NOWS 2 SBE and OES2 installation sources.
The procedures described in this guide are targeted at advanced users and consultants who wish to use NOWS 2 SBE and Xen para-virtualization.
Supportability by Novell
Novell currently does not support NOWS SBE under the Xen environment. Initially Novell supported running NOWS SBE in a Xen environment, however, that has since changed.
It is recommended that you install any production NOWS SBE server on bare metal or within a VMware product like Server or ESX. While you are certainly free to install it in a Xen fully-virtual or para-virtual environment, Novell may not support you in the event that the problem is related to bug between Xen and NOWS SBE.
Making this guide work
Clearly, as with many open source projects, there are many different ways to accomplish this goal. Again, the general idea is to replicate a bare-metal installation. For some advanced users, this guide may seem to be a little over the top; if you are one such user, please feel free to contribute your ideas and realize that this guide was written for simplicity (yes, I am well aware of methods involving remastering the DVD and other such fun). Please take not to make any appropriate modifications. Further, if there are gaping holes, this is because I omitted steps where there is voluminous documentation.
The AutoYast file
The most important piece of the installation is modifying the AutoYast file. In this section, we will create an installation source and modify the AutoYast file.
- Place the DVD into the driver or mount the media
- Mount the media
- There are two directories that have to be copied off to a network installation source: NOWSSBE2 and OES2. If you already have an network installation source, simply create a sub-directory for NOWS and populate it with the NOWSSBE2 and OES2 directories. If not, create an installation source, via YaST.
- Download the AutoYast file linked in this article
- Open the file for editing. Change the media URLs to the correct installation point for the Add-On product. For example:
- Save and close the file.
<add-on> <add_on_products config:type="list"> <listentry> <media_url>http://bellatrix/NOWS/OES2</media_url> <product>Novell Open Enterprise Server 2</product> <product_dir>/</product_dir> </listentry> <listentry> <media_url>http://bellatrix/NOWS/NOWSSBE2</media_url> <product>NOWS Small Business Edition 2</product> <product_dir>/</product_dir> </listentry> </add_on_products> </add-on>
There are a couple of very notable changes to the AutoYast file that you need to be aware of:
In order to work you have to have a network installation source for the OES2 and NOWSSBE2 files
- It will accept unsigned sources
- The provided AutoYast file is a modification of the default AutoYast file.
- The installation will prompt you when it fails to load the copyMedia package
Start the DomU
There are several ways to start a Xen DomU. At this point, we are going to use the Virt-Manager for simplicity.
- Open Virt-Manager (I.e. virt-manager, or select manager Virtual Machines in YaST).
- A screen similar to this should appear.
- Click New.
- Select “I need to install an operating system”.
- Select “Open Enterprise Server” under Novell.
- Make your selections regarding memory and CPU allocations.
- Add a virtual disk of a CD/DVD type, and associate it with the NOWS 2 SBE ISO image.
- Click on “Operating System Installation.” Make sure that the virtual disk is selected for the installation source. You may also choose to use a SLES 10 SP1 network-based installation source. For the AutoYast file box, select the name of the AutoYast file that was modified in the previous step. If you do not have a DHCP server, you may put that in the additional arguments (for example, hostip=10.0.0.10 netmask=255.255.255.0 gateway=10.0.0.1 nameserver=10.0.0.1 )
- Click Apply and then Okay.
At this point the installation should proceed normally, with the following exceptions:
- The NOW-copyMedia package WILL fail, you may safely click Skip.
- There will be an error about the media for NOWSSBE2 and OES2 not being available – you may click Skip
- The installation will stop in the section about Networking – you may click Continue. Since you will reconfigure the networking anyway, only populate with an IP address if you don’t have a DHCP server (but if you have gotten that far then you probably do).
When the installation is finished you should see something like the following:
You are now ready to finish NOWS 2 SBE.
Clearly, if you have fully-virtual capable hardware, a fully-virtual installation would be much easier. However, there is considerable value in working through the pain of making NOWS SBE working as para-virtual (for example, installation source, editing AutoYast files, and understanding how Xen is different). Having worked with SLES and Xen for some time now, personally, I learn a lot when I get under the hood.