`
vq701vq
  • 浏览: 14404 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

基于Xen虚拟机的设计与实验

 
阅读更多

基于Xen虚拟机的设计与实验
2011年05月03日
  【天水浪客注:忙里偷闲,将以前的大作业要求贴上来,当作纪念。计算机系统结构的老师,留这个作业的本意还是好的,但是对于所有人来讲,这种要求过高。而且一个最主要的问题在于,多数人忙于其他事,以至于忘了还有这样一个作业,后来不得不匆忙照抄示例文档。
  此作业要求还算详细,充分展现了研究生的调研能力 -- 给出的参考资料非常重要。
  以后有时间的时候在下会将自己的报告也整理出来 ... 网络上相关的资料还不多,算是为后人尽一份力。】
  计算机系统结构大作业
  基于Xen虚拟机的设计与实验
  1.虚拟机简介
  目前,虚拟机技术已经成为计算机领域中一种十分流行和蓬勃发展的技术,使用虚拟技术,可以提高 IT 效率和可靠性,并且随着它的不断改进,这种已经被广泛接受的平衡基础资源的方法将变得更加重要。众多咨询公司以及专家学者都认为,虚拟机技术无论在存储器还是服务器中,都将被广泛采用。 
  通俗一些来讲,虚拟机就是虚拟出来的计算机,用户在一台计算机上将硬盘和内存的一部分拿出来虚拟出若干台机器,每台机器可以运行单独的操作系统而互不干扰,这些"新"机器各自拥有自己独立的CMOS、硬盘和操作系统,用户可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。
  这个虚拟的"计算机"和真实的计算机几乎完全一样,所不同的是它的硬盘是在一个文件中虚拟出来的,所以用户可以随意修改虚拟机的设置或进行各种应用和开发,而不用担心对实际的计算机造成损失。虚拟系统崩溃之后可直接删除不影响本机系统,同样本机系统崩溃后也不影响虚拟系统,可以下次重装后再加入以前做的虚拟系统。使用虚拟机对开发人员来说,不但方便,而且安全。虚拟机(virtual machine)的专业定义为:虚拟机(VM)是支持多操作系统并行运行在单个物理服务器上的一种系统,能够提供更加有效的底层硬件使用。在虚拟机中,中央处理器芯片从系统其它部分划分出一段存储区域,操作系统和应用程序运行在"保护模式"环境下。如果在某虚拟机中出现程序冻结现象,这并不会影响运行在虚拟机外的程序操作和操作系统的正常工作。
  Xen VMM(virtual machine monitor)是由剑桥大学计算机实验室开发的一个开源项目,它能够让我们创建更多的虚拟机,每一个虚拟机都是运行在同一个操作系统上的实例。
  (关于Xen请参见附件1(Xen虚拟机简介.doc)及http://www.xensource.com http://www.cl.cam.ac.uk/research/srg/netos/xen/)
  2.设计与实验题目 (任选其中任何一道)
  (1)对Minix3系统进行修改,将之移植到Xen虚拟机平台上。
  对原操作系统进行修改是Xen实现高效执行的有效方法之一。Minix3是一款灵活开源的操作系统,对其进行修改移植到Xen虚拟机上运行是一件非常有意思的事情,爱尔兰的一名学生在其本科毕业设计中已经实现了这项工作,但是在短时间内参考其工作进行自己的工作依然是一件有趣并极富挑战的事情。
  注:提交的实验报告中须提交对Minix系统的主要更改方案,并附带Minix在Xen虚拟机上运行的截图。
  参考资料:
  http://www.minix3.org
  http://www.minix3.org/doc
  http://minixonxen.skynet.ie/cgi-bin/trac.cgi/wiki/ Report
  (2)利用Xen提供的API实现Xen虚拟机的管理程序
  通过自己使用Xen的API(或封装了其API的函数库,如libvirt)进行编程,不仅可以更为清晰地理解虚拟机的机制,而且会对计算机体系结构更深刻的认识。
  该程序只需实现以下功能:
  1. 以命令行形式显示宿主机(Host OS)上正在运行的客户机(Guest OS)名称;
  2. 通过命令行形式显示指定客户机(Guest OS)的工作状态(显示其CPU利用率,和内存使用情况即可);
  注:该程序根据同学们的喜好可使用任何一种可在Linux下编译/解释运行的语言,如C,C++,Java,Python等。程序运行时不需要GUI界面,使用命令行操作即可。可参照Fedora等Linux系统中内置的xm管理程序,xm程序位于/usr/sbin/xm,其源代码位于/usr/share/man/man1/xm.1.gz。可参考其实现,但不可照抄源码。
  参考资料:
  ⑴ Xen为开发者提供了一套接口(见附件2,Developer Manual (Xen interfaces).pdf),通过调用Xen API可以实现对Xen的管理。(难度较大,但灵活性较高)
  ⑵ libvirt是一套免费、开源的支持Linux下主流虚拟化工具的C函数库,其旨在为包括Xen在内的各种虚拟化工具提供一套方便、可靠的编程接口,支持与C,C++,Ruby,Python等多种主流开发语言的绑定。当前主流Linux平台上默认的虚拟化管理工具virt-manager(图形化),virt-install(命令行模式)等均基于libvirt开发而成。(推荐使用)详细内容请参见其开发主页:http://libvirt.org/
  提交内容:①编写好的可运行的管理程序(包括源码);②该程序运行时的截图
  参考程序:
  以下是一些第三方实现的Xen管理及操作程序与库:
  Virt-manager(主流Linux平台上默认采用的虚拟化管理工具)
  http://virt-manager.et.redhat.com/
  Enomalism Virtualized Management Console for Xen (LGPL)
  http://wiki.xensource.com/xenwiki/Enomalism
  XenMan
  http://en.wikipedia.org/wiki/Xenman
  DTC-xen
  http://www.gplhost.com/software-dtc-xen.html
  XenAccess
  http://xenaccess.sourceforge.net/
  (3)利用虚拟机建立虚拟集群
  集群是一种具有高可扩展性、高可用性、高性能、高性价比的体系结构,构造一个集群对硬件资源的需求较高。有了虚拟机技术,我们可以轻松的在同一个物理平台上虚拟出多个逻辑系统,在这个平台上,我们可以构建自己的集群。
  要求:
  1. 参照"Xen虚拟机上Guest OS的安装说明"在宿主机(Host OS)上创建4-6个Guest OS,以此来建立一个小的虚拟集群。
  2. 在该虚拟集群上安装PVM软件包。
  3. 根据PVM的编程规范编写一个矩阵(4×4即可)相乘的C程序,通过已部署的PVM软件在虚拟集群上进行并行计算。
  提交内容:①依据PVM开发规范编写的矩阵相乘的C程序;②程序在虚拟集群上运行的截图。
  注:为了节约系统资源,在部署虚拟集群时,每个客户机系统(Guest OS)不要安装图形界面;在安装过程中的软件定制环节,尽可能的去掉不必要的软件包(如各种服务器工具,游戏,办公软件等),只留下基本软件包以保证程序运行即可。
  参考资料:
  http://www.clustermonkey.net//content/view/139/33/
  http://www.csm.ornl.gov/pvm/
  http://www.longen.org/L-R/detaill-r/PVMProgamming. html
分享到:
评论

相关推荐

    基于Xen虚拟机实现Apache tomcat 集群搭建

    本文是自己所学课程做的一个实验,基于Xen实现Apache及tomcat集群,并进行session测试。首先你要自己已经安装好Xen及虚拟机。

    基于主元分析法的虚拟机异常监控研究 (2012年)

    以现有的IaaS开源云平台Eucalyptus和基于Linux内核的Xen虚拟机为基础,研究基于主元分析法(primary component analysis,PCA)的虚拟机异常监控方法,并在此基础上设计在云环境中基于Xen虚拟机异常使用的监控系统。...

    xen虚拟化及工作原理.docx

    Xen可以在一套物理硬件上安全的执行多个虚拟机,与 Linux 是一个完美的开源组合,Novell SUSE Linux Enterprise Server 最先采用了XEN虚拟技术。它特别适用于服务器应用整合,可有效节省运营成本,提高设备利用率,...

    论文研究-基于Xen虚拟化的隐藏进程检测方法.pdf

    该系统部署在被监控虚拟机外部,自调整检测频率扫描计算机内存来获取进程相关信息,并通过与预先构建好的特征模板进行相似度匹配,达到检测隐藏进程的目的。实验结果表明,该检测系统可以有效地检测出典型的...

    VM 聚合环境下CFQ调度时间公平性的改进(主要侧重实验环境的搭建和调度性能的测试)

    基于Xen技术的半虚拟化系统;CFQ调度 实验概述: 由于虚拟机之间I/O特征的差异(主要是请求大小和间隔),目前默认的磁盘调度CFQ在调度的过程中对各虚拟机服务会存在磁头时间分配的差异,如果不加以控制就会影响磁盘...

    详解kvm部署三个虚拟机实现 WordPress 实验

    而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己到进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMwar

    云计算环境中在线迁移技术研究

    本文在研究云计算及在线迁移技术的基础上,分析了云计算环境中在线迁移技术的原理与局限性,提出了基于Xen虚拟机的全系统在线增量迁移的设计与实现方法,并通过实验进行了性能分析,总结了优化迁移性能的一些方法。...

    virtualxenmirage:用于 Xen 和 Mirage 实验的基于 Vagrant 的 Virtual box 配置

    提供一台 Vagrant 机器来运行 Xen 和 Mirage 这一切都基于 Magnus Skjegstad 的。先决条件Vagrant Reload plugin - 通过vagrant plugin install vagrant-reload安装假设您已经安装了所有先决条件,您应该能够简单地...

    VirtinSpector:基于UEFI的虚拟机动态安全测量框架

    通过可信硬件能够弥补单纯软件安全的不足,从整体上提高云系统的安全性。但是,面对云环境运行时...实验与分析表明,该框架能够有效检测针对虚拟域,管理域和虚拟化软件的攻击,为云系统提供来自基础设施层的安全支撑。

    37篇经过消化云计算论文打包下载

    这种抽象与设计不但执行全局的限制,同时他确保传输层的响应拥塞流表现得像被单一共享的限制器所控制。这种设计能允许服务的执行者明确的在通信代价和系统效率可靠性之间做出权衡。同时他们证明他们基于中心TCP的...

    37篇经过消化的云计算论文

    这种抽象与设计不但执行全局的限制,同时他确保传输层的响应拥塞流表现得像被单一共享的限制器所控制。这种设计能允许服务的执行者明确的在通信代价和系统效率可靠性之间做出权衡。同时他们证明他们基于中心TCP的...

    osf-openstack-training-master.zip

    虚拟化技术KVM,VMWARE,XEN介绍 Nova介绍及框架 Nova运行流程 Nova部署模式 虚拟机监控 Live migrate Backup ###OpenStack HA方案的选择及日志 各组件HA方案 日志分析与排除 ###性能瓶颈 OpenStack平台性能瓶颈 ...

    黑客反汇编揭秘(第二版).part2.rar

    所属分类: 计算机 > 软件与程序设计 > 汇编语言/编译原理 > 汇编语言程序设计 编辑推荐 俄罗斯著名的安全技术专家Kris Kaspersky力作 横跨Windows和UNIX两大主流操作系统 全面介绍多种调试工具和方法 目录回到...

    黑客反汇编揭秘(第二版).part1.rar

    所属分类: 计算机 > 软件与程序设计 > 汇编语言/编译原理 > 汇编语言程序设计 编辑推荐 俄罗斯著名的安全技术专家Kris Kaspersky力作 横跨Windows和UNIX两大主流操作系统 全面介绍多种调试工具和方法 目录回到...

Global site tag (gtag.js) - Google Analytics