当前位置:首页 » 服务存储 » 虚拟化计算机存储平台
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

虚拟化计算机存储平台

发布时间: 2022-06-18 15:58:44

1. 什么是计算虚拟化,主流虚拟化计算平台介绍

什么是虚拟化 虚拟化是一个广义的术语,是指计算元件在虚拟而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。在电脑运算中,虚拟化通常扮演硬件平台、操作系统、存储设备或者网络资源等角色。虚拟化技术很早就在计算机体系结构、操作系统、编译器和编程语言等领域得到了广泛应用。该技术实现了资源的逻辑抽象和统一表示,在服务器、网络及存储管理等方面都有着突出的优势,大大降低了管理复杂度,提高了资源利用率,提高了运营效率,从而有效地控制了成本。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。 什么是云计算 云计算是近年来兴起的新理念,目标是将计算和存储简化为像公共的水和电一样易用的资源,用户只要连上网络即可方便地使用,按量付费。它是现有技术和模式的演进和采用。云计算是为了让用户能够受益于这些技术而无需去深入的了解和掌握它们。云旨在降低成本和帮助用户专注于他们的核心业务,而不是让IT成为他们的阻碍。云计算采用创新的计算模式使用户通过互联网随时获得近乎无限的计算能力和丰富多样的信息服务,它创新的商业模式使用户对计算和服务可以取用自由、按量付费。 云计算服务可以是IT和软件、互联网相关的,也可以是任意其他的服务。这种资源池称为“云”。“云”是一些可以自我维护和管理的虚拟计算资源,通常为一些大型服务器集群,包括计算服务器、存储服务器、宽带资源等等。云计算应用模式可分为SaaS、PaaS、IaaS、MSP。SaaS应用就如 虚拟化是一个广义的术语,在计算机方面通常是指计算元件在虚拟的基础上而不是真实的基础上运行。 虚拟化与云计算的关系 云计算和虚拟化并非捆绑技术,二者同时使用仍可正常运行并实现优势互补。云计算和虚拟化二者交互工作,云计算解决方案依靠并利用虚拟化提供服务,而那些尚未部署云计算解决方案的公司仍然可以利用端到端虚拟化从内部基础设施中获得更佳的投资回报和收益。 虚拟化是云计算中主要支撑技术之一。虚拟化将应用程序和数据在不同层次以不同的面貌展现,这样有助于使用者、开发及维护人员方便的使用、开发及维护这些应用程序及数据。虚拟化允许IT部门添加、减少移动硬件和软件到它们想要的地方。虚拟化为组织带来灵活性,从而改善IT运维和减少成本支出。 云计算和虚拟化是密切相关的,但是虚拟化对于云计算来说并不是必不可少的。云计算为基础设施带来的服务如:管理一个私有云(在你的数据中心)、公共云(比如是SalesForce)和管理托管云(托管在别处的虚拟服务器)以及许多其它的增值服务,这些都是虚拟化和云计算的不同。 可以这么说,云计算把计算当做公用资源,而不是一个具体的产品或者是技术。作为一个最为基本的想法,我们可以说云计算是由公用计算的概念演进而来,也可以把云计算想象为把许多不同的计算机当做一个计算环境。 云计算将各种IT资源以服务的方式通过互联网交付给用户。然而虚拟化本身并不能给用户提供自服务层。没有自服务层,就不能提供计算服务。云计算模型允许终端用户自行提供自己的服务器、应用程序和包括虚拟化等其它的资源,这反过来又能使企业最大程度的处理自身的计算资源,但这仍需要系统管理员为终端用户提供虚拟机。

2. 虚拟化的作用是什么

资料:

虚拟化可以节省过多的电力成本
服务器,台式机和存储单元等设备必然会耗费大量电力来保持运行。但如果是虚拟化环境,从长远来看,能够节省大量的能源费用。

虚拟化具有更轻松,更具成本效益的维护
虚拟化基础架构可以节省人力和服务器生命周期维护费用。使用较少的物理服务器,手动配置,监视和维护的次数较少。物理服务器数量的减少还会降低硬件维护成本并增加可用的工作空间量。
4、虚拟化确保更好的可靠性和安全性
虚拟化通过使其更具流动性和上下文感知来提高安全性。使用基于软件的安全解决方案时,与传统的物理安全性相比,安全性变得更加准确,易于管理且部署成本更低。
虚拟化环境还可以节省IT基础架构中安全漏洞期间发生的意外成本,因为IT工作人员拥有的机器较少,而且基础设施较小。这使得解决安全威胁变得更加容易和快捷。

3. 存储虚拟化的SAN系统组成

SAN是计算机工作者们为了优化DAS而提出的另一种设计思想,它并没有试图在功能上将应用服务和存储服务完全解耦,而是希望服务器与存储设备之间通过专用光纤网络实现高速互连。如图1所示,一个SAN系统通常包括服务器连接器件、存储网络连接器件、存储设备和管理软件四部分组成,其中存储网络连接器件又可以细分为光纤通道集线器、光纤通道交换机和存储路由器等设备。

