XEN server
Contents
Overzicht
We hebben 2 XEN-express servers met de volgende hardware configuratie:
Hardware
- Barebone: Asus RS120-E5/PA4
- 1U server kast
- Intel 3200 chipset
- socket 775
- 4x hotswap-SATA
- 36 maand garantie (s/n: xxxx)
- Kingston DDR2-667 ECC 2GB CL5 (4 GB per server, nog ruimte voor 4 GB)
- 60 maand garantie
- Western Digital 750 GB RE-2 16MB cache (2 stuks per server)
- 60 maand garantie (s/n: xxx)
- Intel Q6600 Quad-core processor
- 36 maand garantie (s/n: xxx)
XENserver-1
- IP: 192.168.x.y
- host voor fileserver en mailserver
XENserver-2
- IP: 192.168.x.y+10
- host voor backupserver en ...
Installatie XEN-servers
Dit zijn de stappen om een standaard installatie van Xen-Express om te zetten naar het gewenste formaat.
Installatie vanaf cdrom
- Opgeven vaste IP-adressen voor eth0
- Geen Storage-Repository (SR) toewijzen. (indien wel gedaan, staat hier hoe ze weer weg te krijgen)
- XenCenter-toegang op eth0
- XenCenter installeren op Windows-werkstation
- XEN Linux-tools-CD installeren
- Instellen NTP als cronjob op de servers.
11 4 * * * root ntpdate 194.109.22.18 > /dev/null
Inrichten Storage Repository
Aanmaken virtual machines
NFS
Onder Debian zijn de volgende packages nodig:
nfs-common - NFS support files common to client and server nfs-kernel-server - Kernel NFS server support portmap - The RPC portmapper
Uiteraard is de kernel-server niet nodig op de clients.
NFSv4 exporteren
NFSv4 heeft een paar nieuwe dingen, waaronder het kunnen exporteren van losse filesystemen in 1 path, zodat je op een machine eigenlijk alleen maar 1 mount hoeft te doen om alle onderliggende exports te mounten.
Voorbeeld /etc/exports :
/nfs4exports 192.168.1.0/24(ro,sync,insecure,root_squash,no_subtree_check,fsid=0) /nfs4exports/data 192.168.1.0/24(rw,nohide,sync,insecure,root_squash,no_subtree_check) /nfs4exports/home 192.168.1.0/24(rw,nohide,sync,insecure,no_root_squash,no_subtree_check) /nfs4exports/ftp 192.168.1.0/24(rw,nohide,sync,insecure,root_squash,no_subtree_check) /nfs4exports/www 192.168.1.0/24(rw,nohide,sync,insecure,root_squash,no_subtree_check)
NFSv4 mounten
Een voorbeeld voor het definieren van mounts in de fstab:
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/xvda1 / ext3 rw,noatime 0 1 /dev/xvdb1 none swap defaults 0 0 192.168.1.5:/ftp /FTPmap nfs4 rw,_netdev,noauto 0 0 192.168.1.5:/home /home nfs4 rw,_netdev,noauto 0 0 192.168.1.5:/www /www nfs4 rw,_netdev,noauto 0 0
Snelheid NFSv4
De metingen met bonnie++ (filesystembenchmark) zijn gedaan op een NFSv4 mount naar de fileserver.
Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP mailserver 2560M 51158 82 45530 5 26788 3 45326 73 60513 2 283.8 0 ------Sequential Create------ --------Random Create-------- -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP 16 253 0 11048 2 666 0 295 0 12370 0 697 0 mailserver,2560M,51158,82,45530,5,26788,3,45326,73,60513,2,283.8,0,16,253,0,11048,2,666,0,295,0,12370,0,697,0
Problemen onder Debian
Het mounten onder Debian gaat fout tijdens het booten, dus als omweg kun je dit proberen: Een file (executable) /etc/init.d/mymount
#!/bin/bash mount /FTPmap mount /home mount /www
En een symlink vanuit het gewenste runlevel naar dat scriptje:
webserver:~# ls -l /etc/rc2.d/ |grep mymount lrwxrwxrwx 1 root root 17 Mar 17 10:30 S99mymount -> ../init.d/mymount
Omdat het mounten het booten heel erg vertraagd en uiteindelijk alsnog faalt, is de optie noauto nodig in de fstab.
Netwerkconfiguratie
De configuratie van de netwerkadapters gaat als volgt: In /etc/network/interfaces :
auto eth0 eth1 lo allow-hotplug eth0 iface eth0 inet static address 192.168.2.34 netmask 255.255.255.0 broadcast 192.168.2.255 network 192.168.2.0 gateway 192.168.2.254 iface eth1 inet static address 192.168.1.34 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0 iface lo inet loopback
Op die manier heb je een subnet 192.168.2.x op eth0, wat ook met de rest van het netwerk verbonden is en ook naar buiten kan communiceren via de router (gateway) Het subnet 192.168.1.x is via eth1 verbonden met de andere XEN-server. Hierover worden backups en NFS-mounts gestuurd en dit is dus ook niet te benaderen vanaf het netwerk, tenzij mensen fysiek toegang hebben tot de servers.
Om het backuppen iets duidelijker te maken, plaats je in de file /etc/hosts het volgende:
127.0.0.1 localhost localhost.localdomain 192.168.1.31 backup 192.168.1.11 fileserver 192.168.1.34 remote
Instellen APC-UPS
Zorg ervoor dat de serial console niet gestart wordt tijdens booten. Dat doe je door in de grub-configuratie in /boot/grub/menu.lst aan het eind van de module-regel xencons=off toe te voegen.
title XenServer root (hd0,0) kernel /boot/xen.gz dom0_mem=752M lowmem_emergency_pool=16M crashkernel=64M@32M module /boot/vmlinuz-2.6-xen root=LABEL=root-atsjrzvu ro xencons=off module /boot/initrd-2.6-xen.img
In de file /etc/inittab moet ook nog 1 regel uitgezet worden (bijna aan het eind van de file een "#" aan het begin van de regel zetten):
#s0:2345:respawn:/sbin/agetty ttyS0 115200,9600 linux
Alles wat niet uitgecommentarieerd staat in /etc/apcupsd/apcupsd.conf (alleen eerste 4 regels zijn niet default):
UPSNAME UPS1 UPSCABLE 940-1524C UPSTYPE apcsmart DEVICE /dev/ttyS0 LOCKFILE /var/lock SCRIPTDIR /etc/apcupsd PWRFAILDIR /etc/apcupsd NOLOGINDIR /etc ONBATTERYDELAY 6 BATTERYLEVEL 5 MINUTES 3 TIMEOUT 0 ANNOY 300 ANNOYDELAY 60 NOLOGON disable KILLDELAY 0 NETSERVER on NISIP 0.0.0.0 NISPORT 3551 EVENTSFILE /var/log/apcupsd.events EVENTSFILEMAX 10 UPSCLASS standalone UPSMODE disable STATTIME 0 STATFILE /var/log/apcupsd.status LOGSTATS off DATATIME 0
De RPM van apcupsd staat hier Deze is te installeren op de hypervisor.
Meer info is hier te vinden