[xen] Ubuntu 10.04 DomU auf openSuSE dom0 erstellen

Hallo,

wenn ihr euch bereits mit Xen beschäftigt habt (opensource-xen, nicht citrix) werdet ihr vielleicht festgestellt haben, dass es garnicht so einfach ist, eine VM mit Ubuntu paravirtualisiert zum laufen zu bekommen.

Vollvirtualisiert ist das kein Problem, allerdings fehlen einem dann die Treiber und die VM kann noch nichtmal über den Hypervisor heruntergefahren werden, also muss eine Lösung zum paravirtualsierten Betrieb her.

Im folgenden möchte ich meine erfolgreiche Vorgehensweise zum Erreichen dieses Ziels darlegen.

Debootstrap rpm besorgen

 Festplatten anlegen

Da ich die Festplatten per lvm erstellen beschreibe ich auch diesen Weg:

  • lvcreate -n ubuntu -L10G /dev/lvmxen
  • lvcreate -n ubuntu-swap -L256M /dev/lvmxen
  • mke2fs -j /dev/lvmxen/ubuntu
  • mkswap /dev/lvmxen/ubuntu-swap
  • mkdir /mnt/xen
  • dann die Platte mit mount /dev/lvmxen/ubuntu /mnt/xen mounten

Ubuntu debootstrappen

  • debootstrap –arch=amd64 –include=linux-image-generic,linux-image-2.6.32-21-generic,linux-image-2.6.32-305-ec2,linux-image-ec2,grub –components=main,universe,multiverse lucid /mnt/xen http://archive.ubuntu.com/ubuntu/
  • Hinweis dazu: Ich benutze hier den ec2-Kernel, weil der Xen-Kernel seit Hardy nicht mehr existent ist!

Einstellungen vornehmen

  • Nachdem Debootstrap das System erstellt hat, muss es noch angepasst werden.
  • dazu in die Chroot wechseln: chroot /mnt/xen
  • export LANG=DE

Fstab erstellen

  • touch /etc/fstab
  • vi /etc/fstab

/dev/xvda1 / ext3 defaults 0 1
/dev/xvdb1 none swap defaults 0 0
proc /proc proc defaults 0 0

Grub-Config erstellen

  • update-grub -> Menu.lst erstellen lassen

Netzwerk

  • vi /etc/network/interfaces

auto eth0
iface eth0 inet dhcp

/etc/hosts erstellen
# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 hardy

/etc/hostname erstellen
# cat /etc/hostname
lucid

Finetuning

Referenz auf die Hardware-Clock entfernen. Diese sind dafür verantwortlich, dass die VM hängt.
# update-rc.d -f hwclockfirst remove
# update-rc.d -f hwclock remove
# rm /etc/udev/rules.d/85-hwclock.rules

  • Chroot mit exit verlassen
  • /mnt/xen unmounten

DomU Konfiguration erstellen

# cat /etc/xen/ubuntu

bootloader = ‘/usr/bin/pygrub’

memory = 256

name = “ubuntu”

vif = [ ‘mac=00:01:2E:5E:F1:D2,bridge=br0 ‘ ]

disk = [ ‘phy:/dev/lvmxen/ubuntu,xvda1,w’, ‘phy:/dev/lvmxen/ubuntu-swap,xvdb1,w’ ]

Leave a Reply

Your email address will not be published.