Xen虚拟化基础篇第1/2页

论坛 期权论坛     
niminba   2021-5-23 05:17   0   0
<p><strong>一.xen的简介</strong></p>
<p>Xen是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达128个有完全功能的操作系统。<br>
在旧(无虚拟硬件)的处理器上执行Xen,操作系统必须进行显式地修改(“移植”)以在Xen上运行(但是提供对用户应用的兼容性)。这使得Xen无需特殊硬件支持,就能达到高性能的虚拟化。</p>
<p>Xen的架构如图:</p>
<p><img alt="wKioL1TV102icw_lAAGPxwUhIsA783.jpg" src="https://beijingoptbbs.oss-cn-hangzhou.aliyuncs.com/jb/2426819-bb57ccff541a1b315c154aa5c96b1ecf.jpg" title="36.jpg"></p>
<p><strong>Xen虚拟机的组成:</strong></p>
<p><strong>Xen Hypervisor:</strong><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 虚拟化技术通过在现有平台(机器)上添加一层薄的虚拟机监控程序(Virtual Machine Monitor,简称 VMM)软件而实现对系统的虚拟化,如虚拟处理器,虚拟内存管理器(MMU)和虚拟 I/O 系统等。虚拟机监控程序又被称之为监管程序(Hypervisor)。<br>
<strong>Domain(Dom0,DomU):</strong><br>
特权虚拟机:Dom0;特权域<br>
为Xen提供控制工具的;直接驱动IO硬件设备;</p>
<p>与DomU交互;</p>
<p>Linux-2.6.37内核开始直接运行在Dom0上;<br>
其他普通虚拟机:DomU;非特权域<br>
Linux-2.6.24+内核开始支持</p>
<p><strong>Xen的虚拟化实现方式:</strong></p>
<p><strong>Type-I型</strong>:二级虚拟化技术;直接在硬件上安装hypervisor,直接接管硬件资源,运行在其上的系统都是虚拟机;<br>
管理方面给彻底;必须让hypervisor驱动硬件,<br>
出现的问题是必须开发驱动程序?<br>
解决方案:Xen只是驱动CPU和内存,不驱动IO设备<br>
当系统启动时,硬件设备加载后加载hypervisor,hypervisor拥有访问硬件权限,hypervisor加载完成后启动一个虚拟机,虚拟机有自己的内核和用户空间,这个虚拟机是 特权虚拟机,为底层hypervisor提供管理程序,能功能是为hypervisor提供IO设备硬件驱动 程序的;<br>
我们新建的虚拟机调用IO设备硬件时,是通过特权虚拟机驱动程序连接硬件实现;</p>
<p>更加详细的说明请参考博文:<a href="http://www.uml.org.cn/embeded/201303201.asp">http://www.uml.org.cn/embeded/201303201.asp</a></p>
<p><strong>xen虚拟化实现在CentOS 6.6上安装所需要的条件:</strong></p>
<p>1).需要在物理机上安装CentOS 6.6操作系统<br>
2).安装Xen软件包<br>
3).安装3.7.10的内核,可以使Xen运行在Dom0上<br>
4).配置好grub,然后启动Xen<br>
5).在用户空间上安装虚拟机Guest OS即可;</p>
<p>注意:最新版本的xen在CentOS 6.6平台上是只有DomU可以使用,Dom0是不能通过CentOS 6.6的原有内核实现,我这里是安装的xen-4.2.5版本的xen,还有将内核版本更新到了3.7.10;<br>
<strong>简单介绍一些XEN和KVM:&nbsp; </strong></p>
<p>Xen:CentOS4-CentOS5是支持的;后续就是xen了,但是在内核版本Linux 2.6.37将xen收录进内核,CentOS7收录进内核;可以实现内核直接运行在Dom0上;<br>
KVM:2006才出现;CentOS5.8开始支持;但是不稳定,红帽的收购造成了KVM的发展; <br>
CentOS6.6的内核为2.6.32,不直接支持内核运行Xen的Dom0特权域;</p>
<p>可以支持直接运行在DomU<br>
&nbsp;&nbsp;&nbsp; 红帽为了支持KVM这个亲儿子的发展,将xen给赶出家门了。 -_-!<br>
&nbsp;&nbsp;&nbsp; 后来意识到XEN的使用率还是很高,所以又在后来收录进内核。</p>
<p><strong>二.xen的安装及Dom0的配置</strong></p>
<p>1.配置xen的yum源</p>
<div class="blockcode">
<pre class="brush:bash;">
# vim /etc/yum.repos.d/xen4.repo
[xen4]
name=Xen4 For CentOS6
baseurl=ftp://172.16.0.1/pub/Sources/6.x86_64/xen4centos/x86_64/
gpgcheck=0
进行清理yum缓存操作
# yum clean all</pre>
</div>
<p>2.安装xen-4.2.5版本的软件,更新内核版本到3.7.10</p>
<div class="blockcode">
<pre class="brush:bash;">
# yum install -y xen-4.2.5 xen-libs-4.2.5 xen-runtime-4.2.5 kernel-xen</pre>
</div>
<p>3.配置grub.conf配置文件<br>
将xen设置为内核启动,而将CentOS的内核设置为Xen虚拟化平台的一个模块;</p>
<div class="blockcode">
<pre class="brush:plain;">
# vim /etc/grub.conf
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.7.10-1.el6xen.x86_64)
  root (hd0,0)
  kernel /xen.gz dom0_mem=1024M,max:1024M dom0_max_vcpus=1 dom0_vcpus_pin
cpufreq=xen
  module /vmlinuz-3.7.10-1.el6xen.x86_64 ro root=/dev/mapper/vg0-root rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/root KEYBOARDTYPE=pc KEYTABLE=us rhgb crashkernel=auto quiet rhgb quiet
  module /initramfs-3.7.10-1.el6xen.x86_64.img
title CentOS 6 (2.6.32-504.el6.x86_64)
  root (hd0,0)
  kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/vg0-root rd_NO_LUKS rd_NO_DM LANG=en_US.UTF-8 rd_LVM_LV=vg0/swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg0/root KEYBOARDTYPE=pc KEYTABLE=us rhgb crashkernel=auto quiet rhgb quiet
  initrd /initramfs-2.6.32-504.el6.
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP