In the past before I started working at Canonical, I volunteered to maintain Xen on Ubuntu. This included supporting the hypervisor and the rather large kernel patch that needed to be ported to whatever version that Ubuntu is running on at the time. This process was not sustainable and KVM was eventually chosen as the hypervisor of choice for Ubuntu Server. Today the Xen dom0/domU kernel code is the upstream vanilla source so distros like Ubuntu can get from Xen.
At UDS-O in Budapest I hosted a session about bringing back Xen support for Ubuntu in Oneiric. It was a well attended and well received session and was kind of surprised about the attendance. At the time there was and still is having Ubuntu users run the Xen hypervisor, kernel, and user land tools on Ubuntu.
So how do you install In short this is how to do it:
sudo apt-get install linux-image-server
sudo apt-get install xen-utils-4.1 xen-utils-common
sudo apt-get install xen-hypervisor-4.1 (xen-hypervisor-4.1-amd64 if you are running amd64)
sudo apt-get install xenstore-utils
Its really easy to use libvirt and xen on Oneiric as well. There are a couple of bugs when trying to launch an HVM domain, but it will get fixed for the next LTS. Obligatory screen shot of running the Ubuntu Server installer on an HVM instance can be found below:
If you have any questions or have troubles running Xen on Oneiric. Please use launchpad to open bugs and so we can track the problems people are having with it.
On October 13, 2011 – the Oneiric Ocelot release will be available to Ubuntu Server users everywhere. With it, a new release of Nova, Swift and Glance called “Diablo” will be available for users to test drive for their EC2 compatible private cloud. Thierry Carrez, Openstack release manager and Ubuntu developer has a detailed blog post about the features of the last Nova milestone at his blog.
There has been a lot of changes between the Cactus release and Diablo release of Nova. This blog will help you get started running a basic cloud on Ubuntu Oneiric. So lets get started!
First install Nova and Glance, Glance is now required for the API server:
sudo apt-get install nova-api nova-compute-kvm nova-scheduler nova-network nova-objectstore nova-volume
rabbitmq-server dnsmasq glance bridge-utils euca2ools python-novaclient
You will need to setup a bridge, information on how to do it can be found at the Ubuntu Server Guide.
Once Nova and Glance is installed you have to setup Nova. Setting up Nova is relatively easy to do, all you need to do is to type the following:
sudo nova-manage db sync
sudo nova-manage user admin [username]
sudo nova-manage project create [name of cloud] [username]
sudo nova-manage network create public 10.0.0.0/8 3 16 --bridge_interface=br0
sudo nova-manage project zipfile [name of cloud] [username]
Once the cloud is up and running you will need to have an image to run on your cloud. You can download the latest release from here.
To upload an image to your cloud is easy as well, all you have to do is the following once you download the image:
uec-publish-tarball [name of tarball] bucket [arch]
euca-add-keypair -k [name of key] > [filename]
chown 600 [filname]
Finally to run your instance all you have to do is:
euca-run-instance -k [name of key] [instance-id]
Once the image has started, you should have a virtual machine running on your workstation. So there you have it..an EC2 compatible cloud running on your workstation. If you find any bugs please report them in launchpad. The more users we get testing Nova on Ubuntu the better. If you have any question please let me know.