码迷,mamicode.com
首页 > 其他好文 > 详细

虚拟化二、Xen虚拟化技术

时间:2016-07-14 19:33:38      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:xen

一、Xen简介

1、Xen简介

  Xen 英国剑桥大学研发,开源的VMM,是一种类型 1 虚拟机管理程序,它创建系统资源的逻辑池,使许多虚拟机可共享相同的物理资源。

      Xen 是一个直接在系统硬件上运行的虚拟机管理程序。Xen 在系统硬件与虚拟机之间插入一个虚拟化层,将系统硬件转换为一个逻辑计算资源池,Xen 可将其中的资源动态地分配给任何操作系统或应用程序。在虚拟机中运行的操作系统能够与虚拟资源交互,就好象它们是物理资源一样。

技术分享 

        Xen 架构

     Xen 运行 3 个虚拟机。每个虚拟机与其他虚拟机都独自运行一个来宾操作系统和应用程序,同时共享相同的物理资源。


2、Xen的组件

 1)Xen Hypervisor

         分配cpu、内存、interrupt(中断)

 2)Dom0

          特权域,I/O分配:

                             网络设备:net-front(guestOS),net-backend

                             块设备:block-front(guestOS),block-backend

          linux kernel:2.6.37支持Dom0 原始支持

                                3.0对关键特性进行了优化

           提供管理DomU工具栈,用于实现对虚拟机进行添加,启动,快照,停止,删除等操作

 3)Domu

          非特权域,无权直接访问硬件资源

           根据其虚拟化方式实现的方式,有多种类型

                 PV:半虚拟化

             HVM:完全虚拟化

   PV on HVM:I/O半虚拟化但cpu完全虚拟化

Xen的PV技术:不依赖于CPU的HVM特性,但要求GuestOS的内核作出修改以知晓自己运行于PV环境,

                         运行于DomU中的OS:linux(2.6.24+),NetBSD,FreeBSD,OpenSolaris

Xen的HVM技术:依赖于Intel VT或AMD AMD-V,还要依赖于Qemu来模拟IO设备

                            运行于DomU中的OS:几乎所有支持此X86平台的OS

PV on HVM:CPU为HVM模式运行,IO设备为PV模式运行

                    运行于DomU中的OS:只要OS能驱动PV接口类型的IO设备:net-front,block-front

技术分享


技术分享


3、CentOS对Xen的支持

RHEL 5.7-:默认的虚拟化技术为xen

        kernel version:2.6.18   不能运行在Dom0上,要运行Dom0上需要安装补丁,RHEL提供了安装补丁后的内核 kernel-xen:

       5.8:同时支持Xen和kvm

       6+:仅支持kvm

               Dom0:不支持

               DomU:支持

那如何在CentOS6上使用Xen?

1)编译3.0以上版本的内核,启动对Dom0的支持

2)编译Xen程序

制作好相关程序包的项目:

xen made easy

xen4centos:xen官方提供,每个centos镜像站中已经提供了,

技术分享

我们可以自定义一个yum源

[root@BAIYU_175 ~]# cd /etc/yum.repos.d/
[root@BAIYU_175 yum.repos.d]# ls
bak  Centos-6.repo  epel-6.repo  Xen-6.repo  Xen-6.repo.orig
[root@BAIYU_175 yum.repos.d]# vi Xen-6.repo
[root@BAIYU_175 yum.repos.d]# cat Xen-6.repo
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[Xenbase]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/6/virt/x86_64/xen-46
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#gpgcheck=1
#gpgkey=
依赖关系解决

================================================================================================================
 软件包                              架构              版本                            仓库                大小
================================================================================================================
正在安装:
 xen                                 x86_64            4.6.1-11.el6                    Xenbase            111 k
为依赖而安装:
 SDL                                 x86_64            1.2.14-7.el6_7.1                base               193 k
 glusterfs                           x86_64            3.7.5-19.el6                    base               392 k
 glusterfs-api                       x86_64            3.7.5-19.el6                    base                56 k
 glusterfs-client-xlators            x86_64            3.7.5-19.el6                    base               942 k
 glusterfs-libs                      x86_64            3.7.5-19.el6                    base               303 k
 kernel                              x86_64            3.18.34-20.el6                  Xenbase             37 M
 libxslt                             x86_64            1.1.26-2.el6_3.1                base               452 k
 mesa-dri-drivers                    x86_64            11.0.7-4.el6                    base               4.1 M
 mesa-dri-filesystem                 x86_64            11.0.7-4.el6                    base                17 k
 mesa-dri1-drivers                   x86_64            7.11-8.el6                      base               3.8 M
 mesa-libGL                          x86_64            11.0.7-4.el6                    base               142 k
 mesa-private-llvm                   x86_64            3.6.2-1.el6                     base               6.5 M
 python-lxml                         x86_64            2.2.3-1.1.el6                   base               2.0 M
 qemu-img                            x86_64            2:0.12.1.2-2.491.el6            base               836 k
 usbredir                            x86_64            0.5.1-3.el6                     base                41 k
 xen-hypervisor                      x86_64            4.6.1-11.el6                    Xenbase            927 k
 xen-libs                            x86_64            4.6.1-11.el6                    Xenbase            532 k
 xen-licenses                        x86_64            4.6.1-11.el6                    Xenbase             85 k
 xen-runtime                         x86_64            4.6.1-11.el6                    Xenbase             16 M
 yajl                                x86_64            1.0.7-3.el6                     base                27 k
为依赖而更新:
 kernel-firmware                     noarch            3.18.34-20.el6                  Xenbase            6.4 M
 libdrm                              x86_64            2.4.65-2.el6                    base               136 k

事务概要
================================================================================================================
Install      21 Package(s)
Upgrade       2 Package(s)


4、Xen的管理工具栈

xm/xend:在Xen Hypervisor的Dom0中要启动xend服务,重量级

                  xm:命令行管理工具,有诸多子命令:

                           create,destroy,stop,pause...

xl:libxenlight提供的Xen的轻量化工具,Xen 4.2 xm和xl同时提供,4.3 xm提示被废弃,

xe/xapi:提供了对Xen管理的api,因此多用于cloud环境: Xen Server, XCP

virsh/libvrit: python语言研发   

                   在每一个hyper上安装libvrit库,并启动libvritd服务,就可以用virsh管理它们


5、XenSrore

      为各Domain提供的共享信息存储空间:有着层级结构的名称空间:位于Dom0


二、在虚拟机上安装Xen

注意:在虚拟机上安装Xen一定要先打开虚拟机cpu输出虚拟化技术

         VMware workstation中:设置-->处理器-->虚拟化引擎-->虚拟化Intel VT-x 或AMD-V/RVI(V)

虚拟化二、Xen虚拟化技术

标签:xen

原文地址:http://xiexiaojun.blog.51cto.com/2305291/1826473

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!