作者:66桀骜不驯_537 | 来源:互联网 | 2014-05-27 20:19
作者:vpssee$yuminstallkernel-xenxen安装成功后,可以看到xen.gz-2.6.18-128.2.1.el5内核已经装好,修改default的值默认启动Xen内核。#vi/etc/grub.confdefault0timeout2splashimage(hd0,0)/grub/splash.
作者:vpssee $ yum install kernel-
xen xen安装成功后,可以看到
xen.gz-2.6.18-128.2.1.el5 内核已经装好,修改 default 的值默认启动 Xen 内核。
# vi /etc/grub.conf
default=0
timeout=2
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-128.2.1.el5xen)
root (hd0,0)
kernel
/xen.gz-2.6.18-128.2.1.el5
module
/vmlinuz-2.6.18-128.2.1.el5xen ro root=/dev/VolGroup00/LogVol00
module
/initrd-2.6.18-128.2.1.el5xen.img
title CentOS (2.6.18-128.1.16.el5)
root (hd0,0)
kernel
/vmlinuz-2.6.18-128.1.16.el5 ro root=/dev/VolGroup00/LogVol00
initrd
/initrd-2.6.18-128.1.16.el5.img
重启系统后检查一下是否是 Xen 的内核:
# uname -r
2.6.18-128.2.1.el5xen再检查一下 Xen 是否已经启动:
本帖隐藏的内容需要回复才可以浏览
创建和安装 guest如果把正在运行的 Xen 内核的操作系统看成 host 的话,那么运行在 host 上面的操作系统就可以看成
guest。先建一个目录用来存放所有的 guest 操作系统的 image,vm01.img,vm02.img,等等,1个 guest
对应1个 image。
# mkdir /vm
# cd /vm
# virt-install
What is the name of your virtual machine? <-- vm01
How much RAM should be allocated (in megabytes)? <-- 256
What would you like to use as the disk (path)? <--
/vm/vm01.img
How large would you like the disk (/vm/vm01.img) to be (in
gigabytes)? <-- 4
Would you like to enable graphics support? (yes or no) <--
no
What is the install location? <-- http://127.0.0.1/centos
或者可以把上面简化成1条命令:
# virt-install -n vm01 -r 256 -f /vm/vm01.img -s 4 --nographics
-p
-l http://127.0.0.1/centos需要注意的是上面如果是 -p(paravirtualized)的话就不能直接从
iso 文件安装,必须把 iso 文件解出来后放到一个 http/ftp 服务器上安装,只有 fully virtualized
的才可以从 iso 文件、CD-ROM 等安装。还要注意的是,paravirtualized 需要修改过的操作系统内核,所以不能安装
Windows, fully virtualized 可以用来安装 Windows 只要 CPU 支持
Virtualization(Intel VT or AMD V)。所以这里需要先安装和配置一个 web 服务器,然后把 iso
文件解压到 web 服务器能访问的目录下(http://127.0.0.1/centos)。如果网速够快,可以从 Internet
上直接安装,把http://127.0.0.1/centos 换成
http://mirrors.kernel.org/centos/5.3/os/i386
按照 CentOS 的安装程序完成 CentOS 操作系统(guest)的安装后,看看 guest 的配置文件:
# cat /etc/xen/vm01
name = "vm01"
uuid = "b4910b6d-b205-6f86-c145-3c0895cb20c5"
maxmem = 256
memory = 256
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ ]
disk = [ "tap:aio:/vm/vm01.img,xvda,w" ]
vif = [ "mac=00:16:d2:0a:66:6d,bridge=xenbr0" ]
看看 guest 是否启动:
# /usr/sbin/xm list
Name
ID Mem(MiB) VCPUs
State Time(s)
Domain-0
0 1220
2 r----- 4691.3
vm01
9
255 1 -b----
16.9进入 guest安装成功后就可以登录 guest 了
# /usr/sbin/xm console vm01
如果要退出 guest 的话,用 Ctrl + ],就会回到 host。
如果想每次启动 host 时自动启动 guest 的话:
# ln -s /etc/xen/vm01 /etc/xen/auto更懒的办法如果觉得安装 guest 操作系统太麻烦,可以到
http://stacklet.com/ 下载一个已经装好的镜像文件,然后在 host 下启动 guest 镜像就可以了。下载和启动
Ubuntu 9.04 的镜像:
# wget
http://stacklet.com/sites/default/files/ubuntu/
ubuntu.9-04.x86.20090514.img.tar.bz2
# tar jxvf ubuntu.9-04.x86.20090514.img.tar.bz2
# mv ubuntu.9-04.x86.xen3.pygrub.cfg /etc/xen/ubuntu.9-04.cfg
# mv ubuntu.9-04.x86.img /vm/ubuntu.9-04.img
# /usr/sbin/xm create -f ubuntu.9-04.cfg
# /usr/sbin/xm list
# /usr/sbin/xm console
ubuntu.9-04从 http://stacklet.com/ 下载的镜像文件的初始用户名和密码为:root/password
增加 swap如果是从 http://stacklet.com/ 下载的操作系统镜像,可能没有设置 swap,需要自己添加 swap
分区,可以做个 swap 镜像文件当作 swap 分区用。Xen 与 OpenVZ 相比有个好处就是 Xen 可以有自己的 swap
分区,甚至 guest 可以自己设置 swap. 先建个 512MB(524288B,1GB = 1048576B)大小的文件,转化成
swap 格式:
复制内容到剪贴板 # dd if=/dev/zero of=ubuntu.9-04.swap
bs=1024 count=524288
# /sbin/mkswap ubuntu.9-04.swap
修改 /etc/xen/ubuntu.9-04,修改 disk 这一行:
# vi /etc/xen/ubuntu.9-04.cfg
disk =
['file:/vm/ubuntu.9-04.img,sda1,w','file:/vm/ubuntu.9-04.swap,sda2,w']
启动
guest 系统,登录后修改 /etc/fstab,重启后用 top 看看 Swap 分区有没有被激活:
# vi /etc/fstab
/dev/sda2
swap swap
defaults,noatime
0 0
# shutdown -r now
# top
...
Mem: 262284k total, 46480k used,
215804k free, 3176k buffers
Swap: 524280k total,
0k used, 524280k free,
17196k cached
常用 Xen 命令
xm create -c /path/to/config - Start a virtual machine.
xm shutdown - Stop a virtual machine.
xm destroy - Stop a virtual machine immediately without shutting it
down. It's as if you switch off the power button.
xm list - List all running systems.
xm console - Log in on a virtual machine.
xm help - List of all commands.