图1 SAN系统组成
从设计角度来看,只要购买一个NAS服务器通过标准网络协议加入网络,就可以享受文件级的存储服务了;但是如果打算采用SAN设计存储网络的话,不仅需要购买服务器连接器件、存储网络连接器件、存储设备和管理软件,还需要事先规划设计好存储网络的拓扑结构。从使用上来看,SAN采用专用的光纤网络实现数据存取,能够获得高性能;而NAS服务器与应用服务器共用一套网络,性能比拼上明显无法占据上风。
可以看出,NAS和SAN各有所长,各有所短,实际使用中应该根据实际情况选择合适自己的技术。近些年来,随着主流NAS厂商开始向其NAS设备增加类似SAN的光纤通道和iSCSI功能,NAS和SAN之间的界限已经越来越模糊,也许不久的将来两者将会迎来越来越多的重叠。
那么到底是哪种技术,哪家厂商的方案是最佳的呢?哪种方案会成为存储虚拟化大赛中的最终胜者呢?现在更多的专家认为,这场竞赛没有最后的赢家,越来越多人认为这三种技术应当结合使用。
如果我们把厂商和各自的虚拟化技术对号入座,那么三个虚拟化阵营都各自有一些代表厂商。虚拟化应用阵营的代表有SVC、StorAge、NetworkAppliance设备以及NSS SED (Service-Enabled Devices)飞康。而在磁盘阵列和光纤通道阵营里,HDS、Sun、hp以及Acopia提供了多样化的体系结构。交换机阵营则包括Invista、McData、Brocade、QLogic以及Cisco公司。
在虚拟化应用阵营中比较有代表性的厂商是飞康,飞康 NSS 是一款灵活的存储虚拟化解决方案,能够对整个企业内的存储资源进行高效、经济的供给和集中管理。飞康 NSS有助于最大化存储利用率,降低总存储成本和提高员工生产力。企业可以继续利用现有的存储投资,从而降低购置总成本 (TCO)。飞康 NSS 使 IT 管理员能够根据业务应用程序服务级别协议 (SLA) 定义适当的业务持续性策略,从而实现更加面向服务的应用程序方法和数据可用性。
对于另外两个阵营来说,由于McData,Brocade,Cisco等其他一些公司已经针对基于光纤通道虚拟化进行了一系列公司收购与合作,似乎不同类别方案之间的分界线已经变得模糊起来。其他两个阵营中的厂商中有些也正在慢慢跨越自身的领域,即使目前来说并没有真正完全的横跨界限。
由于虚拟化性能、应用程序灵活性以及虚拟化引擎等诸多方面的问题,早期的存储交换虚拟化和磁盘阵列虚拟化两个阵营的提倡者广受业界的质疑。最初执行虚拟存储的厂商依赖那些基于现有组件的分布式解决方案或是基于端口的处理引擎来提供所需功能,应用设备虚拟化方案被认为是最易于配置的,但其往往有应用限制。因此一些厂商更倾向于存储交换虚拟化,认为智能SAN虚拟化处理组件是下一代虚拟存储的典范。
同样,HDS针对应用虚拟化方案和网络交换虚拟化方案也作出了类似的批评。HDS认为他们的通用存储平台(USP)是把虚拟化部署在存储网络边缘的存储控制器,而不是部署在主机或是网络核心的交换机或应用设备,他们认为从性能和安全因素上说这是最佳位置。
而应用设备虚拟化的坚定支持者NetApp则认为通过应用设备在存储网络上实现虚拟化是最好方案。NetApp公司发言人解释:在选择磁盘阵列方案后,存储网络能给客户提供最大的灵活性,不至于像TagmaStore通用存储平台那样把客户锁定在磁盘阵列的解决方案,既不需要那么复杂,也不需要基于主机的虚拟化解决方案中客户代码带来的成本。在存储网络之内,应用设备可以灵活放置。
一个好的虚拟解决方案不要求对磁盘或存储网络基础架构进行任何改变。因此,需要和您的供应商进行讨论来决定进行哪些改变才能够测试和运行它们的虚拟解决方案。但是需要警惕的是一些解决方案要求企业购买新一代SAN交换机或新一代存储控制器,而这样做的目的仅仅是为了实现存储虚拟。

4. 虚拟化平台是什么里面都包含哪些组件

通过虚拟化可以在单台物理计算机上运行多个虚拟机,且所有虚拟机可在多种环境下共享该物理计算机的资源。在同一物理计算机上,不同的虚拟机可以独立、并行运行不同的操作系统和多个应用程序。拿云宏的CNware虚拟化平台来做个例子:

1) CNware WinServer和虚拟化IT基础架构
WinServer 是云宏公司推出一套服务器虚拟化解决方案。按需分配是云计算的核心思想,WinServer是云计算的基础。

WinServer将应用程序和操作系统从底层硬件分离出来,从而简化了 IT操作。

2) CNware WCE管理层
WCE 的接口包括四大类
a) WinServer API 用来管理 WinServer服务器
b) 异构虚拟化管理客户端和第三方解决方案连接
c) 数据库接口与DB连接,用于存储信息
d) 北向接口用于对接WinCenter及第三方管理平台

3) 访问 Cnware WinServer 虚拟化架构
访问WinServer虚拟化架构,可通过如下三种方式

a) CNware Web Client
b) SDK和命令行界面
c) 直接虚拟机控制台访问

4) 虚拟化解决方案
最后,我们介绍下服务器虚拟化的三种解决方案,除了本文介绍的CNware(商用),还包括 openstack(开源)和VMware vSphere(商用)。

