RSS icon News

From Kerrighed

Contents

Virtual Images

Virtual images are the fastest way to test Kerrighed. The first virtual machine boot a system with the Kerrighed kernel, share its root filesystem through NFS and setup a TFTP/PXE boot server. Then, you can boot up to 16 other diskless virtual machines through PXE and they will join the cluster.

Requirements

Hardware

  • KVM kernel module provides accelerated virtualization and processors supporting it. For an official list of supported Intel processors, have a look at this page. For AMD processors, you may refer to this wikipedia page.
  • Each virtual machine is pre-configured to use 512MB of RAM. The light version (without graphical interface) can run with less memory.

Software

  • We use libvirt with qemu/kvm to run the images. On a Debian system, you can install it with:
apt-get install libvirt-bin qemu-kvm
  • PXE ROM is included in Qemu in recent versions. Depending on your distribution, it can be distributed in a separate package. On Ubuntu, for instance:
apt-get install kvm-pxe
  • libvirt project provides a nice gui to manage local or even distant virtual machines.
apt-get install virt-manager
  • As their are quite big, we provides only torrent files to get images. Don't forget to share a bit of your bandwidth once downloaded, if possible.
apt-get install bittorrent

Quick Install

If you never run libvirt on your system before, please ensure you have read the requirements chapter.

  • Download the master image, for instance the light one:
btdownloadcurses http://www.freetorrent.fr/download.php?id=2dec616bbc1cf7d48cb71de44f169d4cbd246a99&f=Kerrighed%20kvm%20image.torrent
  • Download the definitions:
wget http://download.kerlabs.com/kerrighed/libvirt-definitions.tar.bz2
  • Extract the image:
sudo sh -c 'bzcat -c krg0_light.img.bz2 > /var/lib/libvirt/images/krg0.img'
    • The virtual image is a 8GB file. However, the file is sparse so that you can save a lot of space extracting it with the following command:
sudo sh -c 'bzcat -c krg0_light.img.bz2 | cp --sparse=always /dev/stdin /var/lib/libvirt/images/krg0.img'
  • Extract the definitions:
tar jxf libvirt-definitions.tar.bz2
  • Create the network from the definition. It will setup a bridge with the address '192.168.122.254' and a DHCP server which will give the first node the address '192.168.122.1'.
sudo virsh net-create default.xml
  • Create the 4 virtual machines from the 4 definition files:
sudo virsh define krg0.xml
sudo virsh define krg1.xml
sudo virsh define krg2.xml
sudo virsh define krg3.xml
  • As they have no disk and boot from the network, all nodes except the first one can be duplicated just by changing their name and mac address.
  • Start the first node:
sudo virsh start krg0
  • Once started, you can boot other virtual machines.
sudo virsh start krg1
...

Please have a look at libvirt documentation for advanced usage of 'libvirt'. You may also want to use 'virt-manager' to start/stop the machines and other fancy stuff through a gui.

Login

You can access the machines through 'ssh' and with following login:password pairs:

root: kerrighed
kerrighed: kerrighed

You can access the root container of each machine through ssh on port 2222.

Kerrighed usage

Have a look at 'krgadm(1)' manpage to see how to see cluster machines and add them to the cluster.