Difference between revisions of "Setting up a xen server"

From FreekiWiki
Jump to navigation Jump to search
(use freegeek specific xen packages and other updates)
 
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
oh, have fun.
 
oh, have fun.
  
== to set create the parent server (out of date?) ==
+
== to create the parent server ==
  
 
install the freegeek-xen-server which includes some custom hooks for xen at
 
install the freegeek-xen-server which includes some custom hooks for xen at
Line 7: Line 7:
  
 
  apt-get install freegeek-xen-server
 
  apt-get install freegeek-xen-server
 
symlink the kernel and initrd images, otherwise we'll have to manually update
 
each xen instance's configuration file on upgrade:
 
 
ln -s /boot/vmlinuz-MOST-RECENT-VERSION /boot/vmlinuz-xen
 
ln -s /boot/initrd.img-MOST-RECENT-VERSION /boot/initrd.img-xen
 
  
 
edit /etc/xen-tools/xen-tools.conf:
 
edit /etc/xen-tools/xen-tools.conf:
Line 22: Line 16:
 
  dist = etch
 
  dist = etch
 
  passwd = 1
 
  passwd = 1
  mirror = http://mirrors.kernel.org/debian/
+
  mirror = http://apt.freegeek.org:9999/debian/
  
 
modify /etc/xen/xend-config.sxp:
 
modify /etc/xen/xend-config.sxp:
  
 
  (network-script freegeek-network-script)
 
  (network-script freegeek-network-script)
 +
 +
;Controlling the amount of memory dom0 uses
 +
* In /boot/grub/menu.lst add to the line # xenhopt=dom0_mem=256M then run update-grub
  
 
== to create an instance on the parent server ==
 
== to create an instance on the parent server ==
create new xen instances with:
+
Create new xen instances with:
  
 
  xen-create-image --hostname SERVERNAME --ip 192.168.?.? --netmask 255.255.255.0 --gateway 192.168.?.1
 
  xen-create-image --hostname SERVERNAME --ip 192.168.?.? --netmask 255.255.255.0 --gateway 192.168.?.1
  
make sure SERVERNAME and the chosen ip address don't exist already.
+
Make sure SERVERNAME and the chosen ip address don't exist already.
 
 
Prepare to wait awhile while this all installs. Kill your time by editing the appropriate dns files and the purpose file in the ass svn project, check your work, and then commit the changes. Then ssh into dns1 and:
 
 
 
cd /var/cache/bind
 
svn update
 
/etc/init.d/bind9 reload
 
sudo /etc/init.d/bind9 reload
 
 
 
Continue waiting for your install to happen. Go help out at the Front Desk or something.
 
  
 
It will ask for a root password. Have one prepared and ready to go.
 
It will ask for a root password. Have one prepared and ready to go.
Line 51: Line 39:
  
 
Check to see that it is there.
 
Check to see that it is there.
 +
 +
To have it start automatically:
 +
ln -s /etc/xen/NAME.cfg /etc/xen/auto/
  
 
To start the xen instance:
 
To start the xen instance:
  
  xm create /etc/xen/NAME.cfg
+
  xm create NAME.cfg
  
 
To list the running xen instances and how much resources they're using:
 
To list the running xen instances and how much resources they're using:
Line 71: Line 62:
 
  apt-get install freegeek-xen-instance
 
  apt-get install freegeek-xen-instance
  
==problems==
+
[[Category:Technocrats]]
 
 
===broken networking===
 
AAAAACK! It seems to have screwed up all networking on all instances on that xen server. I could no longer ssh into any of the instances, though getting to a console and halting the broken instance seems to have cleared up the problem.
 
 
 
What step is missing? Should we do the following? This seems wrong since it is a config file for xen itself not the new instance. (And we tried it and it didn't work.)
 
 
 
To get networking to work, i had to uncomment in /etc/xen/xend-config.sxp:
 
 
 
(network-script network-bridge)
 
 
 
and then restart xend:
 
 
 
invoke-rc.d xend restart
 
 
 
===4gb seg fixup messages===
 
 
 
[http://bugs.debian.org/405223]
 
 
 
i've been unable to verify if this helps at all, but:
 
 
 
[http://lists.xensource.com/archives/html/xen-users/2006-11/msg00034.html]
 
 
 
echo 'hwcap 0 nosegneg' > /etc/ld.so.conf.d/libc6-xen.conf
 
 
 
appears to not help at all, at least on laze.
 
 
 
[[Category:ASS]]
 

Latest revision as of 17:12, 28 January 2012

oh, have fun.

to create the parent server

install the freegeek-xen-server which includes some custom hooks for xen at freegeek.

apt-get install freegeek-xen-server

edit /etc/xen-tools/xen-tools.conf:

kernel = /boot/vmlinuz-xen
initrd = /boot/initrd.img-xen
debootstrap = 1
lvm = vg
dist = etch
passwd = 1
mirror = http://apt.freegeek.org:9999/debian/

modify /etc/xen/xend-config.sxp:

(network-script freegeek-network-script)
Controlling the amount of memory dom0 uses
  • In /boot/grub/menu.lst add to the line # xenhopt=dom0_mem=256M then run update-grub

to create an instance on the parent server

Create new xen instances with:

xen-create-image --hostname SERVERNAME --ip 192.168.?.? --netmask 255.255.255.0 --gateway 192.168.?.1

Make sure SERVERNAME and the chosen ip address don't exist already.

It will ask for a root password. Have one prepared and ready to go.

Your configuration file will be in:

/etc/xen/NAME.cfg

Check to see that it is there.

To have it start automatically:

ln -s /etc/xen/NAME.cfg /etc/xen/auto/

To start the xen instance:

xm create NAME.cfg

To list the running xen instances and how much resources they're using:

xm list

To get to a login screen on the vm, either ssh in, or:

xm console NAME

To get out of the instance, the secret keystroke is Ctrl-].

log into the xen instance (either with ssh or xm console), and ensure the freegeek-xen-instance package is installed:

apt-get install freegeek-xen-instance