5. 云存储的核心技术:虚拟化存储,究竟虚拟是怎样实现的

虚拟化改变了计算机使用存储的方式。就像物理机器抽象成虚拟机(VM:Virtual Machine)一样,物理存储设备也被抽象成虚拟磁盘(Virtual Disk)。今天我们就来聊聊虚拟化存储(Storage Virtualization)技术,究竟虚拟磁盘是怎样实现的?
虚拟磁盘的实现
我们知道,服务器扩展存储的手段主要有直连存储(DAS)、存储区域网络(SAN)和网络附加存储(NAS)这三种类型。那么哪种存储类型可以用来实现虚拟磁盘呢?
在虚拟化环境中,类似VMWare这样的虚拟机管理程序hypervisor,要同时给很多VM分配存储空间。这个过程中,我们需要先把物理存储资源重新划分成虚拟磁盘,然后再分配给VM。
显然我们不能用DAS方式把物理磁盘直连到VM上,如果这样,需要的物理磁盘就太多了。SAN是以逻辑单元(LUN:Logic Unit)的形式提供存储资源,但是虚拟环境中VM的数量是很大的,而且伦的数量不足以支持这么多虚拟磁盘。
更重要的是,虚拟磁盘是为大量VM共享的,由于VM需要随时创建、删除或迁移,所以需要在迁移VM时共享存储空间,只有原始数据不会丢失。DAS还是SAN,都不适合共享存储。

考虑到资源分配以及共享的问题,虚拟机管理程序以NAS的方式实现虚拟磁盘。VMware通常使用VMFS(虚拟机文件系统)或NFS协议实现虚拟磁盘,VMFS文件系统是专门针对虚拟机环境协议。

每一个虚拟机的数据实际上是一堆文件,及最重要的文件的虚拟磁盘文件(VMDK文件),也有交换分区文件(VSWP文件,等价交换),非易失性存储器(NVRAM的文件相当于BIOS),等等。每个VM对虚拟磁盘的IO操作实际上是对虚拟磁盘文件的读写操作。
设计、施工、和虚拟服务器环境和优化,允许多个虚拟机访问集成的集群存储池,从而大大提高了资源的利用率。使用和实现资源共享,管理员可以直接从更高的效率和存储利用率中获益。
那么我们如何在云计算中使用虚拟磁盘呢?
实例存储
最主要的一种使用虚拟磁盘的方式就是实例存储,每个VM都是虚拟机的一个实例,虚拟机管理程序在每个实例中提供一个仿真硬件环境,它包括CPU、内存和磁盘。这样,虚拟磁盘就是虚拟机实例的一部分,就像物质世界。删除VM后,虚拟磁盘也将被删除。
在这个实例存储模型中,虚拟磁盘与虚拟机之间的存储关系,事实上,它是DAS存储。但是虚拟磁盘的底层实现,我们说,它是以NAS的方式实现的。虚拟机管理程序的作用是存储VM层的存储模型,这是从实施协议分离(VMFS或NFS)的虚拟机的低层。

VMFS协议实现了存储资源的虚拟化,再分配各VMs
卷存储
实例存储有它的限制,开发人员通常希望分离实例数据,例如OS和安装的一些服务器应用程序和用户数据,这样重建VM的时候可以保留用户的数据。
这个需求衍生出另外一种存储模型:卷存储。卷是存储的主要单元,相当于虚拟磁盘分区。它不是虚拟机实例的一部分,它可以被认为是虚拟机的外部存储设备。
该卷可以从一个VM卸载,然后附加到另一个VM。通过这种方式,我们实现了实例数据与用户数据的分离。OpenStack的煤渣是一个体积存储的实现。
除了实例存储和卷存储之外,最后我们还提到另一种特殊的虚拟存储:对象存储。
对象存储
很多云应用需要在不同的VM之间共享数据,它常常需要跨越多个数据中心,而对象存储可以解决这个问题。在前一篇文章中的云计算IaaS管理平台的基本功能是什么?》中曾经提到过对象存储。
在对象存储模型中,数据存储在存储段(bucket)中,桶也可以被称为“水桶”,因为它字面意思。我们可以用硬盘来类推,对象像一个文件,而存储段就像一个文件夹(或目录)。可以通过统一资源标识符(URI:统一资源标识符)找到对象和存储段。
对象存储的核心设计思想实际上是虚拟化,它是文件的物理存储位置,如卷、目录、磁盘等,虚拟化是木桶,它将文件虚拟化为对象。对于应用层,简化了对数据访问的访问,屏蔽了底层存储技术的异构性和复杂性。

对象存储模型
NAS与对象存储各有所长
当然你也许会问,NAS存储技术也是一个可以解决数据共享的问题吗?由于对象存储的大小和成本优势,许多云环境使用对象存储而不是NAS。
因为对象存储将跨多个节点传播,最新数据并不总是可用的 因此,对象存储的数据一致性不强。如果有强一致性的要求,然后你可以使用NAS。目前,在云计算环境中,NAS和对象存储是共存的。
和NAS一样,对象存储也是软件体系结构,而不是硬件体系结构。应用程序通过REST API直接访问对象存储。公共对象存储包括:Amazon S3和OpenStack的Swift。
结语
在实际的云平台应用中,我们需要根据自己的实际情况来合理运用不同的虚拟化存储技术。
对于非结构化的静态数据文件,如音视频、图片等,我们一般使用对象存储。
对于系统镜像以及应用程序,我们需要使用云主机实例存储或者卷存储。
对于应用产生的动态数据,我们一般还需要利用云数据库来对数据进行管理。

