Xencentos5.xcentos6.x下安装方法

 

   主流虚拟化技术,我想可以分为vmware,xen,kvm以及微软hyperv,这其中大多是全虚拟化的。而xen即可以是全虚拟化,也可以工作在半虚拟化,有也些也叫准虚拟化。本文主要以centos5.8centos6.6来安装xen

  • 全虚拟化和半虚拟化(准虚拟化)

  • Xen在不同内核版本安装

  • 常见错误

 

全虚拟化和半虚拟化(准虚拟化):

xen即可以是全虚拟化(full virtualization),也可以工作在半虚拟化(para virtualized),有也些也叫准虚拟化。

全虚拟化或硬件辅助virtualizion是指使用从主机CPU虚拟化(需要Intel VTAMD-V硬件支持),到包括BIOSIDE磁盘控制器,VGA图形适配器,USB控制器,网卡等硬件虚拟化扩展,提高仿真性能。全虚拟化不需要任何内核支持(换句话说不需要修改宿主机系统内核)。这意味着,Windows操作系统,也可以在xen下安装。

半虚拟化、准虚拟化PV)是轻量级的虚拟化技术虚拟化解决方案,并不需要从主机CPU虚拟化扩展,通过修改宿主内核,而使虚拟化可以运行在不支持全虚拟化或硬件辅助虚拟化的硬件架构。(只有unix-like系列支持修改内核,windows系统可能将来…..)。

wKioL1TDQuazGwVRAAIKhMttObI933.jpg 

两种方式各有自己的好处,全虚拟化安装相对简单,由于防真硬件,所以在性能上可能有所下降。

    半虚拟直接修改内核,安装相对有点复杂,性能上可能会快点。

 

Xen在不同内核版本安装:

   centos5.XRedhat5.X中系统内核都为2.6.18.XX,内核本来就有集成xen,安装方法简单,如下:

[root@test03 ~]# yum -y install kernel-xen  xen  python-virtinst  virt-manager     

 #virt-manager 为图形管理工具,一般一用装,除非你装了linux图形界面

Python-virtinst 为命令行下工具,像virt-install  virt-clone

安装完成后,在/etc/grub.conf 中会多出一个新的含有xen 内核的 title.

如下图:wKioL1TDQx-DcTYHAAQA0ycstr8309.jpg

   请注上图中的default=1一定要改为default=0,其实这也是检查xen有没有安装成功的方法

也可以在修改完/etc/grub.conf ,重新启动主机后使用下面命令检查成功与否,当看到有domain0时表示安半成功。

[root@test03 ~]# xm list                                   #xm 管理xen虚拟机的接口

Name              ID Mem(MiB) VCPUs State   Time(s)

Domain-0             0     1436     2 r-----    103.8

xendomain0是其它虚拟机管理接口,实体机就是domain-0,再安装其它虚拟机会在domain-0下面。在xen看来其它每个虚拟机也是一个domain只是名字我们安装时会改成自己好记的名字

    我再用xm info 来查看下宿主机信息(就是domain-0)。wKiom1TDQn2i0WJfAALJg-0ARPI023.jpg

 

   在64 centos6.X64Redhat6.X(因为在centos6.xRedhat6.x32位系统中没有yum源只能用源码安装)中系统内核都为2.6.32.X,要先安装设置yum源,方法如下:

 

[root@test02 ~]# yum search xen

Loaded plugins: fastestmirror

Loadinbase                       | 3.7 kB     00:00    

extras                            |3.4 kB     00:00    

updates                           | 3.4 kB     00:00    

updates/primary_db                 |1.5 MB     00:12    

======================== N/S Matched: xen =============================

xenserverjava.noarch : Java SDK for XenServer

centos-release-xen.x86_64 : CentOS6 Xen Support repo configs             #这个就是我们要的

xenserverjava-javadoc.noarch : Javadoc for xenserverjava

libstoragemgmt-nstor-plugin.noarch : Files for NexentaStor array support for libstoragemgmt

libvirt.x86_64 : Library providing a simple virtualization APIg mirror speeds from cached hostfile

[root@test02~]# yum -y install centos-release-xen wKioL1TDRGrwEH0IAAG9hkrJl9I312.jpg

接下来的安装就和centos5.x安装方法一样了,yum –y kernel-xen  python-virtinst xen  virt-manager即可。

同样使用xm list 查看下domain-0信息,你发现 xen4.X以上版本了。

 

常见错误

安装完成后可能会出内存不够的情况,明明有几G

wKioL1TDRIqjKesLAACCtnsvEIE058.jpg

解决方法

wKiom1TDQ9Dxt3jEAAO0gH95Xmo093.jpg

注意/etc/grub.conf修改好后,还要修改/etc/xen/xend-config.sxp配置文件中的 dom0-min-men ,修改为512M和grub.conf中一样大小。

 

 

本文是巧妙绝情一个字一个图打出来,参考了好多资料,感谢他们的分享,基于open source分享精神,转载请注明出出。

 

参考资料:

RHEL6 Xen4 Tutorialhttp://wiki.xenproject.org/wiki/RHEL6_Xen4_Tutorial#Links_for_more_information

Xen Project Software Overviewhttp://wiki.xenproject.org/wiki/Xen_Overview#Host_and_Guest_Instal

限制 Xen Dom0 的内存
http://www.vpsee.com/2010/01/limit-xen-dom0-memory