什么是虚拟化?虚拟化技术有哪些?
什么是虚拟化020202 02迄今为止,虚拟化在业界还没有一个公认的定义。
虚拟化(Virtualization)对于不同的人来说可能意味着不同的东西,这要 取决与他们所从事的工作领域的环境。
通用的解释是它包含许多使服务器得到加 强的虚拟机。
虚拟化技术有很多定义,下面就给出了一些这样的定义。
020202 “虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算 机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来 表示它们。
换句话说,它为数据、计算能力、存储资源以及其他资源提供了一个 逻辑视图,而不是物理视图。
”—— Jonathan Eunice, Illuminata Inc.020202 “虚拟化是表示计算机资源的逻辑组(或子集)的过程,这样就可以用从原 始配置中获益的方式访问它们。
这种资源的新虚拟视图并不受实现、地理位置或 底层资源的物理配置的限制。
”—— Wikipedia020202 “虚拟化是资源的逻辑表示,它不受物理限制的约束。
”—— IBM 公司02虚拟化技术的本质和分类020202 虚拟化技术的本质就是把软件变成可以按需递交的动态服务,从而减IT管理的成本,同时大大提升IT服务的响应速度。
020202 当前的虚拟化技术有:服务器虚拟化、CPU虚拟化、程序虚拟化、操作系统虚拟化、硬件虚拟化、完全虚拟、超虚拟化、桌面虚拟化、操作系统级的虚拟化等。
其中比较简单的是操作系统虚拟化。
即其中一台计算机可以运行相同类型的多个操作系统。
这种虚拟化可以将一个操作系统的多个服务器隔离开来。
通过这种虚拟化可以减少服务器的数量,提高服务器的使用效率,可以在一定程度上摆脱物理上的空间限制,实现随时随地随需的自由掌控。
020202 当前,最复杂的虚拟化是硬件虚拟化,即硬件防真。
它通过在宿主系统上创建一个硬件虚拟机来仿真所需要的硬件,这种技术的缺陷是速度非常慢。
其次,还有完全虚拟化、超虚拟化、桌面虚拟化等虚拟化技术。
虚拟化技术在云计算中被广泛运用,下篇文章我们将为您介绍云计算与虚拟化技术的关系,请继续关注OATOS企业云应用博客。
转载请注明: 转载自OATOS企业网盘及云应用协作平台本文链接地址:
使用软件虚拟化 MMU 是什么意思啊。
。
。
。
虚拟化技术简介 什么是虚拟化 虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统,在70年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。
随着近年多核系统、集群、网格甚至云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。
虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。
在计算机科学领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。
例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。
虚拟化技术的分类 虚拟化技术主要分为以下几个大类 [1]: 平台虚拟化(Platform Virtualization),针对计算机和操作系统的虚拟化。
资源虚拟化(Resource Virtualization),针对特定的系统资源的虚拟化,比如内存、存储、网络资源等。
应用程序虚拟化(Application Virtualization),包括仿真、模拟、解释技术等。
我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或 Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。
虚拟机中运行的操作系统被称为客户机操作系统(Guest OS),运行虚拟机监控器的操作系统被称为主机操作系统(Host OS),当然某些虚拟机监控器可以脱离操作系统直接运行在硬件之上(如 VMWARE 的 ESX 产品)。
运行虚拟机的真实系统我们称之为主机系统。
平台虚拟化技术又可以细分为如下几个子类: 全虚拟化(Full Virtualization) 全虚拟化是指虚拟机模拟了完整的底层硬件,包括处理器、物理内存、时钟、外设等,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。
操作系统与真实硬件之间的交互可以看成是通过一个预先规定的硬件接口进行的。
全虚拟化 VMM 以完整模拟硬件的方式提供全部接口(同时还必须模拟特权指令的执行过程)。
举例而言,x86 体系结构中,对于操作系统切换进程页表的操作,真实硬件通过提供一个特权 CR3 寄存器来实现该接口,操作系统只需执行 "mov pgtable,%%cr3" 汇编指令即可。
全虚拟化 VMM 必须完整地模拟该接口执行的全过程。
如果硬件不提供虚拟化的特殊支持,那么这个模拟过程将会十分复杂:一般而言,VMM 必须运行在最高优先级来完全控制主机系统,而 Guest OS 需要降级运行,从而不能执行特权操作。
当 Guest OS 执行前面的特权汇编指令时,主机系统产生异常(General Protection Exception),执行控制权重新从 Guest OS 转到 VMM 手中。
VMM 事先分配一个变量作为影子 CR3 寄存器给 Guest OS,将 pgtable 代表的客户机物理地址(Guest Physical Address)填入影子 CR3 寄存器,然后 VMM 还需要 pgtable 翻译成主机物理地址(Host Physical Address)并填入物理 CR3 寄存器,最后返回到 Guest OS中。
随后 VMM 还将处理复杂的 Guest OS 缺页异常(Page Fault)。
比较著名的全虚拟化 VMM 有 Microsoft Virtual PC、VMware Workstation、Sun Virtual Box、Parallels Desktop for Mac 和 QEMU。
超虚拟化(Paravirtualization) 这是一种修改 Guest OS 部分访问特权状态的代码以便直接与 VMM 交互的技术。
在超虚拟化虚拟机中,部分硬件接口以软件的形式提供给客户机操作系统,这可以通过 Hypercall(VMM 提供给 Guest OS 的直接调用,与系统调用类似)的方式来提供。
例如,Guest OS 把切换页表的代码修改为调用 Hypercall 来直接完成修改影子 CR3 寄存器和翻译地址的工作。
由于不需要产生额外的异常和模拟部分硬件执行流程,超虚拟化可以大幅度提高性能,比较著名的 VMM 有 Denali、Xen。
硬件辅助虚拟化(Hardware-Assisted Virtualization) 硬件辅助虚拟化是指借助硬件(主要是主机处理器)的支持来实现高效的全虚拟化。
例如有了 Intel-VT 技术的支持,Guest OS 和 VMM 的执行环境自动地完全隔离开来,Guest OS 有自己的“全套寄存器”,可以直接运行在最高级别。
因此在上面的例子中,Guest OS 能够执行修改页表的汇编指令。
Intel-VT 和 AMD-V 是目前 x86 体系结构上可用的两种硬件辅助虚拟化技术。
部分虚拟化(Partial Virtualization) VMM 只模拟部分底层硬件,因此客户机操作系统不做修改是无法在虚拟机中运行的,其它程序可能也需要进行修改。
在历史上,部分虚拟化是通往全虚拟化道路上的重要里程碑,最早出现在第一代的分时系统 CTSS 和 IBM M44/44X 实验性的分页系统中。
操作系统级虚拟化(...
什么是虚拟化技术
虚拟化计算机的本质虚拟化,原本是指资源的抽象化,也就是单一物理资源的多个逻辑表示,或者多个物理资源的单一逻辑表示。
具体到服务器虚拟化,就是多个物理资源的单一逻辑表示。
另外,存储虚拟化就是这种模式的一个例子。
对不了解虚拟化的终端用户来说,听到上面说“单一物理资源的多个逻辑表示”,往往会认为“虚拟化技术也太抽象了”。
可是,如果要看计算机架构的话,虚拟化正是计算机的本质。
想一下,PC同时启动使用邮件和Web浏览器等多个应用,这时候你就会理解虚拟化技术。
在这个情况下,操作系统把PC物理资源抽象化了,将多个应用集中到一个物理资源环境下。
因为虚拟化hypervisor是运行在操作系统上层的,所以会被认为有些抽象。
不过,如果试着从计算机结构来理解的话,也不是那么晦涩。
虚拟化的主要类型:主机型和hypervisor型虚拟化的类型大致可以分为主机型和hypervisor型。
当虚拟化最初应用于PC时的主流类型是主机型。
主机型是将虚拟化软件作为一个应用安装的主机操作系统中。
虚拟硬件包括主机操作系统中的虚拟化软件、操作系统和应用。
因为是被作为一个应用,所操作系统不是那么快。
主机型虚拟化的问题在于,如果主机操作系统发生故障,就会波及到作为该操作系统一个应用的虚拟化软件。
而且,在硬件模拟过程中也会发生诸多问题。
接下来是hypervisor型。
hypervisor型是指通过低层级软件让多个操作系统得以共享相同的硬件设备。
如何解决服务器虚拟化中的存储问题?
但也因为虚拟化的特性,为承载环境中不断增长的虚拟机,需要扩容存储以满足性能与容量的使用需求。
IT经理们已经发现,那些因服务器虚拟化所节省的资金都逐渐投入存储购买的方案上了。
服务器虚拟化因虚拟机蔓延、虚拟机中用于备份与灾难恢复软件配置的问题,让许多组织彻底改变了原有的数据备份与灾难恢复策略。
EMC、Hitachi Data System、IBM、NetApp和Dell等都致力于服务器虚拟化存储问题,提供包括存储虚拟化、重复数据删除与自动化精简配置等解决方案。
服务器虚拟化存储问题出现在数据中心虚拟化环境中传统的物理存储技术。
导致虚拟服务器蔓延的部分原因,在于虚拟服务器可能比物理服务器多消耗约30%左右的磁盘空间。
还可能存在虚拟机“I/O 搅拌机”问题:传统存储架构无法有效管虚拟机产生的混杂模式随机I/O。
虚拟化环境下的虚拟存储管理远比传统环境复杂——管理虚拟机就意味着管理存储空间。
解决服务器虚拟化存储问题 作为一名IT经理,你拥有解决此类服务器虚拟化存储问题的几个选项,我们从一些实用性较低的方案开始介绍。
其中一项便是以更慢的速度部署虚拟机。
你可以在每台宿主上运行更少的虚拟机,降低“I/O混合器”问题出现的可能性。
另外一个方法则是提供额外存储,但价格不菲。
一个更好的选择是在采购存储设备时,选择更智能的型号并引入诸如存储虚拟化,重复数据删除与自动化精简配置技术。
采用这一战略意味着新技术的应用,建立与新产商的合作关系,例如Vistor、DataCore与FalconStor。
将存储虚拟化作为解决方案 许多分析师与存储提供商推荐存储虚拟化,作为服务器虚拟化存储问题的解决方案。
即使没有出现问题,存储虚拟化也可以减少数据中心开支,提高商业灵活性并成为任何私有云的重要组件之一。
概念上来说,存储虚拟化类似服务器虚拟化。
将物理存储系统抽象,隐藏复杂的物理存储设备。
存储虚拟化将来自于多个网络存储设备的资源整合为资源池,对外部来说,相当于单个存储设备,连同虚拟化的磁盘、块、磁带系统与文件系统。
存储虚拟化的一个优势便是该技术可以帮助存储管理员管理存储设备,提高执行诸如备份/恢复与归档任务的效率。
存储虚拟化架构维护着一份虚拟磁盘与其他物理存储的映射表。
虚拟存储软件层(逻辑抽象层)介于物理存储系统与运行的虚拟服务器之间。
当虚拟服务器需要访问数据时,虚拟存储抽象层提供虚拟磁盘与物理存储设备之间的映射,并在主机与物理存储间传输数据。
只要理解了服务器虚拟化技术,存储虚拟化的区别仅在于采用怎样的技术来实现。
容易混淆的主要还是在于存储提供商用于实现存储虚拟化的不同方式,可能直接通过存储控制器也可能通过SAN应用程序。
同样的,某些部署存储虚拟化将命令和数据一起存放(in-band)而其他可能将命令与数据路径分离(out-of-band)。
存储虚拟化通过许多技术实现,可以是基于软件、主机、应用或基于网络的。
基于主机的技术提供了一个虚拟化层,并扮演为应用程序提供单独存储驱动分区的角色。
基于软件的技术管理着基于存储网络的硬件设施。
基于网络的技术与基于软件的技术类似,但工作于网络交换层。
存储虚拟化技术也有一些缺陷。
实现基于主机的存储虚拟化工具实际上就是卷管理器,而且已经流传了好多年。
服务器上的卷管理器用于配置多个磁盘并将其作为单一资源管理,可以在需要的时候按需分割,但这样的配置需要在每台服务器上配置。
此解决方式最适合小型系统使用。
基于软件的技术,每台主机仅需要通过应用软件查询是否有存储单元可用,而软件将主机需求重定向至存储单元。
因为基于软件的应用通过同样的链路写入块数据与控制信息(metadata),所以可能存有潜在瓶颈,影响主机数据传输的速度。
为了降低延迟,应用程序通常需要维护用于读取与写入操作的缓存,这也增加了其应用的价格。
服务器虚拟化存储创新:自动化精简配置与重复数据删除 存储技术的两个创新,自动化精简配置与重复数据删除,同样是减少服务器虚拟化环境对存储容量需求的解决方案。
这两项革新可以与存储虚拟化结合,以提供牢固可靠的存储容量控制保障。
自动精简配置让存储“走的更远”,可减少已分配但没有使用的容量。
其功能在于对数据块按需分配,而不是对所有容量需求进行预先分配。
此方法可以减少几乎所有空白空间,帮助避免利用率低下的情况出现,通常可以降低10%的磁盘开销,避免出现分配大量存储空间给某些独立服务器,却一直没有使用的情况。
在许多服务器部署需求中,精简配置可通过普通存储资源池提供应用所需的存储空间。
在这样的条件下,精简配置可以与存储虚拟化综合应用。
重复数据删除从整体上检测与删除位于存储介质或文件系统中的重复数据。
检测重复数据可在文件、字节或块级别进行。
重复数据删除技术通过确定相同的数据段,并通过一份简单的拷贝替代那些重复数据。
例如,文件系统中有一份相同的文档,在50个文件夹(文件)中,可以通过一份单独的拷贝与49个链接来替代原文件。
重复数据删除可以应用与服务器虚拟化环境中以减少存储需求。
每个...
主要的服务器虚拟化软件有哪些?特点是什么?
呵呵,我们公司是做桌面虚拟化的服务器虚拟化主要的有三种Citrix XenServer 微软 Windows Server 2008 Hyper-VVMware ESX Server 这是最常用的总特点:将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,或者让几台服务器变成一台服务器来用,我们不再受限于物理上的界限,而是让CPU、内存、磁盘、I/O等硬件变成可以动态管理的“资源池”,从而提高资源的利用率,简化系统管理,实现服务器整合,让IT对业务的变化更具适应力VMware ESX ServerESX Server 运行在服务器裸机上,是基于硬件之上的架构。
属于企业级应用。
用同一台服务器底层硬件,划分出若干虚机,集中管理,很方便的做集群,负载均衡,热迁移等功能。
XenCenter是Citrix的虚拟化图形接口管理工具,可在同一界面,管理多台的XenServer服务器。
管理上,通常会先在XenCenter建立一个服务器群组(Pool),然后将位于同一机房内的XenServer服务器加入。
和大多数服务器半虚拟化产品相同的是,当数台XenServer服务器连接到同一台共享磁盘驱动器,且将虚拟档案放置于此的前提下,可以通过Xen-Motion这项功能,将虚拟机以手动方式在线转移到其它的XenServer服务器,从事主机的维护,或者降低硬件资源的消耗。
微软Hyper-V虚拟化平台,是以Xen的虚拟化技术为基础开发而成的,而这个虚拟化平台目前已整合在64位的Windows Server 2008操作系统,
什么是虚拟化技术,为什么要虚拟化技术?
一.什么是虚拟化?简单来讲,虚拟化就是为一些组件创建虚拟(而不是物理)版本的过程。
虚拟化可以应用到计算机、操作系统、存储设备、应用或网络。
但是,服务器虚拟化才是虚拟化的核心。
现如今的 x86 服务器的设计存在局限性,每次只能运行一个操作系统和应用,这为 IT 部门带来了挑战。
因此,即使是小型数据中心也必须部署大量服务器,而每台服务器的容量利用率只有 5% 到 15%,无论以哪种标准来衡量,都十分的低效。
虚拟化使用软件来模拟硬件并创建虚拟计算机系统。
这样一来,企业便可以在单台服务器上运行多个虚拟系统,也就是运行多个操作系统和应用,而这可以实现规模经济以及提高效益。
二.为什么要虚拟化?虚拟化技术能为我们解决很多以前解决不了的技术:1、服务器整合技术:这个技术在没有虚拟化技术之前是很难完成的。
因为什么东西都是实际存在的,想把两个工作相对较少的服务器整合到一起是很困难的。
然而当有了虚拟化技术以后使这种服务器整合技术变得非常容易。
而这个技术需要借助我下面介绍的2、3条技术。
2、负载均衡技术:负载均衡技术是只在每台服务器上安装一个负载均衡器,然后设置很多的调度算法及临界值。
来判断此时此刻服务器的压力是轻还是重。
然后根据轻重来完成服务器的合并,而合并又依据了第三条技术。
3、动态迁移技术:这个技术是前两个技术的根基,但是却不只仅仅限于前两个技术。
它的目的是可以在服务器开启的状态下,把其上面的虚拟机迁移到其他的服务器上面。
工作原理大体是先将目标服务器上模拟出此服务器的硬件状态,然后迁移数据,最后释放此服务器的信息。
4、克隆技术:这个技术说起来和上面那个技术很像,但是却不一样。
克隆技术是把一台服务器的环境配置好了后可以通过克隆技术使其他的机子都达到和这台机子一样的效果,假如要配置100台甚至1000台服务器的话这种克隆技术是非常可观的。
它和动态迁移的区别是在服务器不停机的状态下,动态迁移要求迁移的彼此必须是共享内存的,但是克隆并没有这个限制。
5、灾难恢复技术:灾难恢复是所有大型公司必须考虑的问题,因为当一些意外发生时,比如:突然断电,硬件损坏,洪水,地震,等一系列情况是,如何把灾难所造成的数据损失降到最低甚至是不损失。
这要依靠第六条技术。
6、虚拟快照技术:虚拟快照技术是将虚拟机此时的状态像照片一样保存下来,当然我说的很容易,其实现原理需要非常复杂,包括cpu运行状态,内存中的数据等等。
这样保存下这些虚拟技术当发生灾难或者某些失误导致虚拟机出问题时,可以很快恢复。
7、改善系统可用性。
这里的可用性只得是零 down机,在这种情况下我们才可以使得效率最大化。
而零down机的前提是每台服务器必须要有一个镜像,在主虚拟机和次虚拟机之间有一条心跳线来维持两者之间的关系,当心跳线停止时,次虚拟机立马启动,代替主虚拟机。
8、安全性:我们直到虚拟化在硬件层上都有一层VMM来时时刻刻侦测每台虚拟机的动向,包括捕获异常,解决门事件,完成调度等等。
所以当一些危险因素来临时由于VMM的存在使得我们可以非常快的侦测到这个问题并解决它。
这能比以前的硬件层上面直接是操作系统快速很多。
看了一些虚拟化的博客,还有文章,发现很多人对于虚拟化技术到底是什么,为什么要使用虚拟化技术还不是很明白。
绝大多数人目前理解的虚拟化技术就是把操作系统和硬件分离,一个硬件能够同时运行多个操作系统认为就是虚拟化技术,其实这只是虚拟化技术中很小的一个部分,和很初级的阶段。
什么是虚拟化技术?百度百科中给出的解释其实也是相对片面的:“ 虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。
虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。
CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。
虚拟化技术与多任务以及超线程技术是完全不同的。
多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。
” 虽然其强调广义概念,但是在后面的描述上也都是在强调操作系统与硬件的隔离。
gartner给过一个相对简单但是很准确的定义(记不住原文,大概含义):将不同的资源和逻辑单元剥离,形成松耦合的关系的技术。
其实根据计算过程中的逻辑组成部分,将他们的紧耦合,变为松耦合(耦合大家学过软件工程的都应该懂什么意思了吧)。
其实“耦合”的概念是计算机领域一直研究的内容:面向对象的设计讲,不同的类应该是松耦合的,而类内部的信息应该是紧耦合的,这样可以更好地应对需求变化,快速动态地调整,构建新的系统; web service其实也是将传统的紧耦合...
linux与虚拟化的关系
第一部分:这一部分是对当期存在的虚拟机技术进行简单的总结与讲解,很多是一句而过的。
其实每一个技术都可以重新写出一篇内容丰富的博客,但是每个技术不是本篇文章的重点,所以不对每一个技术进行详细论述。
欢迎对每个技术进行评论与纠错。
虚拟化定义:虚拟化主要指的是特殊的技术,通过隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)(IBM定义)。
虚拟化为有效利用大型机的资源提供了技术支持。
虚拟机技术也是多种多样,而可以虚拟的层次或者可虚拟的方面也是遍布从硬件到应用层整个计算机系统。
如图片所示:虚拟机分类:虚拟机的分类也是多种多样。
可以通过是否在裸机上部署来分为面向主机的的虚拟机和面向裸机的虚拟机。
面向主机的虚拟机是指的在一台已经安装操作系统的主机上安装虚拟机管理(VMM)程序,而面向裸机的是指在裸机上直接安装虚拟机管理程序,所有的虚拟机调用都是直接由虚拟机管理程序来负责,没有了操作系统这一步,所以这种方式在效率上要高于面向主机的。
不过,比较流行的技术比如vmware,Xen都是面向主机的。
然后根据上面的图去分类的话,可以分为对硬件的虚拟和对操作系统或者对软件的虚拟。
在硬件虚拟化这个层面,又有三种不同的技术:1、Full Virtualization(全虚拟化),几乎是完整地模拟一套真实的硬件设备。
大部分操作系统无须进行任何修改即可直接运行在全虚拟化环境中。
像KVM等技术是全虚拟化。
2、Partial Virtualization(部分虚拟化),仅仅提供了对关键性计算组件或者指令集的模拟。
操作系统可能需要做某些修改才能够运行在部分虚拟化环境中。
3、Paravirtualization(半虚拟化),不对硬件设备进行模拟,虚拟机拥有独立的运行环境,通过虚拟机管理程序共享底层的硬件资源。
大部分操作系统需要进行修改才能够运行在半虚拟化环境中。
它的性能要稍微高于全虚拟化。
像Xen。
因为需要改动托管系统的内核,所以Xen是不支持win虚拟机的。
另外还有像硬件辅助虚拟化,就是宿主机的硬件架构在一定程度上提供对虚拟化的支持。
像Intel-VT与AMD-V都提供了这等架构支持,请参考给出的参考资料。
软件层面的虚拟化,往往是指在同一个操作系统实例的基础上提供多个隔离的虚拟运行环境,也常常被称为容器技术。
LXC(Linux Container)则是采用了这种技术,它主要是采用了Linux本身提供的技术,在一定程度上模拟虚拟化。
软件虚拟化也可以理解成进程级虚拟机,其他虚拟化成为系统级虚拟机。
在进程级虚拟机中负责虚拟化的软件成为运行时软件,而系统级虚拟机中负责虚拟化的软件成为VMM(Virtual Machine Monitor)对于硬件与软件虚拟化两种技术,都是存在优点和缺点。
对于硬件虚拟化,我们讨论全虚拟化和部分虚拟化。
因为现在大部分的虚拟化技术Xen、KVM都支持这两种。
硬件虚拟化基本上就是在一台宿主机上虚拟了整个系统,各台虚拟机之间相互不可见。
这会很明显导致很多重复的线程和重复的内存页出现,性能上肯定会有影响。
所以采用这种技术,一台宿主机上虚拟机的个数肯定会有一定限制。
对于软件虚拟化,我们讨论LXC,因为只有这一种我用过。
LXC是通过cgroup对线程进行隔离,对资源进行限制;通过Namespace对调用系统提供的系统调用来进行资源隔离。
LXC介绍。
通过此也可以看出,它所有虚拟化出来的虚拟机都是运行在宿主机本身上的,它的线程和资源对宿主机都是可见的。
这就不存在很多重复的线程和内存也的问题,所以一台宿主机上可以通过此技术虚拟出更多的虚拟机。
最近非常流行的Docker也是软件虚拟化的一种,它的原理也是使用了Linux提供的namespace对资源进行隔离,不过它提供了比LXC更强大的功能实现。
第二部分: 这一部分就是主要介绍三个组件的不同功能,更多的细节亟待补充,也欢迎评论进行补充,纠错。
KVM介绍:对于KVM来说,其是一款支持虚拟机技术,而且是Linux内核中的一个功能模块。
它在Linux2.6.20之后的任何Linux分支中都被支持。
它还有一个条件,对硬件要求的条件,必须达到一定标准的硬件架构。
对于Intel-VT与AMD-V都是支持的。
对于是否支持也可以通过命令行查看:egrep '(vmx|svm)' --color=always /proc/cpuinfo。
如果有任何内容则说明当期硬件架构是支持KVM的,否则就不支持。
另外,就算支持,但是在bios中是默认设置不打开该功能的,所以你还要去bios设置其为enable。
当设置成功之后,还需要关机一次,注意是关机而不是重启。
否则该设置的更改就不起效。
QEMUQEMU是什么。
其实它也是一款虚拟化技术,就算不使用KVM,单传的QEMU也可以完全实现一个虚拟机。
那为何还会有QEMU-KVM这个名词那。
是因为虽然KVM的技术已经相当成熟而且可以对很多东西进行隔离,但是在某些方面还是无法虚拟出真实的机器。
比如对网卡的虚拟,那这个时候就需要另外的技术来做补充,而QEMU-KVM则是这样一种技术。
它补充了KVM技术的不足,而且在性能上对KVM进行了优化。
libvirtlibvirt又是个什么东东。
它是一系列提供出来的库函数,用以其他技术...
云端这个软件是干嘛的?
云端软件平台,采用应用虚拟化技术,集软件搜索、下载、使用、管理、备份等多种功能为一体,为网民搭建软件资源、软件应用和软件服务平台,改善目前软件获取和使用的方式,带给你简单流畅、方便快捷的全新体验. 虚拟化环境,带给系统轻便、干净、稳定,减少重装烦恼 一键化的操作,体验速度与流畅 丰富、安全的软件资源,便捷的软件使用、获取方式 方便实用的软件管理,灵活软件分享,移动便携 一直以来,尽可能使用绿色软件,所以C盘上走安装程序的软件少之又少。
好处是最大限度减少系统负荷,软件越来越多,使之不至于越来越慢!即便是重做系统,把绿色软件或者快捷方式直接复制到C盘即可完成软件的重装,而且删除也比较快捷! “云端”是一个很好的软件聚合平台,很好的解决了“冷门”软件的使用问题。
有些软件使用频率不高,经常呆在电脑中占用资源,用完卸载、安装又非常麻烦,这时候可以把他们在“云端”中安装,系统中只保留使用频率最高的几款安装、或绿色软件,平时云端可以不启动,是不错的使用方案。
1、云端集成了大量丰富的软件资源,将其分门别类,查找也很容易。
2、云端中软件的安装和卸载也很简单,下载后即可完成安装过程,右键即可简单的删除卸载。
3、关闭云端程序,云端中软件一切遗留文件信息均会消失。
“云端”有不错的创意,存在小问题有 1、有些软件不是破解版,并且也不支持破解版。
即便有破解补丁,也不知道如何安装。
//已经解决,直接将破解文件复制到安装虚拟目录即可。
2、如果能支持自定义软件“云端”化就完美了!//已实现 3、云端的软件在启动时就像安装的软件一样,占用系统资源;所以没用的软件还是不要下载;或者使用频率极低但有舍不得丢弃的应用软件软件干脆隐藏(隐藏后不占用系统资源)也行。
当然,不用的时候云端还是不开。
4、云端本身运行时也占大约8M内存,对于老机型来说有点影响。
云端的数据文件容量大,需要较大的硬盘容量。
转载请注明出处51数据库 » in这个软件中虚拟化
鑫少爷37133862