(一) 升级整个系统后重启,然后加入 CentOS 官方 Xen 源(Xen4CentOS6)并安装 Xen 内核及相关工具。需要注意的是,采用 CentOS-6.5-x86_64-minimal.iso 最小化安装的系统没有包括 Perl,Xen 工具需要 Perl 的支持,所以需要安装 perl 先:
# 关闭selinux
# vi /etc/selinux/config  # 把其中的SELINUX=enforcing 改成 SELINUX=disabled
# yum update
# reboot

# 修改内核,支持半虚拟化
# yum install centos-release-xen
# yum update

# yum install perl
# yum install xen

(二) 安装完支持 Xen 的 Linux 内核后需要加新条目到 grub.conf,以便系统能默认启动带 Xen 的 Linux 内核(而不是常规 Linux 内核),这个操作可以通过 grub-bootxen.sh 自动完成,弄完后打开 grub.conf 文件再次确认一下:

# /usr/bin/grub-bootxen.sh

# vi /etc/grub.conf  (一般这里不用手动改了保持新增的启动项放在第一位就好了)
...
title CentOS (3.10.25-11.el6.centos.alt.x86_64)
        root (hd0,0)
        kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
        module /vmlinuz-3.10.25-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_node11-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_node11/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rd_LVM_LV=vg_node11/lv_root rhgb quiet
        module /initramfs-3.10.25-11.el6.centos.alt.x86_64.img
...
# reboot
重启系统后,默认应该进入 Xen 内核,可以通过 uname -r 和 xm info 确认是否安装成功:
[root@localhost ~]# service xend start
[root@localhost ~]# uname -r
3.10.68-11.el6.centos.alt.x86_64
[root@localhost ~]# xm info
WARNING: xend/xm is deprecated.
host                   : localhost.localdomain
release                : 3.10.68-11.el6.centos.alt.x86_64
version                : #1 SMP
。。。 略。。。
(三) 安装api管理工具
[root@localhost ~]# yum install virt-install virt-viewer

(四) 安装libvirt
[root@localhost ~]# yum install libvirt python-virtinst libvirt-daemon-xen

(五) 制作虚拟磁盘文件
[root@localhost ~]# dd if=/dev/zero of=/root/xen/vm_web1.img bs=1024K count=10000  # 虚拟的空间大小为10G

(六) 制作安装源--这里我自己制作了网络安装源
linux宿主机 ip为 192.168.1.11 子网掩码为 255.255.255.0
我的windows ip为 192.168.1.95 子网掩码为 255.255.255.0

1 在我的window上配置好apache环境,添加虚拟主机www.test.com作为网络安装源
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.www.test.com
    DocumentRoot "D:/lamp/apache/htdocs/test"
    ServerName www.test.com
    ServerAlias 192.168.1.95
    ErrorLog "logs/dummy-host2.www.test.com-error.log"
    CustomLog "logs/dummy-host2.www.test.com-access.log" common
    <Directory "D:/lamp/apache/htdocs/test">
      Options Indexes FollowSymLinks    # 这里一定虚拟机的展示目录列表项打开,要不然安装不成功
      AllowOverride All
      Order allow,deny
      Allow from all
    </Directory>
</VirtualHost>
2 修改linux的hosts文件
192.168.1.95 www.test.com

3 制作安装源
 3.1 从网上下载CentOS-6.5-x86_64-minimal.iso
 3.2 把一个格式化好的u盘插入到windows上,用UltraISO把CentOS-6.5-x86_64-minimal.iso文件刻录到u盘上
 3.3 把u盘上的文件复制到D:/lamp/apache/htdocs/test下,修改.treeinfo文件添加
 [p_w_picpaths-xen]
    kernel = p_w_picpaths/pxeboot/vmlinuz
    initrd = p_w_picpaths/pxeboot/initrd.img
(七) 安装第一台虚拟机
[root@localhost ~]# virt-install -n vm_web1 -r 1024 -f /root/xen/vm_web1.img -s 10 --nographics -p -l http://www.test.com/
参数讲解:
-n NAME
-r MEMORY
单位为:M
-u UUID
指定虚拟机的唯一通用标识符
(Universally Unique Identifier,UUID)。
省略这个参数时,virt-install 将会自动产生

--vcpus=VCPUS
 指定虚拟机的虚拟 CPU (Virtual CPU,VCPU) 数量
-f DISKFILE
指定虚拟磁盘的文件路径名称
-s DISKSIZE
用来指定虚拟磁盘的大小,这个参数需配合-f 使用。
DISKSIZE为虚拟磁盘的大小,单位是GB
 -m MAC
指定虚拟机的网络卡之硬件地址。
这个参数可以省略,省略时virt-install 将自动产生
-p 以半虚拟化的方式建立虚拟机
-l LOCATION 指定安装来源

安装过程中 填写ip地址时选择自动获取 (我填写与当前局域往同一网络的ip地址,安装不成功。应该是源访问不到。具体原因还不清楚)

安装完之后控制权是虚拟机。使用ctrl+]回到宿主机
 
(八) 查看已经安装的虚拟机
[root@localhost ~]# xm list
WARNING: xend/xm is deprecated.
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1023     2     r-----    242.5
vm_web1                                      4  1024     1     -b----     28.0