计算,存储,通信
虚拟化(Virtualization)技术是云计算系统的核心组成部分之一,是将各种计算及存储资源充分整合和高效利用的关键技术。
虚拟化的定义:虚拟化是为某些对象创造的虚拟(相对于真实)版本,比如操作系统、计算机系统、存储设备和网络资源等。它是表示计算机资源的抽象方法,通过虚拟化可以用与访问抽象前资源一致的方法访问抽象后的资源,可以为一组类似资源提供一个通用的抽象接口集,从而隐藏属性和操作之间的差异,并允许通过一种通用的方式来查看和维护资源。
服务器虚拟化
服务器虚拟化技术可以使一个物理服务器虚拟成若干个服务器使用。服务器虚拟化是基础设施即服务(Infrastructure as a Service,IaaS)的基础。服务器虚拟化需要具备以下功能和技术:
1) 多实例:在一个物理服务器上可以运行多个虚拟服务器。
2) 隔离性:在多实例的服务器虚拟化中,一个虚拟机与其他虚拟机完全隔离,以保证良好的可靠性及安全性。
3) CPU虚拟化:把物理CPU抽象成虚拟CPU,无论任何时间一个物理CPU只能运行一个虚拟CPU的指令。而多个虚拟机同时提供服务将会大大提高物理CPU的利用率。
4) 内存虚拟化:统一管理物理内存,将其包装成多个虚拟的物理内存分别供给若干个虚拟机使用,使得每个虚拟机拥有各自独立的内存空间,互不干扰。
5) 设备与I/O虚拟化:统一管理物理机的真实设备,将其包装成多个虚拟设备给若干个虚拟机使用,响应每个虚拟机的设备访问请求和I/O请求。
6) 无知觉故障恢复:运用虚拟机之间的快速热迁移技术(Live Migration),可以使一个故障虚拟机上的用户在没有明显感觉的情况下迅速转移到另一个新开的正常虚拟机上。
7) 负载均衡:利用调度和分配技术,平衡各个虚拟机和物理机之间的利用率。
8) 统一管理:由多个物理服务器支持的多个虚拟机的动态实时生成、启动、停止、迁移、调度、负荷、监控等应当有一个方便易用的统一管理界面。
9) 快速部署:整个系统要有一套快速部署机制,对多个虚拟机及上面的不同操作系统和应用进行高效部署、更新和升级。
存储虚拟化
存储虚拟化的方式是将整个云系统的存储资源进行统一整合管理,为用户提供一个统一的存储空间。
存储虚拟化具有以下功能和特点:
1) 集中存储:存储资源统一整合管理,集中存储,形成数据中心模式。
2) 分布式扩展:存储介质易于扩展,由多个异构存储服务器实现分布式存储,以统一模式访问虚拟化后的用户接口。
3) 节能减排:服务器和硬盘的耗电量巨大,为提供全时段数据访问,存储服务器及硬盘不可以停机。但为了节能减排,需要利用更合理的协议和存储模式,尽可能减少开启服务器和硬盘的次数。
4) 虚拟本地硬盘:存储虚拟化应当便于用户使用,最方便的形式是将云存储系统虚拟成用户本地硬盘,使用方法与本地硬盘相同。
5) 安全认证:新建用户加入云存储系统前,必须经过安全认证并获得证书。
6) 数据加密:为保证用户数据的私密性,将数据存到云存储系统时必须加密。加密后的数据除被授权的特殊用户,其他人一概无法解密。
7) 级层管理:支持级层管理模式,即上级可以监控下级的存储数据,而下级无法查看上级或平级的数
据。
应用虚拟化
应用虚拟化是把应用对底层系统和硬件的依赖抽象出来,从而解除应用与操作系统和硬件的耦合关系。应用程序运行在本地应用虚拟化环境中时,这个环境为应用程序屏蔽了底层可能与其他应用产生冲突的内容。应用虚拟化是SaaS的基础。应用虚拟化需要具备以下功能和特点:
1) 解耦合:利用屏蔽底层异构性的技术解除虚拟应用与操作系统和硬件的耦合关系。
2) 共享性:应用虚拟化可以使一个真实应用运行在任何共享的计算资源上。
3) 虚拟环境:应用虚拟化为应用程序提供了一个虚拟的运行环境,不仅拥有应用程序的可执行文件,还包括所需的运行环境。
4) 兼容性: 虚拟应用应屏蔽底层可能与其他应用产生冲突的内容,从而使其具有良好的兼容性。
5) 快速升级更新:真实应用可以快速升级更新,通过流的方式将相对应的虚拟应用及环境快速发布到客户端。
6) 用户自定义:用户可以选择自己喜欢的虚拟应用的特点以及所支持的虚拟环境。
平台虚拟化
平台虚拟化是集成各种开发资源虚拟出的一个面向开发人员的统一接口,软件开发人员可以方便地在这个虚拟平台中开发各种应用并嵌入到云计算系统中,使其成为新的云服务供用户使用。
平台虚拟化具备以下功能和特点:
1) 通用接口:支持各种通用的开发工具和由其开发的软件,包括C、C++、Java、C#、Delphi、Basic
等。
2) 内容审核:各种开发软件(服务)在接入平台前都将被严格审核,包括上传人的身份认证,以保证软件及服务非盗版、无病毒及合法性。
3) 测试环境:一项服务在正式推出之前必须在一定的测试环境中经过完整的测试才行。
4) 服务计费:完整合理的计费系统可以保证服务提供人获得准确的收入,而虚拟平台也可以得到一定比例的管理费。
5) 排名打分:有一整套完整合理的打分机制对各种服务进行排名打分。排名需要给用户客观的指导性意见,严禁有误导用户的行为。
6) 升级更新:允许服务提供者不断完善自己的服务,平台要提供完善的升级更新机制。
7) 管理监控:整个平台需要有一个完善的管理监控体系以防出现非法行为。
桌面虚拟化
桌面虚拟化将用户的桌面环境与其使用的终端设备解耦。服务器上存放的是每个用户的完整桌面环境。用户可以使用具有足够处理和显示功能的不同终端设备通过网络访问该桌面环境。
桌面虚拟化具有如下功能和接入标准:
1) 集中管理维护:集中在服务器端管理和配置PC环境及其他客户端需要的软件可以对企业数据、应用和系统进行集中管理、维护和控制,以减少现场支持工作量。
2) 使用连续性:确保终端用户下次在另一个虚拟机上登录时,依然可以继续以前的配置和存储文件内
容,让使用具有连续性。
3) 故障恢复:桌面虚拟化是用户的桌面环境被保存为一个个虚拟机,通过对虚拟机进行快照和备份,就可以快速恢复用户的故障桌面,并实时迁移到另一个虚拟机上继续进行工作。
4) 用户自定义:用户可以选择自己喜欢的桌面操作系统、显示风格、默认环境,以及其他各种自定义功能。
本质上讲云计算带来的是虚拟化服务。从虚拟化到云计算的过程,实现了跨系统的资源动态调度,将大量的计算资源组成IT资源池,用于动态创建高度虚拟化的资源供用户使用,从而最终实现应用、数据和IT资源以服务的方式通过网络提供给用户,以前所未有的速度和更加弹性的模式完成任务。
/////////////////////////////////////////////////////////////////////
********************************************************************
/////////////////////////////////////////////////////////////////////
云计算;分布式计算;虚拟化技术;网格计算
1 引言
随着时代的发展,人们对数据的海量存储和超级计算能力提出了更高的要求,这在过去几十年里促进了硬件的发展,使芯片集成度符合摩尔定律呈指数增长,但是硬件毕竟受物理极限的约束。另外,由于传统并行编程模型应用的局限性,客观上要求一种容易学习、使用、部署的新的并行编程框架。[1]因此,云计算的概念产生了。
云计算的思想可以追溯到20世纪60年代,John McCarthy曾经提到“计算迟早有一天会变成一种公用基础设施”。1983年,太阳电脑(Sun Microsystems)提出“The Network is the computer”。2006年Google首次提出“云计算”的概念,之后,云计算逐渐成为产业界和学术届的研究热点。
2 云计算概述
2.1 云计算的定义
对于云计算,目前尚未形成统一的定义,各云计算供应商对自己的云计算产品给出了不同的云计算定义。目前广为认同的一点是,云计算是分布式处理、并行处理和网格计算的发展,或者说是这些计算机科学概念的商业实现。[2]
定义:云计算(Cloud Computing)是基于互联网的商业计算模型。它利用高速互联网的传输能力,将数据的处理过程从个人计算机或服务器移到互联网上的服务器集群中。这些服务器由一个大型的数据处理中心管理着,数据中心按客户的需要分配计算资源,达到与超级计算机同样的效果。[3]
2.2云计算的特点
通常云计算系统具备以下特征:
一、基于虚拟化技术。云计算把虚拟化技术作为提供自己底层技术的平台,用户无需自己建立数据中心,通过虚拟平台进行资源管理,由云服务提供商提供所需要的信息。[4]这样做一方面降低了维护成本,另一方面通过在一个服务器上部署多个虚拟机和应用,提高了资源利用率。
二、开放性和可扩展性。云计算必须保证随时可能为用户提供服务,可以根据用户的需求动态的分配资源,这样可提高资源的利用率,减少资源的浪费。
三、高可靠性。当某个节点发生故障时,云计算系统会将数据备份到其它节点,使整个系统正常运行。
四、高性价比。云计算系统由大量的低配置机群组成,因而与具有相同性能的超级计算机相比,其花费的资金要少得多。
五、超大规模。为了具有超计算能力和海量存储,云计算系统通常由成千上万的计算机组成,如Google云计算已经拥有100多万台服务器,Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。[5]
2.3 云计算的分类
对云计算的研究与应用目前尚处于起步阶段,不同的厂商按照各自的需求开发不同的云计算服务,大致可以分为以下几类[4]:
一、SaaS软件即服务。这是一种通过Internet向用户提供单一软件服务的模式,用户根据需要向厂商订购应用软件,按订购服务的多少和时间长短向厂商付费。这种模式在人力资源管理和ERP中比较常见。
二、实用计算。这种云计算将内存,I/O,存储和计算容量通过网络集成为一个虚拟资源池,为整个网络提供服务。
三、网络服务。这与SaaS类似,网络服务供应商们提供API,让开发者开发基于互联网的应用程序。
四、平台即服务。这种云计算把开发环境作为一种服务,用户可以使用中间商的设备来开发程序,并通过互联网及其服务器传到用户手中。
五、MSP(管理服务提供商)。这是云计算最古老的形式之一,面向IT厂商而并非最终用户,诸如用于电子邮件的病毒扫描服务或者应用软件监控服务、桌面系统管理服务等。
六、商业服务平台。它是SaaS、MSP的混合应用,这种云计算为用户和提供商之间的互动提供了一个平台。
七、云计算集成。通过把多家SaaS供应商联合在一起来为客户提供完整的服务。
3 云计算工作原理及相关技术
3.1 云计算工作原理
云计算通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将更与互联网相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。[6]这意味着计算能力也像煤气、水、电一样,可以作为一种商品进行流通。图1为云计算模型的示例图。
图1 云计算示例图
3.2 云计算相关技术
一、SOA技术。云计算一般是通过互联网以Web服务的形式实现的,因此通常会涉及SOA技术。在许多方面,云计算可被视为SOA 后应用程序的扩展,并且已进入了应用程序和物理基础结构,由于企业和云提供商在寻求提供云解决方案,其基本目标就是将企业IT 基础结构作为一种服务来提供,因为基础结构层也作为服务来组织和提供,应用程序和物理基础结构非常类似于SOA 中的应用程序。[7]
二、并行编程模型。云计算必需提供新的编程模式使用户可以编写自己的程序来实现特定目的,云计算的编程模式必须简单以便于用户使用,云计算大部分采用Map-Reduce编程模式。Map-Reduce是一种处理和产生大规模数据集的编程模型,程序员在Map函数中指定对各分块数据的处理过程,在Reduce函数中指定如何对分块数据处理的中间结果进行归约。用户只需要指定map和reduce函数来编写分布式的并行程序。当在集群上运行Map-Reduce程序时,程序员不需要关心如何将输入的数据分块、分配和调度,同时系统还将处理集群内节点失败以及节点间通信的管理等。[8]图2为Map-Reduce的架构图。
图2 Map-Reduce架构图
三、数据存储。为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据,采用冗余存储的方式来保证存储数据的可靠性,以高可靠软件来弥补硬件的不可靠,从而提供廉价可靠的系统。[9]云计算的数据存储技术主要有谷歌的GFS(Google File System)和Hadoop开发团队开发的HDFS(Hadoop Distirbuted File System)。
四、数据管理。云计算系统必须能高效的管理大数据集,能在海量数据中找到特定数据。云计算的特点是对海量数据存储、读取后进行大量的分析,数据的读操作频率远大于数据的更新频率,对数据是一种读优化的数据管理。因此,云系统通常采用数据库领域中列存储的数据管理模式。云计算数据管理技术有Google的BigTable和Hadoop的HBase等。
4 云计算与网格计算
网格计算通常分为两类:一类是在分布式的计算资源支持下作为服务被提供的在线计算或存储。另一类是一个松散连接的计算机网络构成的一个虚拟超级计算机,可用以执行大规模任务。云计算是网格计算的进一步发展,所以二者有很多相似性,同时存在一定的差异。
一、目标上的差异。网格计算通常是通过特定的网格软件,将一个庞大的项目分解为无数个相互独立的、不太相关的子任务,然后交由各个计算节点进行计算。即使某个节点出现问题也不影响整个项目的进程。而云计算是通过互联网将数据中心的各种资源打包成服务向外提供。虽然云计算也将所有的资源构筑成一个庞大的资源池,但是云计算向外提供某个资源,是为了完成某个特定的任务。所以网格计算一般是为完成特定的任务,而云计算是为了通用应用而设计的。
二、分配资源方式的差异。网格作业调度系统自动找寻与该任务相匹配的资源,然后寻找空闲的物理节点,将任务分配过去直至完成。虽然网格计算能够实现跨物理机进行并行作业处理,但是需要用户将并行算法写好,并且通过调度系统将作业分解到各个不同的物理节点进行。而云计算是通过虚拟化将物理机的资源切割,从而实现资源的随需分配和自动增长。
5 云计算面临的问题
云计算作为一种新兴的技术,在逐渐成为人们研究热点的同时,也相继出现了一些问题,面临严峻的挑战。
一、没有统一的标准。没有统一的标准,各公司按各自的标准开发自己的云计算系统,这对目前云计算的小规模缺陷不十分明显,但随着云计算的发展会有很多问题。用户要使用某公司的云计算编程模型开发的应用程序要迁移到另一家公司的云计算平台很难,从而降低了云计算服务转移的弹性。[10]如果一个公司垄断了用户的云计算,该公司倒闭或被其它公司吞并,都将对用户产生严重后果。
二、产业链不够成熟。当前云计算的厂商主要基于互联网对外提供计算能力服务,将云计算本身作为商业机密不对外提供产品。这使得企业部署自己的云有一定的挑战,缺乏技术厂商的支持。因此,有待进一步撬动产业链的发展,推动整个产业的成熟。[9]
三、数据安全性。云计算中数据的安全性问题一直是人们质疑的焦点。通常,用户都希望自己所存放的数据是秘密的,而企业数据一般都有其机密性,可是把数据交给云服务商后,最具有数据掌控权的已不再是用户本身,而是云计算服务商,虽然在理念上云计算服务商不应具备查看、修改、删除、泄露这些数据的权利,但是实际操作中却具有这些操作的能力。如次一来,就不能排除数据被泄露出去的可能性。[11]另外,大量黑客觊觎云计算数据,一旦他们打开服务器上的缺口,对相应的用户将造成严重的后果。
分享到:
相关推荐
全称:Cloud Computing Virtualization Specialist Complete Certification Kit - Study Guide Book and Online C 目录: FOREWORD____________________________ 1 1 INTRODUCTION______________________ 8 1.1 WHAT...
Cloud Computing and Virtualization 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Virtualization&PrivateCloud - CN.pptx
而云计算服务提供商,如Amazon Web Services (AWS)、Microsoft Azure和Google Cloud Platform (GCP),则构建了庞大的数据中心网络,提供各种云服务,包括计算、存储、数据库和分析等。 总结来说,虚拟化和云计算是...
From the fundamentals of setting up a standalone KVM virtualization platform, and the best tools to harness it effectively, including virt-manager, and kimchi-project, everything you do is built ...
From the fundamentals of setting up a standalone KVM virtualization platform, and the best tools to harness it effectively, including virt-manager, and kimchi-project, everything you do is built ...
### 云存储中的文件虚拟化管理 随着信息技术的迅速发展,云存储因其众多的优势而备受企业和组织的青睐。本文将围绕“云存储文件的虚拟化管理”这一主题展开论述,探讨其实现方式及其对云存储的重要性。...
云安全和虚拟化(Cloud Security & Virtualization):9个PPT 应用加密和区块链(Applied Crypto & Blockchain):11个PPT 移动和物联网安全(Mobile & IoT Security):4个PPT DevSecOps 和应用安全(DevSecOps ...
This book assumes that you are familiar with cloud computing platforms, and have knowledge of virtualization, networking, and managing Linux environments. Table of Contents Installing OpenStack with...
该解决方案的核心组件包括H3Cloud构成机架服务器、云业务单元、刀片服务器、存储Cloud Ready Network、CAS(Cloud Automation System)软件套件、CVK(Cloud Virtualization Kernel)、CVM(Cloud Virtualization ...
The authors address topics covering scalability, elasticity, reliability, resiliency, recovery, data management, storage, virtualization, monitoring, provisioning, administration, and much more....
1. Android Virtualization:Android虚拟化是Google提出的一种技术,它允许在同一台设备上同时运行多个Android实例。这些实例可以是不同的Android版本,甚至是不同的设备配置。 2. Cuttlefish:Cuttlefish是一种...
云计算OpenStack Cloud Computing Cookbook 英文电子书.pdf Openstack以Python编程语言+Twisted软件框架编写。整合Tornado网页服务器、Nebula运算平台。遵循Open Virtualization Format、AMQP、SQLAlchemy等标准。所...
2. **云计算**(Cloud Computing):阐述云计算的概念、服务模型(如IaaS、PaaS、SaaS)、部署模式(公有云、私有云、混合云)以及相关的安全问题。 3. **虚拟化技术**(Virtualization):解释虚拟化的定义、分类...
3. **网络技术**:讲解云计算环境中的网络架构,如SDN(Software Defined Networking)和NFV(Network Functions Virtualization),以及VLAN、VXLAN等二层和三层网络技术在云环境中的应用。 4. **存储技术**:介绍...
and disaster recovery through virtualization Clustered systems for research or ecommerce applications Designing systems as web services Social networking systems using peer-to-peer computing