Linux in 5 Minuten: Xen-Server

System:
- Debian 5.0 Lenny
+ Xen-Hypervisor

Installation von Xen

Anmerkung: Dieses Tutorial ist auf Hetzner-Server zugeschnitten, kann aber ohne weiteres auch für alle anderen Umgebungen genutzt werden. Die Besonderheit ist hier, dass auch VMs mit Netz-fremden IPs geroutet werden. Dies macht sich in der Wahl des Netzwerkkonfiguration und der Konfiguration der VMs (bzw. Xen-Tools) bemerkbar.

Als erstes installieren wir Xen und dazugehörige Tools.

apt-get install xen-hypervisor-3.2-1-amd64 xen-linux-system-2.6.26-2-xen-amd64 xen-utils-3.2-1 xenstore-utils xenwatch xen-shell xen-tools

Nach der Installation starten wir den Rechner neu.

reboot

Wenn wir sichergehen wollen, dass alles geklappt hat, können wir mit uname -a prüfen, ob der Xen-Kernel geladen wurde.

Als Netzwerk-Setup benutzen wir “routed”. Hier wird sämtlicher IP-Verkehr der DomUs über die Dom0 geroutet. Dazu muss die folgende Datei durch Ein- und Auskommentieren angepasst werden.

/etc/xen/xend-config.sxp
#(network-script network-dummy)
#(vif-script vif-bridge)
(network-script network-route)
(vif-script vif-route)

Als nächstes setzen wir noch ein erhöhtes Limit für unsere Loop-Devices, um nicht bei dem Starten von vielen DomUs an Grenzen zu stoßen. (Das grün markierte ergänzen.)

/etc/modules
loop max_loop=64

Damit die Dom0-Maschine den IP4-Verkehr auch routet, stellen wir sicher, dass folgende Einstellungen vorhanden sind.

/etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1

Nachdem nun alle wichtigen Einstellungen vorgenommen wurden, starten wir unser System neu.

restart

Installation der DomUs

Neue virtuelle Maschinen lassen sich schnell und einfach mit den Xen-Tools installieren. Als erstes legen wir die Standart-Werte für neue VMs fest. Hier kann meine Konfiguration auch gerne variiert werden. Die Einstellungen sollten zum Server passen.

/etc/xen-tools/xen-tools.conf
dir = /home/xen
install-method = debootstrap
debootstrap-cmd=/usr/sbin/debootstrap

size   = 200Gb    # Disk image size.
memory = 512Mb    # Memory size
swap   = 512Mb    # Swap size
fs     = ext3     # use the EXT3 filesystem for the disk image.
dist   = lenny    # Default distribution to install.
image  = sparse   # Specify sparse vs. full disk images.

netmask   = 255.255.255.255

passwd = 1

kernel      = /boot/vmlinuz-`uname -r`
initrd      = /boot/initrd.img-`uname -r`
arch=amd64
mirror = http://ftp.us.debian.org/debian/

ext3_options   = noatime,nodiratime,errors=remount-ro
ext2_options   = noatime,nodiratime,errors=remount-ro
xfs_options    = defaults
reiser_options = defaults
serial_device = hvc0
disk_device = xvda

Jetzt können wir mit folgendem Befehl fleißig neue virtuelle Maschinen erstellen. Am Ende der Installation wird das zu erstellende Passwort für root abgefragt. (Die orange markierten Teile mit den eigenen Daten ersetzen.)

xen-create-image --hostname=example.com --ip=192.0.32.10 --gateway=192.0.32.10 --role=udev

Der Wert bei IP und Gateway entspricht hier immer der IP-Adresse, unter der die VM erreichbar sein soll. Diese ungewöhnliche Konfiguration hat den Hintergrund, dass die Netzwerkkonfiguration so auch funktioniert, wenn sich Dom0 und DomU in unterschiedlichen Netzen befinden.

Nach der Installation kann die VM mit folgendem Befehl gestartet werden.

xm create /etc/xen/example.com.cfg

Mit xm list können wir stets prüfen, welche VMs grade auf unserem Server laufen.

Das war’s! Nun können wir uns per SSH auf der neuen VM anmelden.

ssh root@example.com

Quellen:
- http://articles.hostbillapp.com/2010/01/03/setting-up-xen-vps-hosting-at-hetzner-debian-5-0-lenny/
- http://www.asconix.com/howtos/debian/xen-debian-lenny-howto

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]