6. 计算机虚拟化技术的应用虚拟化平台

通过和信应用虚拟化来发布企业应用系统,能够为用户带来更好的体验。不需要改变现在网络结构和修改任何应用程序,就能实现快速、灵活地部署,而且内置的安全、负载均衡机制保证了企业不间断业务的进行,同时大大简化系统管理员管理和维护工作量。
使用和信应用虚拟化有什么好处?
使用和信应用虚拟化能够做到:
- 软件应用的集中管理;
- 远程安全接入与应用访问控制;
- 应用加速;
- 企业应用平台从局域网向互联网迁移。
和信应用虚拟化客户端环境要求
操作系统:Windows XP、2003、Vista、Win7 32位及64位系统
和信应用虚拟化客户端无特殊要求,只要能顺利安装以上操作系统,均可无障碍使用和信应用虚拟化。 虚拟化能使用户在一台服务器上同时运行多个操作系统,这与“多重任务处理”技术有些类似。不过“多重任务处理”技术只允许用户在同一机器设备的同一操作系统中运行多个程序,而虚拟化则可让用户在同一机器设备中运行多个操作系统。这样用户能更灵活高效地配用计算机资源,并且有助于提高安全性能。
想象一下,一个操作系统几乎不需花任何时间就可被启动,即使它崩溃了,你只需简单地将它剔除出去,同时立即装载一个新的。如果你正在同时运行几个操作系统,当你准备给其中一个载入新的映像时,你可马上将它关闭,并把该系统正在处理的工作分流给其他系统运行。如果你有5个RedHat的副本正在运行Apache服务器软件,而其中一个因满负荷而停止响应,没问题,你只需简单地将响应请求转交给其他4个系统处理,同时重启那个停止工作的系统就行了。
如果你已为你正在运行的操作系统存储了一份“快照”,那么每当有一些不愉快的事情发生时你都可重新启动它,例如被黑客攻击、感染病毒。从一个安全的分区载入映像并修复好它就行了。虚拟化还可让用户毫不费时地重新安装操作系统而不需像以往使用Ghost那样去安装设备驱动。你可简单地就像使用普通程序那样去载入、卸载和存储操作系统。
同样,它也允许你在同一台机器上使用多个不同的操作系统。如果你是一名程序员,需要编写代码使它们在Windows 95/98/Me/2000/XP上都能运行,你可在你的办公桌上准备5台机器或是1台运行了5种虚拟化操作系统的电脑。同时,作为程序员的你需在每个浏览器的每个版本上校验这些代码,很明显微软不会让你在一个已拥有高版本IE的情况下去安装更低版本的IE去做这些事,但你可一个个地安装旧的操作系统或采取更好一些的解决方法——让它们同时运行。 是不是一切都很简单和完美?然而在虚拟化世界并非一切都是尽善尽美的。最显而易见的就是那么多的副本操作系统(上面例子中的操作系统副本多吗?你可以想象一个网络主机公司,20个、50个都是有可能的)同时运行在一台计算机上需要占据很多的资源并导致更昂贵的服务器开销。数据传输在任何情况下都变得更难,因为越多东西被载入,需要的存储器容量也就越多。
是的,真正的杀手就是系统开销。目前在计算机虚拟化方面有几项技术,但它们都伴有不同程度降低系统性能方面的问题。单就CPU而言,其占用率可以从10%到超过40%。
很显然,我们需要新的技术来解决这些问题。Intel所要采用的VT技术背后的思想就是降低虚拟化时的系统开销。在我们深入了解它如何工作之前,我们有必要了解一下虚拟化技术到底是如何实现不同的操作系统工作在同一CPU上的。
目前主要存在有3种类型的虚拟化技术:Paravirtualisation、二元码转译和模拟器。大家最为熟悉可能就是模拟器了。你可以让一个超级任天堂的模拟器在Windows XP的一个窗口中运行,同时还可有另一个PS模拟器。这些都可看作是虚拟化的最基本形式。模拟器需耗费巨大的CPU开销,如果你非要去模拟硬件装置的每一个Bit位,你将花费大量的时间和精力。比较好的方法是跳过其中的某些部分,我们使用的模拟器就是这样,它工作得也还过的去。
这个领域的另一端就是目前较流行的并被业界认可的“Paravirtualisation”(以下简称PV)技术。按字面意思理解,是编程序模拟的意思。它让主机操作系统知道它们正工作在一个虚拟化的环境中,通过修改它们以使之工作得更好。因此操作系统需针对这种方法进行修改和调整,它们必须来回于操作系统的编写人员和编写虚拟化软件人员之间。从这个角度来看,它并非是完全的虚拟化,因为存在这种合作的关系。
PV技术在开源代码的操作系统中工作得不错,Linux,、xBSD都是很合适的PV工作平台的候选者,你可在这些系统中任意调整所需调整的地方,使PV能工作得更好。而Windows则不行,这大概能解释最近为什么众多IT巨头吹捧开源虚拟化技术Xen了。
而“二元码转译”(以下简称BT)技术可说是较折衷的方法了。它所要做的取决于操作系统将要做些什么,并在不知不觉中改变它。假如操作系统试图去执行指令A,但该指令A会给虚拟化引擎带来某些问题,那么BT将把它转换成某些更合适的指令并伪造指令A应该返回的结果。这是一项欺骗工作,且占用大量CPU资源,另外用许多代码取代一条代码也不会使事情运作得快些。
当你了解这些后,你会感到头痛。纯粹致命的缺陷的确没有,但都没有一个简单的解决方案。这些虚拟化的技术仍在继续运用,只是人们都在尽量使其处在一个较低程度的缺陷范围内工作罢了。是什么造成这样的呢?
(图04,传统的软件虚拟化技术) 对于X86系统架构的CPU而言,至少在32位领域,有太多让人头痛的条条框框,但作为一条总则,它们都包含有环转换器(Ring Transitions)和有关指令。从概念意义上说,环是一种划分系统特权级别的方法(因此“Ring”也称作特权环)。你可让操作系统运行在一个特权级别上而不会使之被用户程序更改。这样即使你的程序出了问题,它也不会导致系统崩溃,而操作系统能取得控制权,关闭出毛病的程序。这些环强行控制系统的不同部分。
Intel公司的X86系列CPU(包括80386、80486、Pentium、Pentium Pro、Pentium Ⅱ、Pentium Ⅲ以及现在的Pentium 4CPU),提供4个特权级别R0、R1、R2和R3。较大的数字表示较低的特权,我们可简单理解为运行在某一级别的程序无法改变运行在较小数字级别上的程序,但较低数字级别上的程序可干扰甚至控制运行在较高数字级别的程序。
在实际运用中,被经常用到的只有R0和R3,即最高级别和最低级别。操作系统运行在R0上,而用户程序运行在R3上。X86架构在向64位扩展时,采用的方法之一就是通过去掉中间的特权级别——R1和R2。几乎没有人注意到它们消失了,除了那些使用虚拟化技术的特定人群。
像VMware这类软件模式的虚拟化机(Virtual Machines,以下简称VM)显然必须运行在R0级别上,但如它们要想保持完全控制权,就必须使操作系统在这个级别之外。最显而易见的解决办法是强迫主机操作系统运行在一个较低级别的环中,如R1。它们的部分代码原先被设定为从R0到R3,而不是R1到R3。虽然在PV环境中,你能修改操作系统从而使它工作得很好,但如果你要找到一个圆满的解决方法,就必须使操作系统工作在R1级别中。
可如此一来又出现问题了,有些指令只有当它们从R0级里发出或发往R0级时才会工作,如果不在正确的环中,这些指令会运作得很古怪。如果你试图这么去做,会有很不好的后果。让代码在正确的环中执行确实能防止操作系统破坏VM,同时也防止运行在主机操作系统上的软件破坏操作系统自身。这就是所谓的“0/1/3”模式。
还有一种模式被称为“0/3”模式。这种模式将VM放入R0级别中运行,而将操作系统和用户程序都放入R3级别中。但从本质上而言,它还是像“0/1/3”模式一样去处理其他事情。在R3级别里,有特权的操作系统能更轻松地执行用户程序,由于不存在环的阻隔,也使它运行的更快一些,但系统稳定性不佳。
另外一个方式去使用“0/3”模式,就是让CPU保有两份运行于R0级别中的事物的页表。一份为操作系统,另一份为运行在R3级别中的老程序。这样可拥有一份完整的存储器保护集,用来把用户程序隔离到操作系统空间之外。当然,这同样需要消耗性能,只是以不同的方式罢了。
概括来说,在“0/1/3”模式中,系统安全性更高一些,但从R3到R1、R3到R0或R1到R0转换时性能会受到一些影响,反过来也是。在“0/3”模式中,只存在R0与R3之间的转换,所以它潜在的比一个非主机操作系统运行得更快一些。但如你碰到一个问题,“0/3”模式比“0/1/3”模式更容易出现蓝屏。尽管未来将广泛使用“0/3”模式,主要是因为上文我们提到向在64位扩展时已去掉了R1和R2,所以你必须被迫使用“0/3”模式。对计算机而言,这被称作是进步,同样,毁灭性的崩溃被认为是“古怪”行为。
理论上,如果你可忍受一点不稳定性,或者在“0/1/3”模式中牺牲一点速度,那么应该说的很完美的。可它们在某些方面确实还存在一些缺陷,主要存在以下4点。首先是那些检验指令自己所在环的指令,另外是那些处在错误的环中却没有正确保护CPU现场的指令。最后两点是截然相反的,就是那些应引发错误却没有导致错误的指令,以及那些本不该导致错误却引发许多错误的指令。所有这些都让编写VM的天才程序员们活得不轻松。
其中第一点是显而易见的。如果你给予操作系统R1级别的特权,当它检验自己运行所处的环时,它会返回1而不是0。如果此时运行于该系统的一段程序期望自己应该处在R0环时,那么它会因为得到的是R1而导致错误。这会导致蓝屏的出现,存储器清除或另一些不理想的后果。二元码转译技术可捕捉到这种错误,并把返回值伪装成0,但这意味着需要几十上百条指令来完成这一工作,显然速度受到极大影响。
保护现场是一个潜在的更糟糕的问题,有些CPU里的东西在上下文开关程序中并不是很容易被保存的。那些隐藏的段寄存器状态就是一个很好的例子。一旦它们被载入主存,其中一部分无法被保存,导致内存常驻部分和CPU中实际值间的不同而引起意外中断。当然我们可为它们设立工作区,但这样做极为复杂且需付出很高的代价使之表现得聪明一些。
那些本该引起某些问题却没有导致这些问题的指令也是摆在我们眼前的一道难题。如果你期望一条指令应在你后面的设计的中断陷阱中造成错误,但却没有,这一点也不会让人因为没有错误而高兴。与此相反的情况也极为常见,如果不在正确的环中向CR0和CR4写入,则会产生错误,导致系统崩溃。虽然这两种错误在你不注意时可被修正,但却造成很多性能损失。
整个所涉及到的虚拟化技术就是要将操作系统放在一个它本不应该在的地方,不断地运转去尝试解决所有扑来的问题。存在许多问题,这些问题也不断的发生,所以性能损失也就没什么奇怪的了。 Intel的VT技术能解决这些困扰。VT的目的是在尽可能最小化程序员痛苦的同时尽可能多的增加“virtualization holes”(虚拟化孔)。这种解决方案中,VT-X针对X86而VT-i针对Itanium,分别引入了一种新的模式针对不同的CPU。这里我们主要来看看VT-X,实际上VT-i的功能与VT-X有很多相同的地方。
这种新的模式被称为VMX,并且引入了一个虚拟化机监控器VMM运行于其中。它被设定在R0级别下,你可以认为是R-1级或者看成是在环的旁边运行。主机操作系统和所有的程序在VMX模式中运行,与此同时VMM运行在VMX根模式中。
任何一个运行在VMX模式下的操作系统,都拥有所有运行于非VT系统中的一般操作系统的功能和特性。它也处在R0级别中,与平常一样有权利处理每一件事情,而且并不知道有什么东西正在它的旁边运行。当情况得到授权,CPU进入VMX根模式,VMM就可以切换到其他一个运行在另一VMX实例的操作系统。这些切换被称做VM登录和VM退出。
VT技术所表现出来的不可思议的地方就在于它将从VMX模式到VMX根模式(或从VMX根模式到VMX模式)的登录和退出处理易于操作。一旦主机操作系统被涉及到,那它一定是独自处在自己的世界里的,你必须保存虚拟化世界的完整状态并当你返回时重新载入它。虽然在VT里还有很多事物要去处理,但它被设计为一项任务,所以客观地说它实际是一个简单而并不费力的进程。
因为每一个操作系统实例都在正确的位置运行,所以前面所提到的4个问题也就不存在了。相关联的工作区也不再需要,与此有关的系统开销没有了。这些能有效提高速度。但这些并非免费,只是付出的代价要少很多。
启动一个新的主机操作系统,你需为其留出一块4kB的存储区并将它传递给一个VMPTLRD指令。这块区域将用来存储该系统实例不被激活时的所有状态和重要Bit位。只要该操作系统实例存在,则这块区域一直有效,直到在其上运行一条VMCLEAR指令。这样就设立了一个虚拟化机实例。
如果你想要把控制权交给虚拟化机,你要么登录VMX非根模式或简单一点,运行VMX模式即可。这些提到的VM登录指令就是VMLAUNCH和VMRESUME,两者并没有太大的区别。VMRESUME指令只是简单地从刚开始已经初始化的4kB存储区里载入CPU状态,并把控制权交给主机操作系统。VMLAUNCH做的也是同样的工作,但它会启动一个虚拟化机控制构件VMCS,它包含一些设立VM的现场背后的记录,因为这需花费一些时间,所以人们尽量避免在并发登录时使用VMLAUNCH。
从这一点来看,主机操作系统开始了它的愉快之旅,尽可能地运转,毫无察觉是否有其他东西正在它的一旁运行。正如过去所计划的一样,它存在于自己的世界里,全速运行,或接近全速。唯一的问题是你如何打破这一切美好的景象而将它关闭到一边,以使得机器里的其他操作系统能真正运行。这就是VT技术所体现出来的复杂的一面——VMCS中一些特别的位映像。
这些位映像是一些32位的字段,每一个Bit位标志一个事件。如果某个事件被触发,则对应的Bit位被置位,CPU触发一条VM退出指令,并将控制权返还给运行在VMX根模式下的VMM。VMM可做任何想做的事,然后将VMRESUME指令传递给下一个操作系统,或刚离开的那个操作系统。这个被启动的操作系统同样很好地运行着,直到触发另一条VM退出指令。如此这样以每秒上千次的速度重复着。
什么能触发这些指令呢?它们可以是引脚信号、CPU、异常和页面错误这些平台事件,所有这些都会触发VM退出指令。VT技术的完美之处在于它有很强的适应性,另一个与此类似之处就是在调试程序中设置断点,你可在每个事件上都设置一个,或者一个也不设置,这都取决于你自己。
引脚信号事件要做的是当有一个内部中断或一个不可屏蔽中断发生时,则触发退出指令。而CPU事件,则是当你设置任意Bit位在某一字段,当相应的CPU状态接收到它时,则触发退出指令。虽然大多数指令需要去设置,但也有一些指令无条件地引发VM退出指令。这是在一个非常细小的层面上控制VM,允许每当你需要时登录和退出。
异常位映像也是一些32位的字段,每个Bit位标志每个32位指令地址的异常情况。如果Bit位被设定并有一个异常被抛出,它就会引发VM退出指令。如果Bit位是空的或没有异常,那么主机操作系统则继续它的快乐之旅,与平常一样。这是一种从VMX模式退出而进入VMX根模式的系统开销非常低的方法。
最后还有页面错误退出,它与异常退出十分相像,只不过它用两个32位字段来控制。这些字段内的Bit位对每一个可能出问题的页面错误代码进行映像,因此你可细心地从中挑选从哪里退出。同样,它也是基于很细小的层面,系统开销也很低。
在计算机里,VT工作在一个比传统的R0环更有特权的级别中。任何一个主机操作系统都可在没有改变的旧有架构下运行,并且不知道一个控制程序在控制它们。当遭遇到某些用户设置的触发器,控制权将被转交给运行在更高级别的VMX根模式上的VMM。因为这是一种被动触发事件,而不需被积极监视,因此系统开销降到了最低限。
VT技术使得安装和卸载那些比以往VM模式更稳定的运行环境变得简单。如果你需运行虚拟化系统,没有理由不用一个拥有Vanderpool功能的CPU去实现它,而软件虚拟化机会逐渐不被人关注。
这也许不错,但必须记得,这必须付出代价。每一次登录意味着建立4kB的存储区域,每一次退出要向这4kB存储区内写入数据。这看上去有些耗费过多,可与那些较老的方式比较,它的速度惊人地快。 Intel的VT技术给人们带来了惊喜,它让我们可在硬件级别上完成计算机的虚拟化工作。目前时机成熟了,Intel将首先在其桌面CPU中引入该技术,最新的Pentium 4 6系列CPU就支持VT,这让更多的用户都能涉足到新技术的应用,大大提高了用户使用CPU的效率,编写VMM不再那么困难了。
不过我们也要清醒地认识到,现有的虚拟化技术不会马上消失,相反它们会变得更为普遍且系统开销问题也正得到改善,而大型服务器提供商们也不会在现有的技术上发生巨大的变化,毕竟目前还用得过去。加上AMD公司也发布了在其64位CPU上使用Pacifica虚拟化技术,因此VT想要取代现有的计算机虚拟化技术或得到人们的认同还需一段时间。可我们相信硬件级别的虚拟化技术毋庸置疑的是未来计算机发展的方向,有着灿烂的前途。

