热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Xen虚拟技术介绍

Xen(发音为Zen)是由XenSource所管理的一个开源GPL项目。Xen是openSuse和Novell主要支持的虚拟化技术。点击这里可获取它的更多信息,点击这里获取详细技术信息。Xen虚拟机模式虚拟机服务器上的虚拟机操作系统以两种模式运行:全虚拟化或半虚拟化。全虚拟化


Xen(发音为Zen)是由XenSource所管理的一个开源GPL项目。Xen是openSuse和Novell主要支持的虚拟化技术。点击这里可获取它的更多信息,点击这里获取详细技术信息。


Xen虚拟机模式

虚拟机服务器上的虚拟机操作系统以两种模式运行:全虚拟化或半虚拟化。

全虚拟化:是一种完全模拟所有硬件设备的虚拟化模式。由于VMM(虚拟机监控系统)模拟了所有的计算机设备使得操作系统好像独自占用了所有计算机的资源,所以尽管需要特定的计算机硬件,大多数操作系统都可以以全虚拟化模式运行。完全模拟计算机硬件需要消耗虚拟机服务器更多地CPU资源。所以全虚拟化模式操作系统运行速度会比较慢。

半虚拟化:是一种选择性的模拟硬件设备的虚拟化模式。以半虚拟化模式运行的半虚拟化操作系统并不需要完全模拟硬件,因此只需付出更少的管理代价。例如,VM-aware系统运行时不需要模拟显卡,因此虚拟机服务器就不用模拟视频数据了。所以,以半虚拟化模式运行的操作系统消耗更少的CPU资源并且执行地更好。它也并不需要特定的计算机硬件。

虚拟机监控系统

虚拟机监控系统(VMM)在服务器硬件和SUSE Linux系统内核之间运行。计算机启动时会首先加载VMM,然后以特权模式启动虚拟机服务器。特权模式指的是虚拟机服务器可以创建并控制虚拟机,而且还可对计算机硬件进行直接存取。 你需要设置虚拟机服务器与本地设备驱动程序来匹配实际的计算机设备。例如,如果计算机有一个物理网卡e1000,就要设置虚拟机服务器去加载运行e1000的SUSE Linux驱动程序。

Xen开源社区开发和维护着涉及软件层的虚拟机监控程序(VMM)hypervisor,同时它也提供功能性的虚拟机服务器。

Xen arch 10 a.png

定义一个虚拟机服务器(Defining a VM)

你可以在存放虚拟机镜像的虚拟机服务器上定义一个虚拟机,在配置文件/etc/xen/vm/vm_name里面去定义。配置文件里面定义了虚拟资源,比如在虚拟机上安装和启动操作系统时你所看到的CPU、内存、网卡及块设备。

Xen arch 04 a.png

虚拟机设备驱动

在全虚拟化和半虚拟化两种模式下,虚拟机操作系统都是通过设备驱动与VMM相结合。在全虚拟化模式下,操作系统通过本地标准模拟设备的设备驱动来实现,例如AMD PCNet或者NE2000网卡,IDE磁盘驱动器和VGA显卡。在半虚拟化模式下,含有专有设备驱动(叫Xen驱动)的VM-aware操作系统通过VMM和VM服务器与计算机的物理设备通信。

Xen arch 03 a.png

比如说,如果一个以全虚拟化模式运行的虚拟机操作系统想要保存一个文件到它的20G虚拟磁盘上,操作系统就要通过设备驱动给VMM传送请求。VMM知道了它的500G物理磁盘的哪部分可以给虚拟机进行存取以后,它就会给虚拟机服务器下达指令。虚拟机服务器回去访问磁盘启动器并把文件写入预先确定好的磁盘区域里。 只要有足够的计算能力和可用的计算机资源,你可以再一台虚拟机服务器上创建并同时运行任意多个虚拟机。每一个虚拟机都相互独立地通过VMM和虚拟机服务器平台去使用虚拟或模拟的CPU、内存、块设备和网络资源。

Xen arch 11 a.png

你可以通过虚拟机服务器桌面去浏览和管理虚拟机。


推荐阅读
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • 解决Linux中wget无法解析主机的问题
    本文介绍了如何通过修改/etc/resolv.conf文件来解决Linux系统中wget命令无法解析主机名的问题,通过添加Google的公共DNS服务器地址作为解决方案。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文介绍了MySQL窗口函数的基本概念、应用场景及常见函数的使用方法。窗口函数在处理复杂查询时非常有用,例如计算每个用户的订单排名、环比增长率、以及动态聚合等。 ... [详细]
  • 春季职场跃迁指南:如何高效利用金三银四跳槽季
    随着每年的‘金三银四’跳槽高峰期的到来,许多职场人士都开始考虑是否应该寻找新的职业机会。本文将探讨如何制定有效的职业规划、撰写吸引人的简历以及掌握面试技巧,助您在这关键时期成功实现职场跃迁。 ... [详细]
  • 一文详解Linux
    Linuxnetfilter与VRF实验环境如下图所示:配置如下:#!binbashsudoipnetnsaddns1sudoiplinkaddns1veth1typevethpe ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • 本文详细介绍了 JavaScript 中 Split 方法的使用方式和一些实用技巧。通过示例,我们将探讨如何利用 Split 方法有效地分割字符串,并获取所需的数据。 ... [详细]
author-avatar
手机用户2602915671
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有