Benutzer:Asklepios/Xen Remus: Unterschied zwischen den Versionen

Aus LaborWiki
Wechseln zu: Navigation, Suche
Zeile 77: Zeile 77:
  cd /usr/src
  cd /usr/src
  hg clone http://xenbits.xensource.com/xen-4.0-testing.hg
  hg clone http://xenbits.xensource.com/xen-4.0-testing.hg
cd xen-4.0-testing.hg
source /etc/make.conf
make dist


= firstbase DomU =
= firstbase DomU =

Version vom 4. Januar 2011, 11:17 Uhr

Xen mit Remus

Ziel dieser Seite

Einfach mal ein Setup aufsetzen fuer xen-remus

Was ist Remus

Dazu sei mal ganz einfach auf die Projektseite http://dsg.cs.ubc.ca/remus/doc.html verwiesen.

Hardware

Als xenserver sind ein paar alte Intel Celeron zum einsatz gekommen, weil ich sie recht preiswert bei ebay erlangen konnte (thx Dieter fuer den Tip). Weiter sinnvolle Daten des PowerEdge 750 sind:

  • 2GB Ram
  • 2x Intel Corporation 82547GI Gigabit Ethernet Controller
  • 320GB HDD (thx Benutzer:Siro)

setup

Host OS

Das HostOS ist ein Gentoo. mit folgenden relevanten tools neben dem basis-system installiert:

Pakete

um die deps ins system zu ziehen (der einfachste weg eben ;):

app-emulation/xen-tools-4.0.0  USE="acm api flask ioemu screen -custom-cflags -debug -doc -hvm -pygrub"

um logical volumes und snap-shots zu haben (snapshots weil tests):

sys-fs/lvm2-2.02.73-r1  USE="lvm1 readline static -clvm (-cman) (-selinux)"

irgendwie muessen wir routen und ips vergeben (ifconfig steht fuer INTERFACECONFIG!):

sys-apps/iproute2-2.6.31  USE="berkdb -atm -minimal"

die sourcen von xen gibts via mercurial:

dev-vcs/mercurial-1.5  USE="-bash-completion -bugzilla -emacs -gpg -test -tk -zsh-completion"

erste tests habe ich mit live-migration gemacht (storage backend eben):

sys-block/aoetools-27
sys-block/vblade-14 

Die DomU ist ein debian lenny:

dev-util/debootstrap-1.0.25

netzwerkkonfig fuer die Dom0/U:

net-misc/bridge-utils-1.4 

zum bauen von xen aus den sourcen brauchte ich noch:

sys-power/iasl-20090123  USE="-test" 
sys-devel/dev86-0.16.17-r6
sys-devel/bin86-0.16.17

dies waren fuer den 2.6.32-xen0 kernel notwendig

sys-apps/hal-0.5.14-r2  USE="acpi apm crypt dell disk-partition -X -consolekit -debug -doc -laptop -policykit (-selinux)"
sys-fs/udev-141  USE="(-selinux)"

storage

hierfuer wurde einfach ein lvm aufgesetzt. Die syncronisation der platten laeuft ueber Remus.

pvcreate /dev/sda3 
vgcreate vg /dev/sda3
lvcreate -n firstbase -L10G vg

Es gibt hier alledings schon einen nachteil. Der Fallback, abgesichert durch Remus funktioniert ohne Probleme, allerdings kommt man nur mit ausfallzeiten zurueck auf den Master. Hier bietet sich dann eher sowas wie drbd an

image

mount /dev/vg/firstbase /mnt/tmp
mkfs.ext3 /dev/vg/firstbase
debootstrap lenny /mnt/tmp
cd /mnt/tmp/
mount --bind /dev dev/
mount -t proc as proc
mount -t sysfs as sys
mount --bind /dev/pts dev/pts/
chroot .
dpkg --set-selections < package_selection
apt-get -u dselect-upgrade

grub1 eintrag

title=xen 4.0.2-rc2-pre (2.6.32.26)
root            (hd0,0)
kernel          /xen.gz
module          /vmlinuz-2.6.32.26 root=/dev/sda1 console=tty1 ro loglevel=0 apm=off acpi=on

make.conf

CFLAGS="-O2 -march=i686 -pipe -mno-tls-direct-seg-refs"
CXXFLAGS="${CFLAGS}"
CHOST="i686-pc-linux-gnu"
USE="ipv6 ssl tls xen aio ssh mmx sse mmxext bash-completion openssh gpg gnutls strong-optimization optimization sse2 minimal gmp xattr acl sqlite"
EMERGE_DEFAULT_OPTS="-v --jobs 2"
FEATURES="collision-protect nodoc noinfo parallel-fetch sandbox usersync userfetch usersandbox"
LINGUAS="de en"
ACCEPT_LICENSE="*" 
MAKEOPTS="-j 1"

getting xen

cd /usr/src
hg clone http://xenbits.xensource.com/xen-4.0-testing.hg
cd xen-4.0-testing.hg
source /etc/make.conf
make dist

firstbase DomU

So habe ich meine virtuelle Instanz genannt. Da mir leider kein HVM zur Verfuegung lief das ganze mit nem 2.6.18 Kernel und folgender config

#/etc/xen/firstbase

kernel = "/boot/vmlinuz-2.6.18.8-xenU"
memory = 512
name = "firstbase"
vif = [ 'mac=00:16:3e:01:00:01','bridge=eth0' ]
acpi = 1
apic = 1
vnc=0
sdl=0
opengl=0
disk = [ 'tap2:tapdisk:remus:192.168.23.100:9000|aio:/dev/vg/firstbase_snap,xvda1,w' ] 
root = "/dev/xvda1 ro"
extra = "2 xencons=tty console=xvc0 barrier=0 clocksource=jiffies"
on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

Diese domain zu starten war dann ganz einfach

xm create firstbase

den sync zum master habe ich dann einfach mit

remus firstbase 192.168.23.100

Die DomU meldet sich also als

firstbase:~# uname -a
Linux firstbase 2.6.18.8-xenU #1 SMP Fri Nov 19 00:35:06 Local time zone must be set--see zic  i686 GNU/Linux

files

Xen_dmesg

Xen0 Kernel-Config: Datei:Config-xen-remus-2.6.32.gz

DomU (firstbase) packageselection: Datei:Package selection.gz