7. 虚拟存储系统可以在任何计算机上实现么

虚拟存储基于软件实现,理论上是可以在任何计算上实现的。

其实虚拟化技术并不是一件很新的技术,它的发展,应该说是随着计算机技术的发展而发展起来的,最早是始于70年代。由于当时的存储容量,特别是内存容量成本非常高、容量也很小,对于大型应用程序或多程序应用就受到了很大的限制。

(7)虚拟化计算机存储平台扩展阅读:

虚拟文件系统存储方案着重解决大规模网络中文件共享的安全机制问题。通过对不同的站点指定不同的访问权限,保证网络文件的安全。在实际应用中,虚拟文件系统存储方案以非对称式拓扑结构为表现形式。

虚拟存储提供了一个大容量存储系统集中管理的手段,由网络中的一个环节(如服务器)进行统一管理,避免了由于存储设备扩充所带来的管理方面的麻烦。

8. 虚拟化有哪些应用

虚拟化技术具有可以减少服务器的过度提供、提高设备利用率、减少IT的总体投资、增强提供IT环境的灵活性、可以共享资源等优点,但虚拟化技术在安全性能上较为薄弱,虚拟化设备是潜在恶意代码或者黑客的首选攻击对象。
目前常用的虚拟软件有VMware、VirtualPC以及微软在推的windowssever2008中融入的Hyper-v1.0。自从全球经济危机开始,虚拟化技术被广大企业迅速应用,2009年也是虚拟化技术大潮兴起的一年。
1、高校信息化建设中的应用
高校信息化建设从20世纪90年代开始,已经经历了单机环境、C/S架构、B/S架构、SOA等多个发展阶段。目前,高校信息化建设已经涉及到高校的教学、科研、管理、生活、服务等相关领域,所需要的计算机平台、存储环境和网络环境多种多样,随之也带来了IT基础设施的资源利用率低和管理成本高等问题。将虚拟化技术应用到高校信息化建设中,既能提高高校信息基础设施的效率,也能提升信息化基础平台的可靠性和可维护性,降低IT相关管理成本。
2、企业管理上的应用
企业应用虚拟化技术时,主要集中在与对企业服务器虚拟化管理以及企业信息化建设应用中。

