Chinaunix首页 | 论坛 | 博客
  • 博客访问: 247280
  • 博文数量: 68
  • 博客积分: 2802
  • 博客等级: 少校
  • 技术积分: 614
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-11 15:38
文章存档

2013年(3)

2012年(15)

2011年(21)

2010年(29)

我的朋友

分类: LINUX

2012-12-28 23:24:13

下面的安装步骤和配置过程基于 Debian 6 版本,CentOS 版本可以参看:在 CentOS 上安装和配置 Xen,Ubuntu 版本可以参看:在Ubuntu 上安装和配置Xen ,OpenSolaris 版本参看:在 OpenSolaris 上安装和配置 Xen .


安装 Xen 及相关工具:

注:如果是32位的安装xen-hyprevisor-x.x.x-i386(x.x.x代表发行版本号)

# apt-get install xen-hypervisor-x.x.x-amd64 \
xen-linux-system-x.x.x-xen-amd64 xen-utils-3.2-1 \
xenstore-utils xenwatch xen-shell xen-tools virtinst


我们需要很多 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

dd if=/dev/zero of=/vm/vm01.hdimg bs=1M count=10240  #创建一个10G的虚拟磁盘

# virt-install -n vm01 -r 512 -b xenbr0 -f /vm/vm01.hdimg -l  --nographics  #从网上下载镜像安装

-n  虚拟机名

-r 内存大小

-b 桥接网卡名,如网卡是eth0,桥接的网卡名就是xembr0

-f 虚拟磁盘位置

-l 安装系统位置

--nographics 不用图形界面

进入 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

阅读(1350) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

fbt0452013-12-16 14:29:23

另外,我的/boot/grub/下没有menu.lst这个文件

fbt0452013-12-16 14:07:03

# apt-get install xen-hypervisor-x.x.x-amd64 \
xen-linux-system-x.x.x-xen-amd64 xen-utils-3.2-1 \
xenstore-utils xenwatch xen-shell xen-tools virtinst

我按楼主的命令操作了一遍,xen-utils xenstore-utils已经作为前两个依赖包被安装,xenwatch、xen-tools、virtinst均需要aptitude安装,xen-shell压根无法安装(源码安装可以),请楼主确认一下