本人初次接触安装xen,安装xen的实验过程中遇到了很多问题,根据网上资料,刚开始是用vmwareredhat利用源码安装xen,需要安装各种rpm包,如as86ld86bcc等,而且本地yum源还没有该rpm包,官网源需要注册等,所以过程比较繁琐,后来又在rpm网站http://rpm.pbone.net/下载xen rpm包,根据各种提示将依赖包一一下载安装,真是各种虐心,最后根据xen官网安装文档安装,安装完成后却不能正常启动,进入黑屏。然后将redhat换为centos,结果还是一样,后来听从网友建议该用virtualbox试试,终于OK了。

centos 6.5  64位操作系统安装xen

官网文档:http://wiki.xenproject.org/wiki/Xen4CentOS

 

注意:virtualbox下安装centos时注意磁盘空间,要不然会提示磁盘空间不足

WARNING  The filesystem will not have enough freespace to fully allocate the sparse
 file when the guest is running. 3072 Mrequested > 310 M available
 ERROR    The filesystem will not have enough freespace to fully allocate the sparse
 file when the guest is running. 3072 Mrequested > 310 M available (Use --prompt or
 --force to override)

 

如果看到输出中有pae,那么cpu就支持半虚拟化,如果输出中同时有paevmx/svm(:vmxintel,svmamd),那么cpu支持全虚拟化

 

第一:

Xen4CentOS资料库连接到你的机器,以便安装可以轻松完成。要做到这一点,请输入:

yum install centos-release-xen

第二:现在已经将Xen4CentOS资料库添加到yum系统,接下来安装xen

yum install xen

第三:加载了虚拟机管理程序软件。现在,我们需要新的内核添加到GRUB菜单。要做到这一点,执行脚本:

 

/usr/bin/grub-bootxen.sh

查看/boot/grub/grub.conf应该会有这样的条目

title CentOS (3.10.43-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.43-11.el6.centos.alt.x86_64 roroot=/dev/mapper/vg00-lvroot rd_NO_LUKS.UTF-8 rd_LVM_LV=vg00/lvrootrd_NO_MD SYSFONT=latarcyrheb-sun16 rd_LVM_LV=vg00/lvswap crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgbquiet
        module/initramfs-3.10.43-11.el6.centos.alt.x86_64.img

 

 

第四:如果查看/boot/grub/grub.conf,default=1,则将default=0默认支持xen的内核启动

 


 

第五:重启系统,重启完成后,查看当前内核

 

uname -r


 

第六:xen安装完成,执行xm info 查看相关信息。


xm info



 

第七:安装libvirt 和virt-manager:

[root@localhost ~]#yum install libvirtvirt-manager
启动libvirt
[root@localhost ~]# libvirtd –d

 

第八:开始安装xen虚拟主机准备工作(利用命令行安装xen虚拟机)

1、安装apache,在apache根目录下创建tree目录,并创建/data

[root@localhost xen]# yum install httpd
 [root@localhost ~]# service httpd start
 [root@localhost xen]# cd /var/www/html/
 [root@localhost html]# mkdir tree

[root@localhost ~]# mkdir /data

2、将centos的镜像文件ftp上传到/data目录下


3、将centos镜像文件挂载到/var/www/html/tree/下

[root@localhost ~]# mount -o loop/data/CentOS-6.5-x86_64-bin-DVD1.iso /var/www/html/tree/
在浏览器下查看,这样表示成功挂载:
 
第九:开始用命令行创建虚拟机
[root@localhost ~]# virt-install -nxentest -f /data/xentest.img -s 3 -r 782 --nographics -l http://192.168.1.147/tree/
-n  指定创建虚拟机的名称

-f   作为磁盘映像使用的文件

-s   磁盘映像的大小,单位为G

-r   指定内存的大小,单位为M

--nographics   表示不安装图形控制台

-l   安装的源


 

然后根据系统提示安装系统,使用文本模式安装,安装过程跟真实机一样,虚拟机的配置文件存放在

/etc/xen下面

 

 

提示:当我指定内存-r 384时

 

安装过程中提示内存不足:You do nothave enough RAM to install ││ CentOS on this machine.

 

 

 

第十:安装完成后,查看真实机上的虚拟机列表

 

 

 

第十一:连接到安装好的xentest虚拟控制台,并输入用户名和密码

[root@localhost ~]# xm console xentest
附相关操作命令:
ls /etc/xen           #xen配置文件目录
  
xm list               #查看各个域状态
xm shutdown xentest   #关闭xentest这个虚拟机
  
xm start xentest    #启动xentest这个虚拟机
xm console xentest    连接xentest控制台,连接到虚拟机上面可以用组合键  ctrl + ] 键切换到物理机
  
真实机开机如何自动启动虚拟机
 ln -s /etc/xen/ xentest /etc/xen/auto/ xentest 
 #也可以直接把配置文件拷贝到/etc/xen/auto/
 cp -r /etc/xen/ xentest /etc/xen/auto/