虚拟化技术在云计算中的应用
1、服务器虚拟化
服务器虚拟化技术可以在单一的物理服务器上运行多个虚拟服务器,并且为虚拟服务器提供了能保证其正常运行的硬件资源抽象,比如虚拟BIOS、虚拟CPU、虚拟内存、虚拟I/O设备等等,同时还可以使虚拟机具备良好的隔离性和安全性。在云计算中,服务器虚拟化技术也可以将一个云计算服务器虚拟成若干个服务器使用,但服务器虚拟化需要具有封装性、多实例、隔离性和高性能这些特性,才能保证在实际环境中进行有效的运用。封装性指的是硬件无关性,意思是在使用了服务器虚拟化技术后,一个完整的虚拟机环境对外表现为一个单一的实体,便于在不同的硬件间备份、移动和复制等。多实例是指在一个云计算物理服务器上,支持多个客户操作系统,运行多个虚拟服务器。隔离性是指当服务器虚拟化为多个实例时,一个虚拟机与其他虚拟机能够完全隔离。使用隔离机制的好处是即使其中的一个或几个虚拟机因意外发生崩溃,其他的虚拟机也不会泄露数据,受到任何影响,保障了数据的安全。高性能是指服务器虚拟化的性能损耗要被控制在可以承受的范围之内。
2、网络虚拟化
通常网络虚拟化包括虚拟专用网和虚拟局域网。由于虚拟专用网抽象了网络连接,所以远程用户可以像物理连接一样访问组织内部的网络。而且虚拟专用网还可以防止来自Internet或Intranet中其他网段的威胁,使用户能够安全、快速地访问数据,极大的帮组了网络管理员对网络安全的管理。虚拟局域网技术可以使其内部的通信类似物理局域网,将多个物理局域网划分到一个虚拟的局域网中,同时也可以将一个物理局域网划分成多个虚拟局域网。目前虚拟专用网和虚拟局域网在云平台搭建中均有使用,成为云计算服务的一个重要支撑技术。
3、存储虚拟化
网络存储系统随着信息业务的不断发展已经成为企业的核心平台,随着企业高价值数据的应用,对网络存储平台的要求也越来越高。网络存储平台性能的好坏直接影响企业整个云平台的运行,因此对网络存储平台的存储容量、数据传输、数据管理和运行、扩展能力上都提出了更高的要求。正因为这个原因,存储虚拟化技术应运而生。
云存储是一个以数据存储和管理为核心的云计算系统,是一个复杂的存储虚拟化、自动化的过程。通常在云计算构架中,云用户终端没有任何的储存设备,他们只管享用云中的存储服务,不必了解具体的存储过程,也不需拥有具体的存储设备。使用存储虚拟化技术可以将逻辑存储单元整合在广域网范围内,并且存储单元从一个磁盘阵列移动到另一个磁盘阵列上时可以不需要停机。云计算存储系统中使用存储虚拟化技术可以大幅简化存储资源的分配与管理,提高硬件利用率。数据管理员只需要通过通用的管理界面就能对数据进行管理和控制,大大减少了交互操作的工作。
4、桌面虚拟化
桌面虚拟化可以解除用户的桌面环境和终端设备的耦合关系。用户的完整桌面环境可以存储在服务器中,桌面虚拟化技术可以让用户通过不同的具备有足够显示功能和处理能力的终端设备通过网络来访问桌面环境。比如用户或维护人员可以通过智能手机、个人电脑或者平板电脑等终端设备通过网络来配置PC或其他客户端设备,而不必去每个用户的桌面管理这么多的客户机,大大减轻了维护工作量,也加强了对客户端设备的管理和控制。

