Web-based KVM Management Solutions for Ubuntu 9.10: Lightweight Administration Tools Comparison


2 views

Running KVM on Ubuntu 9.10 presents unique challenges since it's no longer receiving security updates. However, many production systems still rely on this setup. The key requirements are:

  • Web-based interface accessible remotely
  • Lightweight footprint to coexist with other services
  • Compatibility with legacy libvirt versions
  • No dedicated OS installation required

After extensive testing, here are the most viable options:

1. WebVirtMgr (Recommended Solution)

This Python/Django-based manager offers the best balance of features and compatibility:

# Installation steps for Ubuntu 9.10:
sudo apt-get install git python-pip python-libvirt python-libxml2 \\
    nginx supervisor

git clone git://github.com/retspen/webvirtmgr.git
cd webvirtmgr
sudo pip install -r requirements.txt

# Configuration
python manage.py syncdb
python manage.py collectstatic
sudo cp conf/supervisor/webvirtmgr.conf /etc/supervisor/conf.d
sudo service supervisor restart

2. Kimchi (Alternative for Modern Systems)

While primarily designed for newer systems, Kimchi can work with backported packages:

# Requires backported libvirt and other dependencies
wget https://kimchi-project.github.io/kimchi/ubuntu/kimchi-archive.key
sudo apt-key add kimchi-archive.key
sudo apt-get update
sudo apt-get install kimchi

When setting up web-based KVM managers, watch for these authentication issues:

# Edit /etc/libvirt/libvirtd.conf
auth_unix_ro = "none"
auth_unix_rw = "none"

# In /etc/libvirt/qemu.conf
user = "root"
group = "root"

For optimal performance on older hardware:

  • Limit console refresh rates to 1-2 FPS
  • Disable unnecessary monitoring features
  • Use SPICE protocol instead of VNC where possible

While these solutions work for Ubuntu 9.10, consider upgrading to a supported LTS release. The configuration files and VM images can typically be migrated without modification.


When managing KVM virtual machines on Ubuntu servers, CLI tools like virsh and GUI tools like virt-manager work well for local administration. However, for remote server management, a web interface offers better accessibility without requiring X11 forwarding or dedicated client software.

After testing several options from the official KVM tools list, here are the most viable solutions:

1. WebVirtMgr

This Python/Django-based solution is lightweight and integrates well with existing libvirt setups:

sudo apt-get install git python-libvirt python-django
git clone git://github.com/retspen/webvirtmgr.git
cd webvirtmgr
./manage.py syncdb
./manage.py collectstatic

Configuration example for local_settings.py:

ALLOWED_HOSTS = ['your-server-ip']
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'webvirtmgr.sqlite3'),
    }
}

2. Kimchi

Developed by the KVM team, this offers a modern interface but requires newer dependencies:

wget https://github.com/kimchi-project/kimchi/releases/download/1.0.0/kimchi-1.0.0.tar.gz
tar -xvf kimchi-1.0.0.tar.gz
cd kimchi-1.0.0
./configure --prefix=/usr
make
sudo make install

For Ubuntu 9.10 (Karmic Koala), you'll need to handle these dependencies first:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-virt/ppa
sudo apt-get update
sudo apt-get install qemu-kvm libvirt-bin bridge-utils

After installing your chosen web interface, ensure proper permissions:

sudo usermod -a -G libvirt www-data  # For Apache
sudo chmod -R 775 /var/run/libvirt/libvirt-sock

If VMs aren't appearing in the web interface:

  • Verify libvirt daemon is running: sudo service libvirt-bin status
  • Check SELinux/apparmor permissions
  • Ensure the web server user has proper libvirt group membership

For mixed environments running Apache/PostgreSQL alongside KVM, consider resource allocation:

<memory unit='KiB'>524288</memory>
<currentMemory unit='KiB'>262144</currentMemory>
<vcpu placement='static'>1</vcpu>