在Debian 上安装和配置Xen


SUN 每隔一段事件都会有一些折旧的服务器捐给大学、实验室、研究机构等。我们项目组就刚 “骗” 了几台免费的 Sun Fire 服务器,当然也和我们是 SUN(也许现在应该叫 Oracle)的长期客户有关,我们的服务器基本都是 SUN 的。现在只要新机器一进来就先虚拟化,虚拟化后才能上机柜,技术变化太快了,记得几年前我们买机器一上来首先装的是操作系统,现在 hypervisor 代替了操作系统。

 

首先最小化安装64位的 Debian,下面的安装步骤和配置过程基于 Debian 5.04 版本,CentOS 版本可以参看:在 CentOS 上安装和配置 Xen,Ubuntu 版本可以参看:在Ubuntu 上安装和配置Xen ,OpenSolaris 版本参看:在 OpenSolaris 上安装和配置 Xen .

安装 Xen
检查一下 source list:

# vi /etc/apt/sources.list

deb http://http.us.debian.org/debian stable main contrib non-free
#deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
安装 Xen 及相关工具:

# apt-get install xen-hypervisor-3.2-1-amd64
xen-linux-system-2.6.26-1-xen-amd64 xen-utils-3.2-1
xenstore-utils xenwatch xen-shell xen-tools
我们需要很多 loop devices 来挂载基于文件的虚拟机,所以需要把 loop device 的数目限制设成最大:

# vi /etc/modules

loop max_loop=64
安装完 Xen 后,Debian 上的 Xen 的默认网络配置用的是 network-dummy,和 CentOS 上有点不一样,我们需要修改成 bridge 以便每个虚拟机都像一个独立机器一样运行在网络上:

# vi /etc/xen/xend-config.sxp

#(network-script network-dummy)
(network-script network-bridge)
安装成功后,检查 Xen 内核是否已经装好,并给内核加上 dom0_mem=256M 限制 Xen Dom0 的内存,防止 dom0 把内存耗光:

# vi /boot/grub/menu.lst

...
title Xen 3.2-1-amd64 / Debian GNU/Linux, kernel 2.6.26-2-xen-amd64
root (hd0,0)
kernel /xen-3.2-1-amd64.gz dom0_mem=256M
module /vmlinuz-2.6.26-2-xen-amd64 root=/dev/mapper/vpsee-root ro console=tty0
module /initrd.img-2.6.26-2-xen-amd64
...
重启系统后检查一下是否是 Xen 的内核以及 Xen 是否启动:

# reboot

# uname -r
2.6.26-2-xen-amd64

# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 256 2 r----- 9.3
创建和安装 guest
如果把正在运行的 Xen 内核的操作系统看成 host 的话,那么运行在 host 上面的操作系统就可以看成 guest。先建一个目录用来存放所有的 guest 操作系统的 image,vm01.img,vm02.img 等,1个 guest 对应1个 image。

# mkdir /vm

# xen-create-image --hostname=vm01 --size=10Gb --swap=512Mb --ide
--ip=172.16.39.121 --netmask=255.255.254.0 --gateway=172.16.38.1 --force
--dir=/vm --memory=512Mb --arch=i386
--kernel=/boot/vmlinuz-2.6.26-2-xen-amd64
--debootstrap --dist=etch --mirror=http://ftp2.de.debian.org/debian/ --password
可以根据需要调整 /etc/xen-tools/xen-tools.conf

进入 guest
安装成功后需要增加给对应的虚拟机器增加一个 Xen 配置文件以便 Xen 能启动这个虚拟机:

# vi /etc/xen/vm01

kernel = /boot/vmlinuz-2.6.26-2-xen-amd64
ramdisk = /boot/initrd.img-2.6.26-2-xen-amd64
memory = 512
root = /dev/xvda2 ro
disk = [
file:/vm/domains/vm01/swap.img,xvda1,w,
file:/vm/domains/vm01/disk.img,xvda2,w,
]
name = vm01
vif = [ ip=172.16.39.121,mac=00:16:3E:C0:21:DE ]
on_poweroff = destroy
on_reboot = restart
on_crash = restart
启动刚安装的 Debian 虚拟机后就可以登录了,

# xm create vm01
# xm console vm01
如果要退出 guest 的话,用 Ctrl + ],就会回到 host。

如果想每次启动 host 时自动启动 guest 的话:

# ln -s /etc/xen/vm01 /etc/xen/auto
更懒的办法
如果觉得安装 guest 操作系统太麻烦,可以到 http://stacklet.com/ 下载一个已经装好的镜像文件,调整 Xen guest 的配置文件,然后在 host 下启动 guest 镜像就可以了,这里和这里有更详细的介绍。

增加 swap
如何给 guest 系统(domU)增加 swap,这里有介绍

相关内容

    暂无相关文章