Inhaltsverzeichnis

, ,

Anpassungen für die Paravirtualisierung

Ausgehend von der Situation, dass eine ursprüngliche Musterlösungsinstallation auf LVM-Volumes der Xen-Dom0 kopiert wurde (oder die ursprüngliche Installation sich bereits auf LVM-Volumes befand, die nun von der Dom0 aus erreichbar sind) müssen an der Originalinstallation noch einige Änderungen vorgenommen werden.

Dazu werden die Dateisysteme der Originalinstallation in der Dom0 gemountet und anschließend mit chroot in dieses Dateisystem gewechselt. Nun können dort Pakete installiert werden, Dateien angepasst werden u.ä.

LVM Volumes nach /target mounten

FIXME

Chroot mounten

mount -o bind /dev/ /target/dev/
mount -o bind /proc/ /target/proc/
chroot /target/

Sicherstellen, dass die Namensauflösung funktioniert und schauen ob das Netz läuft:

# host web.de
web.de              	A	217.72.195.42

# ping web.de
PING web.de (217.72.195.42) 56(84) bytes of data.
64 bytes from ha-42.web.de (217.72.195.42): icmp_seq=1 ttl=55 time=29.5 ms
64 bytes from ha-42.web.de (217.72.195.42): icmp_seq=2 ttl=55 time=29.7 ms

Angepassten Kernel und libc installieren

apt-get install linux-image-2.6-xen-686 
apt-get install libc6-xen 

Grub Konfiguration des virtuellen Hosts anpassen

In der Datei /boot/grub/menu.lst kann man alle Startnenüeinträge löschen und statt dessen einen neuen anlegen:

## ## End Default Options ##

title           Debian GNU/Linux, kernel 2.6.18-6-xen-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.18-6-xen-686 root=/dev/xvda1 ro
initrd          /boot/initrd.img-2.6.18-6-xen-686
savedefault 
 

### END DEBIAN AUTOMAGIC KERNELS LIST

Außerdem sollte man in der Datei /boot/grub/device.map als festplattendevice /dev/xvda eintragen, damit die Installation neuer Kernel später wieder automatisch klappt.

(hd0)   /dev/xvda

Dabei sollte man natürlich den Xen-Kernel angeben, den man zuvor installiert hat.

FIXME Erklärung zum root FS

fstab anpassen

In der alten stehen die physikalischen Devices des ursprünglichen Servers:

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/mapper/alterserver-root /               ext3    defaults,errors=remount-ro 0       1
/dev/sda1       /boot           ext3    defaults        0       2
/dev/mapper/alterserver-usr /usr            ext3    defaults        0       2
/dev/mapper/alterserver-home  /home   ext3    defaults,usrquota,grpquota  0   2
/dev/mapper/alterserver-var   /var    ext3    defaults,noatime,usrquota,grpquota  0   2
/dev/mapper/alterserver-swap none            swap    sw              0       0
/dev/mapper/alterserver-cups /var/spool/cups            ext3    defaults        0       2
/dev/hda        /media/cdrom0   udf,iso9660 user,noauto     0       0
LABEL=BACKUP    /media/backup2l   ext2 defaults,noauto     0       0
none    /tmp    tmpfs   defaults    0   0

In der neuen stehen die virtuellen Devices der XEN Virtualisierung:

FIXME Anpassungen für System in mehreren Partitionen

# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
/dev/xvda1      /               ext3    defaults,errors=remount-ro 0       1
/dev/xvda2      none            swap    sw              0       0
none    /tmp    tmpfs   defaults    0   0

inittab anpassen

Unter XEN gibt es nur eine Konsole, der Wechsel mit ALT-F1 u.ä. geht nicht, drum werden die abgeschaltet, indem man die Datei /etc/inittab anpasst:

# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
4:23:respawn:/sbin/getty 38400 tty4
5:23:respawn:/sbin/getty 38400 tty5
6:23:respawn:/sbin/getty 38400 tty6

Neu:

# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X. 
#
1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

changeroot Umgebung verlassen

exit 
# umount /target/dev/
# umount /target/proc/
# umount /target

Xen Konfiguration erstellen

Zurück in der Dom0 muss nun eine Konfiguration für den virtuellen Server erstellt werden, bevor man diesen starten kann. Dazu legt man die Datei /etc/xen/paedmlserver an und füllt diese mit dem folgenden Inhalt:

FIXME

memory='960'
name='paedmlserver' 

execfile('/etc/xen/ctsrvcommon') 

bootloader = '/usr/bin/pygrub'

root='/dev/xvda1 ro'
disk = [
'phy:/dev/hostsys/aegtest,xvda1,w',
'phy:/dev/hostsys/aegtestswap,xvda2,w'
]
vif = [ 'mac='+mymac+',bridge=breth1' ]
extra="console=xvc0 xencons=tty"

Anschließend kann man die virtualisierte Musterlösung mit dem Befehl

xm create paedmlserver -c 

starten.