Xen
Contents
- 1 Fysieke server voor virtualisatie (dom0)
- 2 Virtuele server (domU)
- 3 Troubleshooting
- 4 Links
Fysieke server voor virtualisatie (dom0)
- HowTo's
- http://packages.debian.org/nl/lenny/kvm
- http://wiki.debian.org/DebianInstaller/Xen
- http://wiki.xensource.com/xenwiki/XenFaq
Hardware checks vooraf
Vaststellen of de processor 64 of 32 bit is:
# grep flags /proc/cpuinfo lm = Long Mode = 64 bits Real Mode = 16 bits Protected Mode = 32 bits
Vaststellen of de processor virtualisatie ondersteund
# egrep ‘(vmx|svm)’ /proc/cpuinfo
Ubuntu netinstall (karmic)
De Ubuntu netinstall heeft een addertje onder het gras. De keuze lijkt tussen Intel i386 en amd64
http://ftp.ubuntu.com/ubuntu/dists/karmic/main/installer-i386/current/images/netboot/ubuntu-installer/i386/initrd.gz http://ftp.ubuntu.com/ubuntu/dists/karmic/main/installer-i386/current/images/netboot/ubuntu-installer/i386/linux
Debian netinstall (lenny)
Als er al een linux versie op de machine aanwezig kan de volgende installatie met een netinstall geschieden door de netinstall images op te nemen in /boot en het grub menu aan te passen. Op deze installatie komt een dom0, dus het is voldoende om ongeveer 8 Gb schijfruimte te nemen voor de linux partitie en 1 Gb voor swap. Op het restant van de schijf komt later een lvm te staan ten behoeve van de xen-domains.
http://nsaunders.wordpress.com/2006/11/06/a-usb-stick-grub-and-ubuntu/ http://www.debuntu.org/how-to-install-ubuntu-linux-on-usb-bar
Als root:
# cd /boot
AMD-64
# wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux # wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz
Intel 32 bits
# wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/linux # wget http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
grub
In menu.lst moet een entry staan voor elk bootable image, bijvoorbeeld:
title Lenny netinstall Debian GNU/Linux root (hd0,0) kernel /boot/linux root=/dev/sda1 ro quiet splash ramdisk_size=32768 initrd /boot/initrd.gz
De waarden van de kernel en de initrd paramteres moeten corresponderen met de exacte naam en pad van de kernel en de initrd.gz ramdisk. Na de aanpassing volgen de commando's:
# grub-install /dev/sda # reboot
Software matige RAID
Configureer de Raid voor de dom0 tijdens de installatie van de fysieke host.
De dom0 server zelf
Een een softwarematige RAID bestaat op een dom0 uit meerdere md-devices. Creeer het eerste kleine device 8Gb - 20Gb tijdens de installatie volgens deze stappen:
- in the following menu, scroll to your first disk and hit enter: the partitionier asks you, if you want to create an empty partition table. Say "yes". (Hint: this will erase your existing data, if any.)
- The partitioner is back in the disk overview, scroll one line downwards over the line with "FREE SPACE" and hit enter.
- Create a partition with the size you need, but remember the size and the logical type.
- In the "Partition settings" menu, go to "Use as" and hit enter.
- Change the type to "physical volume for RAID".
- Finish this partition with "Done setting up the partition".
- Create other partitions on the same disk, if you like.
- Now repeat all the steps from the first disk for the second disk.
After this, you should have at least two disks with the same partition schema and all partitions (beside swap) should be marked for RAID use.
- Now look at the first menu entry in the partitioner menu, there is a new line: "Configure software RAID". Go into this menu.
- Answer the question, if you like to write the changes, with "Yes".
- Now pick "Create MD device".
- Use RAID1 and give the number of active and spare devices (2 and 0 in our case).
- In the following menu, select the same device number on the first and second disk and Continue.
Repeat this step for every two devices until you are done. Then use "Finish" from the Multidisk configuration options.
You are back in the partitioner menu and now you see one ore more new partitions named as "Software RAID Device". You can use this partitions like any normal partition and continue installing your system.
Meer info op : http://www.howtoforge.com/software-raid1-grub-boot-debian-etch
lvm op een software raid
Na de installatie van nuttige software:
# apt-get install raidutils array-info
Configuratie van een nieuw md-device:
# cat /proc/mdstat # mdadm -v --create /dev/md1 --level=raid1 --raid-devices=2 /dev/sda5 /dev/sdb5 # pvcreate /dev/md1 # pvscan # array-info -v -d /dev/md1 # pvdisplay # vgcreate dev-xen /dev/md1
Volg hierna de normale procedure voor het bouwen van een domU.
Xen install
AMD-64
# apt-get install xen-linux-system-2.6.26-2-xen-amd64 xen-tools
Intel
i386
# apt-get install xen-linux-system-2.6.26-1-xen-686 xen-tools libvirt0 less xvnc4viewer bzip2 xenstore-utils xenwatch xen-utils-3.2-1 xen-hypervisor-3.2-1-i386 xen-hypervisor-i386
Algemeen
apt-get install lvm2 xen-tools
xend-config.cfg
Configuratie voor dom0 met een enkele netwerkkaart.
# # Uwork xen configuratie met network-bridge networkscript # (logfile /var/log/xen/xend.log) (loglevel DEBUG) (network-script network-bridge) (vif-script vif-bridge) (dom0-min-mem 196) (dom0-cpus 0) vnc-listen
Xen opzetten
Network brideging
# vi /etc/xen/xend-config.sxp
In geval van een enkele ethernet kaart Comment out (network-script network-dummy) voeg toe:
(network-script network-bridge)
Xen multinic opzetten
De configuratie van een Xen host met meerdere netwerkkaarten is vanaf release 3.2 gewijzigd, oude configuraties werken niet meer. De juiste manier van configureren is moerlijk te vinden, het is vrij slecht gedocumenteerd.
Voor het opzetten van een multinic host is het noodzakelijk verschilende bestanden in samenhang te wijzigen.
- /etc/modules
- /etc/xen/scripts/network-multinic
- /etc/xen/xend-config.sxp
- /etc/network/interfaces
N.B. De machine is erg gevoelig voor fouten in de samenhang tussen deze machine. Een fout leidt er doorgaans toe dat het boot proces stopt, of dat de interfaces niet opkomen.
/etc/modules
loop max_loop=64 options netloop nloopbacks=255
/etc/xen/scripts/network-multinic
Plaats het script network-multinic in /etc/xen/scripts en zorgt ervoor dat het uitvoorbaar is:
#!/bin/sh # # Uwork network-multinic xen 3.2 # dir=$(dirname "$0") #/usr/bin/logger -t xend-network "network-bridge $* vifnum=0, vifnum=1" "$dir/network-bridge" "$@" netdev=eth0 bridge=xen-br0 vifnum=0 "$dir/network-bridge" "$@" netdev=eth1 bridge=xen-br1 vifnum=1
/etc/xen/xend-config.sxp
Comment out (network-script network-dummy) voeg toe (network-script network-multinic)
# # Uwork xen configuratie met multinic networkscript # (network-script network-multinic) (vif-script vif-bridge) (dom0-min-mem 196) (dom0-cpus 0) (vncpasswd )
/etc/network/interfaces
Het opvallende aan de inhoud van het bestand interfaces is dat de vertouwde aanduidingen voor de netwerkinterfaces eth0 en eth1 zijn vervangen door de namen van de bridges xen-br0 en xen-br1.
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # # Uwork xen netwerk configuratie voor xen dom0 multinic # # The loopback network interface auto lo iface lo inet loopback # # The external network interface auto xen-br0 allow-hotplug xen-br0 iface xen-br0 inet dhcp # auto xen-br1 allow-hotplug xen-br1 iface xen-br1 inet static address 10.22.23.1 netmask 255.255.255.128
LVM
Nieuw logical volume
lvcreate -L <size> (1T) <name> /dev/dev-xen/
lvm
# pvcreate /dev/sda? # pvdisplay # pvscan
Creeer een logical volume
# vgcreate dev-xen /dev/sda? (Kan ook bij de install) # vgdisplay
xen-tools
Zet de lvm in de xen-tools configuratie
# vi /etc/xen-tools/xen-tools.conf lvm = dev-xen
Zorg voor een root password door uncomment van:
passwd = 1
Zorg voor console access door onderstaande regel toe te voegen:
serial_device = hvc0
xen-tools.conf
lvm = dev-xen install-method = debootstrap size = 8Gb # Disk image size. memory = 128Mb # Memory size swap = 128Mb # 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. passwd = 1 kernel = /boot/vmlinuz-`uname -r` initrd = /boot/initrd.img-`uname -r` mirror = http://mirror.webhuis.nl:3142/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
Virtuele server (domU)
Bouwen van een virtuele server
xen-create-image --verbose --force --hostname=ips-vpn --ip=10.68.71.200 --netmask=255.255.255.240 --gateway=10.68.71.193 --size=8gb --debootstrap --dist=lenny --mirror=http://mirror.webhuis.nl:3142/ftp.nl.debian.org/debian --role=udev
Aanpassen xmdomain.cfg: Voeg toe onder de memory parameter:
extra = "clocksource=jiffies"
Herstart de domU
Troubleshooting
Autostart domU na reboot dom0
Zet de automatisch te starten domeinen in /etc/xen/auto.
Memory issues
How do I fix "xen_net: Memory squeeze in netback driver"?
This error is caused by memory being dynamically allocated on the dom0 device on virtualized systems. It can be fixed by assigning a static amount of ram on the dom0. This procedure is specific for virtualized systems running the Xen platform.
1. Edit /etc/grub.conf using your favorite editor. In the "kernel /versionnumberhere" line add the following to the end of the line: dom0_mem=512M An example would look like: kernel /xen.gz-2.6.18-128.1.10.el5 dom0_mem=512M 2. Edit /etc/xen/xend-config.sxp and change the following: (dom0-min-mem 256) to: (dom0-min-mem=0) 3. Lastly, reboot your dom0 device. This will completely fix the memory squeeze issue. # grub-install /dev/sdaLinks
* http://wiki.xensource.com/xenwiki/XenNetworking * http://www.syneus.net/debian-xen-networking-vlan * http://renial.net/weblog/2007/02/27/xen-vlan * http://gathering.tweakers.net/forum/list_messages/1337353 * http://openvswitch.org/?page_id=14 * http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=INSTALL.bridge;hb=HEAD
Terug naar: Uwork bouwstenen