实验环境:

物理机系统:CentOS 5.5 32位 yum源:安装镜像

Xen 简介

Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序 ”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序,它和操作平台结合的极为密切,所以它占用的资源最少。

一、安装Xen和支持Xen的内核

1、 挂载本机镜像

mount -o loop /iso/CentOS-5.5-i386-bin-DVD.iso /media/cdrom/

2、 使用yum安装

yum --disablerepo=\* --enablerepo=c5-media install -y xen*

3、 检查/boot/grub/grub.conf 文件,是否默认启动支持Xen内核

clip_p_w_picpath002

4、 重启系统,启动后检查内核和xend运行是否正常

clip_p_w_picpath004

二、安装Linux虚拟机(半虚拟化)

虚拟系统磁盘使用的映像文件,安装源使用的是HTTP服务提供的本机挂载的系统盘。

1、 创建映像文件

dd if=/dev/zero of=centos5.5.img bs=2k seek=2048k count=1

2、 创建虚拟机

virt-install -n centos -r 256 -f /virtual/centos/centos5.5.img --nographics -p -l http://127.0.0.1/cdrom

运行命令后正常的如下图所示:

clip_p_w_picpath006

接下来就和普通安装一样了。

三、安装Windows 虚拟机(全虚拟化)

PS:安装windows一般都使用全虚拟化,但要使用全虚拟化,CPU必须支持虚拟化技术,这个在BIOS中设置。

安装Windows使用VNC远程到服务器,使用Virtual Machine Manger (virt-manager包)进行安装。

1、 启动安装界面

clip_p_w_picpath008

2、 新建虚拟机

clip_p_w_picpath010

clip_p_w_picpath012

3、 虚拟化类型选择,Xen 支持全虚拟化和半虚拟化,此处选择全虚拟化。

clip_p_w_picpath014

clip_p_w_picpath016

4、 使用映像文件做为虚拟系统磁盘

clip_p_w_picpath018

选择内存和CPU,最大支持32核心。是VMware Exsi 支持核心的4倍。

clip_p_w_picpath020

最后点完成,进行安装。到如下画面就和平常安装一下了。

clip_p_w_picpath022

几个常用命令:

1、 Xm list 查看Xen的运行状态

clip_p_w_picpath024

State 状态说明:

r – 运行

Domain正在CPU里面运行

b – 阻塞

domain阻塞,意味这个domain不处于运行或者可运行的状态。导致这种状态可能是因为domain正在等待IO(a traditional wait state)或者因为闲置而已经处于sleep状态。

p – 暂停

domain处于暂停状态,通常是因为管理员运行了xm pause命令。处于暂停状态的domain依旧会占用系统资源,比如内存。但是不会被Xen hypervisor列出(but will not be eligible for scheduling by the Xen hypervisor)。

s – 关闭

guest已经被请求关闭,重启,挂起(suspended),或者domain处于即将被摧毁的进程状态。

c – 崩溃

domain崩溃,which is always a violent ending。通常这种状态只有在没有在配置文件中设置当崩溃时候重启的时候才会出现。更多信息请参照xmdomain.cfg。

d – 垂死

domain处于垂死状态,但是还没有完全被关闭,或者未崩溃。

2、 xm mem-set <Domain> <Mem>

使用 Xen 创建了几个 Domain U 后,Domain 0 就会分配内存给 Domain U。但是当关闭 Domain U 后,内存没有被回收,这就造成了 xm list 中内存问题不等于实际内存量的情况。

clip_p_w_picpath024[1]

如上图所示,有1G内存的,但是目前总内存不到1G,Domain-0没有回收内存。

设置后很明显的对比情况:

clip_p_w_picpath026

关于linux VNC服务部署的说明

1、 安装VNC server (vnc-server 包)

2、 使用root用户登录

设置密码: [root@localhost ~]# vncpasswd root

编辑配置文件:[root@localhost ~]# vi /etc/sysconfig/vncservers

VNCSERVERS="2:root" #2说明启动时的端口为5902 root是表示用root用户

VNCSERVERARGS[2]="-geometry 800x600"

3、 VNC本身的界面不友好,使用gnome作为默认桌面

[root@localhost ~]# vi /root/.vnc/xstartup

clip_p_w_picpath028

最后启动VNC服务,[root@localhost ~]# service vncserver start客户端使用real VNC 连接。

clip_p_w_picpath030