9. 说一说什么是虚拟化

一、什么是虚拟化

虚拟化是一个广义的术语,是指计算元件在虚拟的基础上而不是真实的基础上运行,是一个为了简化管理,优化资源的解决方案。如同空旷、通透的写字楼,整个楼层几乎看不到墙壁,用户可以用同样的成本构建出更加自主适用的办公空间,进而节省成本,发挥空间最大利用率。这种把有限的固定的资源根据不同需求进行重新规划以达到最大利用率的思路,在IT领域就叫做虚拟化技术。

虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显着提高计算机的工作效率。

虚拟化技术与多任务以及超线程技术是完全不同的。多任务是指在一个操作系统中多个程序同时并行运行,而在虚拟化技术中,则可以同时运行多个操作系统,而且每一个操作系统中都有多个程序运行,每一个操作系统都运行在一个虚拟的CPU或者是虚拟主机上;而超线程技术只是单CPU模拟双CPU来平衡程序运行性能,这两个模拟出来的CPU是不能分离的,只能协同工作。

虚拟化技术也与VMware Workstation等同样能达到虚拟效果的软件不同,是一个巨大的技术进步,具体表现在减少软件虚拟机相关开销和支持更广泛的操作系统方面。

虚拟化技术有很多定义,下面就给出了一些这样的定义。

“虚拟化是以某种用户和应用程序都可以很容易从中获益的方式来表示计算机资源的过程,而不是根据这些资源的实现、地理位置或物理包装的专有方式来表示它们。换句话说,它为数据、计算能力、存储资源以及其他资源提供了一个逻辑视图,而不是物理视图。” —— Jonathan Eunice, Illuminata Inc。

“虚拟化是表示计算机资源的逻辑组(或子集)的过程,这样就可以用从原始配置中获益的方式访问它们。这种资源的新虚拟视图并不受实现、地理位置或底层资源的物理配置的限制。” —— Wikipedia

“虚拟化:对一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看并维护资源。” —— Open Grid Services Architecture Glossary of Terms。

10. 什么是虚拟化技术请说明计算机信息化的概念及资源类型列举虚拟化典型平台并对

摘要 1 虚拟化技术