一、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源
[[email protected]_175 ~]# cd /etc/yum.repos.d/ [[email protected]_175 yum.repos.d]# ls bak Centos-6.repo epel-6.repo Xen-6.repo Xen-6.repo.orig [[email protected]_175 yum.repos.d]# vi Xen-6.repo [[email protected]_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)