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
- Wenn ihr euren Xen auf Opensuse/Fedora betreibt, könnt ihr euch das Debootstrap rpm von hier holen: http://rpm.pbone.net/index.php3/stat/4/idpl/15859101/dir/fedora_13/com/debootstrap-1.0.25-1.fc13.noarch.rpm.html (x64)
- dann per rpm -i installieren.
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’ ]