Xen

From PostgreSQL_wiki
Revision as of 14:13, 28 February 2010 by 10.68.71.4 (talk) (Fysieke server voor virtualisatie (dom0))
Jump to: navigation, search

Fysieke server voor virtualisatie (dom0)

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 (keramic)

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/sda

Links

* 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