云计算基础架构及关键应用(txt+pdf+epub+mobi电子书下载)


发布时间:2021-03-10 06:04:07

点击下载

作者:陆平,赵培,王志坤

出版社:机械工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

云计算基础架构及关键应用

云计算基础架构及关键应用试读:

前言

早在20世纪90年代,云计算就已作为一种全新的技术模型被提出,但直到2007年,才因Google、亚马逊等云计算先驱将其付诸商业实践并获得丰厚利润,而得到业界的广泛重视。和互联网、物联网等技术一样,云计算是电子信息技术和信息社会需求发展到一定阶段的必然产物。从2007年至今,云计算已经成为人们进行信息交互与存储的重要模式,并成为大数据处理和深度挖掘的主要平台。

高盛研究在2015年的一份报告中指出,全球在云计算基础建设以及云平台上的花费将在2013~2018年间以年均30%的速率增长,而整个IT行业的预计增长仅有5%。面对这个蓬勃发展的市场,许许多多的咨询公司和研究机构都对其有着不同的预测。但是他们都一致认为,在全球范围内,云计算的发展正在加速。在巨大需求的刺激下,云计算核心得到快速发展,商业云计算与开源云计算技术在竞争中共同推进,而云计算与行业结合,也形成了形态各异、特色鲜明的电子政务云、教育云、医疗云、金融云、环保云、旅游云等云计算服务,云计算大数据的发展空间则更加广阔。

中兴通讯在云计算方面有多年的技术积累和应用实践。本书结合云计算最新技术趋势和中兴通讯的长期实践,对云计算技术进行系统的讲解,对云计算实践提供思路和建议。本书首先从云计算的需求和现状出发,分析目前云计算出现的问题。针对这些问题分析了IaaS云管理平台、IaaS云平台部署,并对PaaS(平台即服务)等进行了充分的探索和讨论。

本书由10章组成,各章主要内容如下。

第1章介绍了云计算的发展历史、基本模型及发展趋势。后续3章则对于计算、存储、网络虚拟化的主要技术分别进行阐述。其中,第2章对KVM、Xen、VMware等主要Hypervisor虚拟化技术以及容器虚拟化技术进行介绍,并阐明两类技术之间的关联。第3章以Ceph为例介绍分布式文件系统、分布式块存储、存储网关等存储虚拟化技术。2012年,在SDN(软件定义网络)和OpenFlow大潮的进一步推动下,网络虚拟化再度成为热点,第4章重点介绍业界主流的一些虚拟网络设备或者新网络架构。第5章通过介绍各厂商桌面和应用虚拟化解决方案,让读者对虚拟桌面的发展有全面的了解。第6章对各主流云管理平台进行介绍及对比后,对OpenStack平台进行了重点介绍。对在不同时间、不同团队采用不同语言开发和构建的几十甚至几百个应用进行评估,考虑如何迁移到云计算环境,需要对现有IT基础框架有深刻的理解和认识,以及对各种云资源所能提供的功能等各种细节有深入了解。接下来,通过对通用云、NFV云等部署方式的阐述,帮助读者在具体的云实践中可以更加有的放矢。第7章剖析了私有云、公有云、混合云的优势、适合场景、关键技术等,并结合OpenStack介绍了其构建及部署方式。第8章系统地介绍了NFV的架构及关键技术组成。第9章对业务链实现技术加以介绍,包括基本概念、架构及具体实现。

每一个新兴的计算技术都会迎来一个对应的新应用平台,在云计算时代,应用平台作为一种服务,通常被描述为平台即服务(PaaS)。第10章重点描述了PaaS平台的定义、应用场景以及功能与特点,并比较了业界主流的Cloud Foundry、OpenShift、Flynn、Deis、DINP等开源PaaS平台,为读者提供了选择开源PaaS平台的参考,另外介绍了PaaS平台Cloud Foundry的架构、工作机制及应用部署等知识。

本书适合高校及科研院所云计算研究人员、云计算开发者和工程人员阅读参考。本书的编写,除了各位编委之外,还得到了王晔、陈俊、高洪、张恒生、江滢等同事的大力支持,在此表示感谢!由于作者水平所限,书中难免存在不足之处,敬请广大读者批评指正。第1章云计算

在过去的几年里,云计算已成为新兴技术产业中最热门的领域之一,也是继个人计算机、互联网变革后的第三次IT浪潮,它将给生活、生产方式和商业模式等带来根本性的变革。据Gartner预测,到2018年,由于云计算的发展和普及,70%的专业人士将携带自有终端设备办公。云计算“一云多端”的特性将软件从本地硬件解放出来,也就是说,有了云计算,以前需要在本地进行的计算,大部分都可以基于互联网通过远程实现。这就是说,软件不再仅仅局限于某一个硬件设备。

作为一种技术和服务模式,云计算使得计算资源成为向大众提供服务的社会基础设施,它将对信息技术及其应用产生深刻影响。软件工程方法、网络和端设备的资源配置、获取信息和知识的方式等,无不因云计算而产生重大变化,它改变了信息产业现有业态,催生了新型的产业和服务。云计算带给了社会计算资源利用率的提高和计算资源获得的便利性,推动了以互联网为基础的传感网和物联网的迅速发展,并将更加有效地提升人类精准地感知世界、认识世界的能力,从而影响经济发展和社会进步。1.1云计算定义

对云计算(Cloud Computing)的定义有多种说法。对于到底什么是云计算,不同的人有不同的理解。在云计算发展的不同阶段,云计算的核心技术和服务方式也在不停地变化。现阶段广为人们所接受的是美国国家标准与技术研究院(NIST)的定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件、服务),这些资源能够被快速地提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。

2009年,中国云计算专家委员会对云计算做了定义:云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。1.2云计算发展历史

1983年,Sun公司就提出“网络是计算机”(The Network is the Computer)的概念,并推出了相关的工作站产品。

1999年,VMware推出了针对x86系统的虚拟化技术,旨在解决提升资源利用率方面存在的很多难题,并将x86系统转变成通用的共享硬件基础架构,以便使应用程序环境在完全隔离、移动性和操作系统方面有选择的空间,为云计算技术的发展和推广打下了基础。

2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SES San Jose 2006)上首次提出“云计算”的概念。Google“云端计算”源于Google工程师克里斯托弗·比希利亚所做的Google 101项目。

云计算的概念和理论基础首次出现在学术界。2007年10月,Google与IBM开始在美国大学校园,包括卡内基梅隆大学、麻省理工学院、斯坦福大学、加州大学柏克莱分校及马里兰大学等,推广云计算的计划,这项计划希望能降低分布式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持(包括数百台个人电脑、BladeCenter与System x服务器,这些计算平台提供了1600个处理器,支持Linux、Xen、Hadoop等开放源代码平台),而学生则可以通过网络开发各项以大规模计算为基础的研究计划。

2008年1月30日,Google宣布在中国台湾地区启动“云计算学术计划”,与台湾台大、交大等学校合作,将这种先进的云计算技术大规模、快速地推广到校园。

2008年2月1日,IBM公司宣布在中国无锡太湖新城科教产业园为中国的软件公司建立全球第一个云计算中心(Cloud Computing Center)。

2008年7月29日,雅虎、惠普和英特尔宣布一项包括美国、德国和新加坡在内的联合研究计划,推出云计算研究测试床,以推进云计算。该计划要与合作伙伴创建6个数据中心作为研究试验平台,每个数据中心配置1400~4000个处理器。这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺伊大学香槟分校、英特尔研究院、惠普实验室和雅虎公司。

2008年8月3日,美国专利商标局网站信息显示,戴尔申请了“云计算”(Cloud Computing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。

2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立计划,名为“可信任云计算计划”(Trusted Cloud Initiative)。

2010年4月8日,由剑桥大学发起的开源虚拟机Xen项目发布了4.0.0正式版。它支持64个虚拟CPU,主机支持1 TB RAM和128个物理CPU,推动云计算的加速发展。

2010年7月,美国国家航空航天局以及Rackspace、AMD、英特尔、戴尔等支持厂商共同宣布了OpenStack开放源代码计划。微软在2010年10月表示,支持OpenStack与Windows Server 2008 R2的集成;而Ubuntu已把OpenStack加至其11.04版本中。

观察图1-1所示的Gartner 2014新兴技术成熟度曲线,我们可以发现,云计算技术已经进入泡沫化的低谷期,即将进入爬升和高峰期。据业内预计,Gartner 2015新兴技术成熟度曲线中将不再出现云计算技术,这表示云计算已不再是“新兴”技术,而成为“主流”技术了。随着云计算技术的成熟,OpenStack、KVM等开源项目的不断成熟,VMware、IBM、惠普等云计算产品在行业市场的不断推广,以及Google、腾讯、百度、阿里巴巴等互联网企业对云计算的广泛应用,云计算作为主流技术,正无时无刻改变和影响着人们的生活,已经成为我们生活中必不可少的一部分。图1-1 新兴技术成熟度曲线1.3云计算的特征

云计算包括狭义的云计算和广义的云计算。狭义的云计算指IT基础设施的交付和使用模式,通过网络以按需、易扩展的方式获得所需资源,对应着云计算IaaS服务,目前业界如阿里云、亚马逊云都属于狭义云计算服务的范畴。广义的云计算指服务的交付和使用模式,通过网络以按需、易扩展的方式获得所有服务,通常通过互联网来提供动态的、易扩展的且经常是虚拟化的资源。这种服务可以是提供IT基础设施、软件或互联网相关的各种服务,也可以是其他类型的服务,如IaaS、PaaS、SaaS都属于广义云计算的范畴。“云”是网络、互联网的一种比喻说法,也用来表示互联网和底层基础设施的抽象。

通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统,类似于从传统的单台发电机模式转向电厂集中供电的模式。它意味着计算能力也可以作为一种商品进行流通,就像天然气、水、电一样,取用方便,费用低廉。而最大的不同在于,它是通过互联网进行传输的。

互联网上的云计算服务特征和供电、供水具有一定的相似性,应该具备以下几条特征:

·基于虚拟化技术快速获取资源并部署服务。

·根据服务负荷,动态地、可伸缩地调整服务对资源的使用情况。

·按需求提供资源,按使用量付费。

·通过互联网提供面向海量信息的处理。

·用户可以方便地通过互联网门户网站参与使用。

·可以减少用户终端的处理负担,降低用户终端的成本。

·降低用户对于IT专业知识的依赖。

·虚拟资源池为用户提供弹性服务。

云计算的含义包含以下两个方面:

1)IT硬件资源的云化,或者说IT资源的一种组织方式,称为IT资源池。这个池也是一种IT系统,但这个池中的IT资源不是孤立的,而是构成一个有机体,可以动态配置、灵活扩展、自动化管理。这个池用“云”这个概念来表示。

2)IT资源的使用模式,即服务化。过去IT资源是在用户端本地部署和使用的,现在是在云端部署的,并且以服务的方式对用户提供IT资源。用户通过网络访问这些服务。这种使用模式的好处是服务可以随时、随地、随需地获得,并根据资源使用情况付费。这种使用模式用“云服务”这个概念来表示。1.4IT建设的云计算趋势

云计算成为IT领域最令人关注的话题之一,也是当前大型企业、互联网的IT建设正在考虑和投入的重要领域。云计算的提出,引发了新的技术变革和新的IT服务模式。在这个过程中,企业内部IT服务模式经历了3个阶段。第一阶段:企业IT大集中过程

在这一过程中,企业将分散的数据资源、IT资源进行了物理集中,形成了规模化的、集中的数据中心基础设施,在这一过程中,也实现了企业IT资产的统一管理以及自动化运维。在数据集中过程中,不断实施数据和业务的整合,大多数企业的数据中心基本上完成了自身的标准化,使得既有业务的扩展和新业务的部署能够规划、可控,并以企业标准进行IT业务的实施,解决了数据业务分散时期的混乱无序问题。在这一阶段中,很多企业在数据集中后期也开始了容灾建设,特别是在自然界雪灾、大地震之后,企业的容灾中心建设普遍受到重视。以金融行业为例,在银监会、证监会的规范要求下,整个行业都开展了容灾建设,并且大部分容灾建设的级别都非常高,都是面向应用级容灾(以数据零丢失为目标)。总的来说,第一阶段解决了企业IT分散管理和容灾的问题。第二阶段:实施虚拟化的过程

在数据集中与实现容灾之后,随着企业的快速发展,数据中心IT基础设施扩张速度加快,但是系统建设成本高、周期长,即使是标准化的业务模块建设(哪怕是系统的复制性建设),软硬件采购成本、调试运行成本与业务实现周期并没有显著下降。标准化并没有给系统带来灵活性,集中的大规模IT基础设施出现了系统利用率低下的问题,不同的系统运行在独占的硬件资源中,效率低下而数据中心的能耗、空间问题逐渐凸显出来。因此,以降低成本、提升IT运行灵活性、提升资源利用率为目的的虚拟化开始在数据中心进行部署。虚拟化屏蔽了不同物理设备的异构性,将基于标准化接口的物理资源虚拟化为在逻辑上也完全标准化和一致化的逻辑计算资源(虚拟机)和逻辑存储空间。虚拟化可以将单台物理服务器虚拟成多台,在每台服务器上运行多种应用的虚拟机,实现物理服务器资源利用率的提升。由于虚拟化环境可以实现计算与存储资源的逻辑化变更,特别是虚拟机的克隆,使得数据中心IT实施的灵活性得到大幅度提升,业务部署周期可由数月缩短到一天。虚拟化后,应用以VM为单元部署运行,数据中心服务器数量可大为减少,且计算能效提升,使得数据中心的能耗与空间问题得到控制。

总的来说,第二阶段提升了企业IT架构的灵活性,使数据中心的资源利用率有效提高,而运行成本降低。同时由于虚拟机克隆技术的出现,业务部署周期大幅度缩短。第三阶段:云计算阶段

对企业而言,数据中心的各种系统(包括软硬件与基础设施)是一大笔资金投入。一方面,新系统(特别是硬件)在建成后一般经历3~5年即面临逐步老化,需要更换,而软件技术则将面临不断升级的压力。另一方面,IT的投入难以匹配业务的需求,即使进行了虚拟化也难以解决不断增加的业务对资源变化的需求,在一定时期内扩展性总是有所限制。于是企业IT产生新的期望蓝图:IT资源应能够弹性扩展、按需服务,将服务作为IT的核心,提升业务敏捷性,进一步大幅度降低成本。因此,面向服务的IT需求开始演化到云计算架构上。云计算架构可以由企业自己构建,也可采用第三方云设施,但基本趋势是企业将逐步采取租用IT资源的方式来实现业务需要,如同水力、电力资源一样,计算、存储、网络将成为企业IT运行的一种被使用的资源,无需自己建设,可按需获得。从企业角度而言,云计算解决了IT资源的动态需求和最终成本问题,使得IT部门可以专注于服务的提供和业务运营,而业务部门则可以更加关注应用系统的运行,不需要再为IT环境的搭建、硬件设备的损坏而烦恼。云服务的标准化也将是这一过程中的关键因素,服务标准化以后,企业也可以根据自身的需求,选择私有云服务或者公有云服务,甚至可以同时使用公有云和私有云服务,形成企业自身的混合云。

这3个阶段中,大集中与容灾面向数据中心物理组件和业务模块,虚拟化面向数据中心的计算与存储资源,云计算最终面向IT服务。这样一个演进过程,表现出IT运营模式的逐步改变,而云计算则最终根本改变了传统IT的服务结构,它剥离了IT系统中与企业核心业务无关的因素(如IT基础设施),将IT与核心业务完全融合,使企业IT服务能力与自身业务的变化相适应。在技术变革不断发生的过程中,网络逐步从基本互联网功能转换到Web服务时代(典型的Web 2.0时代),IT也由企业网络互通性转换到提供信息架构、全面支撑企业核心业务。技术驱动力为云计算提供了实现的客观条件。1.5云计算模型

对于云计算的分类,目前比较统一的方式是按服务的层次和云的归属两个维度进行划分。

按云服务的层次划分,不同的云服务商提供不同的服务,如资源租赁服务、应用设计服务、软件业务服务等,通常我们把云服务分为IaaS、PaaS、SaaS三层,如图1-2所示。图1-2 云服务分层

1)IaaS(Infrastructure-as-a-Service,基础设施即服务)。有时候也叫作Hardware-as-a-Service,几年前如果想在办公室或者公司的网站上运行一些企业应用,用户需要去买服务器,或者别的高昂的硬件来控制本地应用,让你的业务运行起来。但是现在有IaaS,用户可以将硬件外包到别的地方去。IaaS公司会提供场外服务器、存储和网络硬件,用户可以租用。这样就节省了维护成本和办公场地,公司可以在任何时候利用这些硬件来运行其应用。一些大的IaaS公司包括Amazon、Microsoft、VMWare、Rackspace和Red Hat,不过这些公司又各有自己的专长,比如Amazon和微软所提供的不只是IaaS,他们还会将其计算能力出租给用户来托管用户的网站。

2)PaaS(Platform-as-a-Service,平台即服务)。有时候也叫作中间件。用户所有的开发都可以在这一层进行,节省了时间和资源。PaaS在网上提供各种开发和分发应用的解决方案,比如虚拟服务器和操作系统,这节省了用户在硬件上的费用,也让分散的工作场所之间的合作变得更加容易。PaaS平台包括网页应用管理、应用设计、应用虚拟主机、存储、安全以及应用开发协作工具等功能。大的PaaS提供者有Google App Engine、Microsoft Azure、Force.com、Heroku、Engine Yard。最近新兴的公司有AppFog、Mendix和Standing Cloud。

3)SaaS(Software-as-a-Service,软件即服务)。这一层是每天和人们的生活相接触的一层,大多通过网页浏览器来接入。任何一个远程服务器上的应用都可以通过网络来运行,这就是SaaS。用户消费的服务完全是从网页,如Netflix、MOG、Google Apps、Box.net、Dropbox或者苹果的iCloud那里进入这些分类。尽管这些网页服务既可用作商务也可用于娱乐,或者两者都有,但这也算是云技术的一部分。一些用作商务的SaaS应用包括Citrix的GoToMeeting,Cisco的WebEx,Salesforce的CRM、ADP、Workday和SuccessFactors。

按云的归属来看,我们把云计算分为公有云、私有云和混合云,如图1-2所示。公有云一般由ISP构建,面向公众、企业提供公共服务,由ISP运营;私有云是指由企业自身构建的为内部使用的云服务;当企业既有私有云又采用公有云计算服务时,这两种云之间形成一种内外数据相互流动的形态,便是混合云的模式。1.6IaaS

IaaS作为云计算的主要服务之一,将基础架构进行云化,形成计算、存储和网络的虚拟化资源池,从而更好地为应用系统的上线、部署和运维提供支撑,提升效率,降低TCO。同时,由于IaaS包含各种类型的硬件和软件系统,因此在向云迁移的过程中也会面临前所未有的复杂性和挑战。那么,云基础架构包含哪些组件?主要面临哪些问题?有哪些主要的解决方法呢?

如图1-3所示,传统的IT业务部署架构是“烟囱式”的,或者叫作“专机专用”系统。在这种架构中,新的应用系统上线的时候需要分析该应用系统的资源需求,确定基础架构所需的计算、存储、网络等设备规格和数量。这种部署模式主要存在的问题有以下两点:

1)硬件高配低用。考虑到应用系统未来3~5年的业务发展,以及业务突发的需求,为满足应用系统的性能、容量承载需求,用户往往在选择计算、存储和网络等硬件设备的配置时会留有一定比例的余量。但硬件资源上线后,应用系统在一定时间内的负载并不会太高,这就使得较高配置的硬件设备利用率不高。图1-3 传统IT业务部署架构

2)整合困难。用户在实际使用中也注意到了资源利用率不高的情形,当需要上线新的应用系统时,会优先考虑部署在既有的基础架构上。但因为不同的应用系统所需的运行环境、对资源的抢占会有很大的差异,更重要的是考虑到可靠性、稳定性、运维管理问题,将新、旧应用系统整合在一套基础架构上的难度非常大。所以,更多的用户往往选择新增与应用系统配套的计算、存储和网络等硬件设备。

这种部署模式造成了每套硬件与所承载应用系统的“专机专用”的情况,多套硬件和应用系统构成了“烟囱式”部署架构,使得整体资源利用率不高,占用过多的机房空间和能源。随着应用系统的增多,IT资源的效率、扩展性、可管理性都面临很大的挑战。

如图1-4所示,云基础架构的引入有效解决了传统基础架构的问题。云基础架构在传统基础架构计算、存储、网络硬件层的基础上,增加了虚拟化层、云管理层。图1-4 云基础业务部署架构

1)虚拟化层:大多数云基础架构广泛采用虚拟化技术,包括计算虚拟化、存储虚拟化、网络虚拟化等。通过虚拟化层,屏蔽了硬件层自身的差异和复杂度,向上呈现为标准化、可灵活扩展和收缩、弹性的虚拟化资源池。

2)云管理层:对资源池进行调配、组合,根据应用系统的需要自动生成、扩展所需的硬件资源,将更多的应用系统通过流程化、自动化部署和管理,提升IT运行效率。

相对于传统基础架构,云基础架构通过虚拟化整合与自动化,应用系统共享基础架构资源池,实现高利用率、高可用性、低成本、低能耗,并且通过云平台层的自动化管理,实现快速部署、易于扩展、智能管理,帮助用户构建IaaS云业务模式。1.7计算虚拟化简介1.7.1 计算虚拟化

计算虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。

计算虚拟化使用软件的方法重新定义、划分IT资源,可以实现IT资源的动态分配、灵活调度、跨域共享,提高IT资源利用率,使IT资源能够真正成为社会基础设施,服务于各行各业中灵活多变的应用需求。

如图1-5所示,虚拟化技术的核心是运行在硬件服务器上的Hypervisor软件。Hypervisor是一种运行在物理服务器和操作系统之间的中间软件层,允许多个操作系统和应用共享一套基础物理硬件,因此也可以看作虚拟环境中的“元”操作系统,它可以协调访问服务器上的所有物理设备和虚拟机,也叫虚拟机监视器(Virtual Machine Monitor)。Hypervisor是所有虚拟化技术的核心,非中断地支持多工作负载迁移的能力是Hypervisor的基本功能。当服务器启动并执行Hypervisor时,它会给每一台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。图1-5 虚拟化技术基本架构1.7.2 计算虚拟化的作用

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

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

当技术人员刚接触到云计算和虚拟化时,在好奇的同时,总会有这样或那样的问题,如服务器是否可以多虚一等,在这里对一些常见问题进行解答。

1)在一台特定的服务器上,每一个虚拟机是否可以运行任何版本的操作系统?

服务器虚拟化对于在每一个虚拟机上使用的Windows(或者Linux)服务器操作系统没有任何版本限制,不过,全新版本的Windows需要在安装之前检查一下它与服务器虚拟化软件的兼容性。

2)重新启动虚拟机是否会对其他虚拟机产生影响?

重新启动虚拟机不需要接触服务器或者服务器虚拟化软件。重新启动虚拟机对于其他虚拟机没有任何影响。虚拟机完全是相互隔离的。不过,如果重新启动物理服务器(也就是说重新启动服务器虚拟化软件),它将中断所有虚拟机的运行。

3)如何为虚拟机分配任务?

总的来说,最好是把繁重工作量和轻工作量的应用程序搭配起来安装到每一台物理服务器上,以便最有效地使用服务器。从性能方面看,繁重工作量的应用程序能够从在通信高峰期随时使用大量处理器和内存资源中获得益处,同时还不影响轻工作量的应用程序有效地利用服务器的剩余资源,提供服务。

4)虚拟化和刀片服务器是否可以一起使用?

技术上应该谨慎地结合在一起,避免“把太多的鸡蛋放在一个篮子里”。把服务器虚拟化软件安装在刀片式服务器上没有技术错误或者困难。然而,在没有认真考虑它将产生的集中的风险之前,不要这样做。例如,如果在16台刀片式服务器的每一台服务器上建立10个虚拟机,在这个刀片式服务器的机架上就一共运行了160个应用程序。如果这个机架发生问题(如火灾或者断电),并且没有充分的备份或者冗余(机架外部的),你就会同时失去160个应用程序,并且给你的企业带来灾难。

5)服务器虚拟化时,是否需要对存储进行改变?

如果用户已经在数据中心建立了一个存储局域网,在不改变存储网络原有架构的情况下,只需要将原有存储网络扩展到虚拟机所在的那些服务器即可。

6)在遇到业务中断的时候,使用虚拟化是否会使不利影响降到最低?

提高冗余的水平以避免中断的增多影响多个应用程序或者服务,即使不担心刀片式服务器与服务器虚拟化的结合,在标准服务器上使用服务器虚拟化也是“把许多鸡蛋放在一个篮子里”。考虑到一台服务器故障可能导致10个应用程序或者数据库中断,一般来说,理想的情况是提供同样水平的冗余,允许这台服务器在主服务器发生故障时把其全部内容迅速转移到一台待机的服务器上。

7)应用程序和数据库的实例应该放在什么地方?

一般来说,最好指定物理服务器作为开发、测试/质量保证和生产服务器,并且相应地把应用程序实例和数据库放在这些服务器上。这个政策是安全需求推动的。在某些行业,管理部门的规定要区别对待不同的环境(特别是生产环境)。

8)虚拟化环境中,跟踪软件许可证是否会变得更加困难?

在一个理想的数据中心,跟踪虚拟化的服务器的软件许可证并不困难。然而,现实世界的经验表明,这确实是很困难的。在虚拟化环境中,虚拟机很容易创建,而且业务部门很难发现每一个虚拟机上需要什么软件,或者已经安装了什么软件,从而使跟踪许可证的要求和许可证的使用非常困难。

9)服务器虚拟化以后,安全管理会变得更加困难吗?

充分地保证访问虚拟机的安全以及在虚拟机上存储信息的安全要比在传统的物理环境中复杂一些。首先,访问虚拟化软件必须要严格控制。第二,任何能够访问虚拟机的人都可以下载一个应用程序,向隔离每一个虚拟机的虚拟“墙”实施攻击。第三,对于每一个虚拟机来说,实施网络级的接入限制是更复杂的对于虚拟化的安全,在网络安全方面,云服务商已经提供了vFW、云盾等虚拟化的网络安全服务产品;在数据安全方面,目前已经有数据加密、数据位置标识、数据彻底清除等方案的支持。

10)引进虚拟化时,管理数据库是否要重新设计?

需要对其基础的数据库(也就是方案)进行彻底的重新设计。如果使用当前的配置管理数据库不可能进行重新设计,必须购买新的配置管理数据库软件。

虽然有许多配置管理数据库软件供应商已经开始采用服务器虚拟化,但是,在数据中心还使用许多老版本的配置管理数据库软件。这些老版本的软件也许不能把虚拟机当作“数据入口”,不能识别“物理服务器X上虚拟机A”的关系。物理服务器上的许多东西,如安装的操作系统版本和IP地址等,现在必须与虚拟机关联起来。此外,这些事情还必须与非虚拟化的服务器关联起来。这些要求意味着配置管理数据库下面的数据库设计需要进行彻底修改,以便在已经引进虚拟化的数据中心中使用。

11)虚拟服务器环境与传统服务器环境相比,软件成本是否会减少?

软件许可证成本将增加,因为业务部门要求增加更多的“机器”(业务部门知道增加虚拟机很容易并且很便宜)。一旦IT部门告诉业务部门,他们能够在几个小时之内配置一个新的虚拟机,人类的贪婪本性就会占上风。业务部门会大量地提出虚拟机配置申请。但如果他们要等待批准购买物理服务器的预算、下订单、交货、安装和设置使用,那么他们在提出申请的时候就会犹豫一下。一些专家把这个结果称作“虚拟机蔓延”。更糟糕的是,当一个计划取消的时候或者开发工作完成的时候,业务部门会告诉IT部门那个相关的虚拟机可以撤销了吗?当然不会。

12)全面应用虚拟化的数据中心和传统数据中心相比,人员是否会减少?

服务器和操作系统的技术支持人员数量大体相同。数据中心完成的大部分工作是由“服务器”的数量推动的。这些服务器是虚拟的还是物理的都没有什么区别。在对待故障单、管理操作系统和应用程序更新和补丁、管理安全问题、监视性能等方面,每一个虚拟机都要与物理服务器同样对待。不必安装物理服务器所减少的少量工作量将会被在每一个新的虚拟机上安装和设置VMware等服务器虚拟化系统这类工作所抵消。1.7.4 计算虚拟化厂家

当前,虚拟化应用变得越来越热门,下面简单分析几大虚拟化厂商各自的优缺点。1. Citrix公司

Citrix公司是近两年业务增长非常快的一家公司,这得益于云计算的兴起。Citrix公司主要有三大产品:服务器虚拟化XenServer,优点是便宜,管理一般;应用虚拟化XenAPP;桌面虚拟化Xendesktop。后两者是目前为止最成熟的桌面虚拟化与应用虚拟化产品。企业级VDI解决方案中不少都是Citrix公司的Xendesktop与XenApp的结合使用。2. IBM

在2007年11月的IBM虚拟科技大会上,IBM就提出了“新一代虚拟化”的概念。只是时之今日,成功的案例却并不多见,像陕西榆林地区的中国神华分公司那样的失败案例倒是不少。不过,IBM虚拟化还是具备以下两点优势:第一,IBM丰富的产品线,对自有品牌有良好的兼容性;第二,强大的研发实力,可以提供较全面的咨询方案,只是成本过高,不是每一个客户都这么富有的。加上其对第三方支持兼容较差,运维操作也比较复杂,其对于企业来说就像是把双刃剑。并且IBM所谓的虚拟化只是服务器虚拟化,而非真正的虚拟化。3. VMware

作为业内虚拟化领先厂商的VMware公司,一直以其易用性和管理性得到广泛的认同。只是受其架构的影响限制,VMware主要是在x86平台服务器上有较大优势,而非真正的IT信息虚拟化。加上其本身只是软件方案解决商,而非像IBM与微软那样拥有各自的用户基础的厂商。所以当前,对于VMware公司来说将面临着多方面的挑战,其中包括微软、XenSource(被Citrix收购)、Parallels、IBM公司。所以,未来对于VMware公司来说这条虚拟化之路能否继续顺风顺水下去还真不好说。4. 微软

2008年,随着微软Virtualization的正式推出,微软已经拥有了从桌面虚拟化、服务器虚拟化到应用虚拟化、展现层虚拟化的完备的产品线。至此,其全面出击的虚拟化战略已经完全浮出水面。因为,在微软眼中虚拟化绝非简单的加固服务器和降低数据中心的成本,还意味着帮助更多的IT部门最大化ROI,并在整个企业范围内降低成本,同时强化业务的可持续性。所以微软研发了一系列的产品,用以支持整个物理和虚拟基础架构。5. KVM

这是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。目前,大量云供应商都以KVM作为其虚拟化的底层核心,大规模使用,从而使KVM的影响力空前巨大。

近两年,随着虚拟化技术的快速发展,虚拟化技术已经走出了局域网,进而延伸到了整个广域网。几大厂商的代理商业越来越重视客户对虚拟化解决方案需求的分析,因此也不局限于仅代理一家厂商的虚拟化产品。1.8存储虚拟化简介1.8.1 存储虚拟化

存储虚拟化(StorageVirtualization)最通俗的理解就是对存储硬件资源进行抽象化表现。这种虚拟化可以将用户与存储资源中大量的物理特性隔绝开来,就好像我们去仓库存放或者提取物品一样,只要跟仓库管理员打交道,而不必关心我们的物品究竟存放在仓库内的哪一个角落。对于用户来说,虚拟化的存储资源就像是一个巨大的“存储池”,用户不会看到具体的存储磁盘、磁带,也不必关心自己的数据经过哪一条路径通往哪一个具体的存储设备。

存储虚拟化减少了物理存储设备的配置和管理任务,同时还能够充分利用现有的存储资源。如果没有存储虚拟化,那只能对物理存储设备进行单个管理,无疑这种管理的难度是很大的,并且非常容易造成存储资源的浪费。

存储虚拟化的方式是将整个云系统的存储资源进行统一整合管理,为用户提供一个统一的存储空间。如图1-6所示,存储虚拟化技术的核心就是将底层的存储设备统一管理,将存储物理设备中的存储资源抽象成一个个虚拟资源,并且可以根据用户的需求来分配用户所需的存储空间和存储类型给用户使用。图1-6 存储虚拟化1.8.2 存储虚拟化的特点

存储虚拟化具有以下功能和特点。

1)集中存储:存储资源统一整合管理,集中存储,形成数据中心模式。

2)分布式扩展:存储介质易于扩展,由多个异构存储服务器实现分布式存储,以统一模式访问虚拟化后的用户接口。

3)按需分配,按需使用:根据用户需要的空间大小,为用户提供相应的存储能力,同时支持存储自动精简配置。

4)节能减排:服务器和硬盘的耗电量巨大,但为了提供全时段数据访问,存储服务器及硬盘是不可以停机的。为了节能减排,需要利用更合理的协议和存储模式,尽可能地减少开启服务器和硬盘的次数。

5)虚拟本地硬盘:存储虚拟化应当便于用户使用,最方便的形式是将云存储系统虚拟成用户本地硬盘,使用方法与本地硬盘相同。

6)安全认证:新建用户加入云存储系统前,必须经过安全认证并获得证书。

7)数据加密:为保证用户数据的私密性,将数据存到云存储系统时必须加密。加密后的数据除被授权的特殊用户以外,其他人一概无法解密。

8)级层管理:支持级层管理模式,即上级可以监控下级的存储数据,而下级无法查看上级或平级的数据。1.8.3 自动精简配置

存储虚拟化的重要特点是自动精简配置。自动精简配置是一种先进的、智能的、高效的容量分配和管理技术,它扩展了存储管理功能,可以用小的物理容量为操作系统提供超大容量的虚拟存储空间。并且,随着应用数据量的增长,实际存储空间也可以及时扩展,而无须手动扩展。总之,自动精简配置提供的是“运行时空间”,可以显著减少已分配但是未使用的存储空间。

如果采用传统的磁盘分配方法,需要用户对当前和未来业务发展规模进行正确的预判,提前做好空间资源的规划。但这并不是一件容易的事情,在实际中,由于对应用系统规模估计得不准确,往往会造成容量分配的浪费。比如为一个应用系统预分配了5TB的空间,但该应用却只需要1TB的容量,这就造成了4TB的容量浪费。而且这4TB容量被分配了之后,很难再被别的应用系统使用。即使是最优秀的系统管理员,也不可能恰如其分地为应用分配好存储资源,而没有一点浪费。根据业界的权威统计,由于预分配了太大的存储空间而导致的空间资源浪费,大约占总存储空间的30%。

自动精简配置技术有效地解决了存储资源的空间分配难题,提高了资源利用率。采用自动精简配置技术的数据卷分配给用户的是一个逻辑的虚拟容量,而不是一个固定的物理空间,只有当用户真正向该逻辑资源写数据时,才按照预先设定好的策略从物理空间分配实际空间容量。1.8.4 存储虚拟引擎

存储虚拟引擎根据数据特征可以分为带外(out-of-band)虚拟引擎和带内(in-band)虚拟引擎。带外虚拟引擎是在数据路径外的服务器上实现的虚拟功能,也就是将控制数据和存储数据安排在不同的数据路径上传输。带外能够避免带内的一些问题,但是每台服务器都必须安装虚拟化客户端软件,这种方式将数据路径和控制路径分开,确保了虚拟化设备不会成为数据传输的瓶颈,减少了存储数据网络中的流量,有助于提高系统性能。但是因为一般需要安装专用软件,也容易受到攻击。如DFS分布式文件系统、Ceph等都属于带外虚拟引擎。

带内虚拟引擎是在应用服务器和存储的数据通路内部实现虚拟存储,控制数据和需要存储的实际数据在同一个数据通路内传递。带内虚拟存储具有较强的协同工作能力,同时便于通过集中化的管理界面进行控制。但是,无论是基于设备还是基于交换机,带内虚拟化都比较脆弱。由于带内设备现在成为服务器和存储资源之间必须经过的网关,设备的失效可能会导致整个SAN数据访问出现问题。同时带内存储会占用较多的数据网络带宽来传输控制数据,因而容易在服务器和存储设备之间产生性能瓶颈。IBM的SVC等存储存储网关设备都属于带内虚拟引擎。1.9网络虚拟化简介

随着云计算的高速发展,虚拟化应用成为了近几年在企业级环境下广泛实施的技术,而除了服务器/存储虚拟化之外,在2012年SDN(软件定义网络)和OpenFlow大潮的进一步推动下,网络虚拟化又再度成为热点。不过谈到网络虚拟化,其实早在2009年,各大网络设备厂商就已相继推出了自家的虚拟化解决方案,并已服务于网络应用的各个层面和各个方面。网络虚拟化又分为网络设备虚拟化、链路虚拟化和虚拟网络3个层次。1.9.1 网络设备虚拟化1. 网卡虚拟化

网卡虚拟化(NIC Virtualization)包括软件网卡虚拟化和硬件网卡虚拟化。

1)软件网卡虚拟化主要通过软件控制各个虚拟机共享同一块物理网卡实现。软件虚拟出来的网卡可以有单独的MAC地址、IP地址。所有虚拟机的虚拟网卡通过虚拟交换机以及物理网卡连接至物理交换机。虚拟交换机负责将虚拟机上的数据报文从物理网口转发出去。根据需要,虚拟交换机还可以支持安全控制等功能。

2)硬件网卡虚拟化主要用到的技术是单根I/O虚拟化(Single Root I/O Virtualization,SR-IOV)。所有针对虚拟化服务器的技术都通过软件模拟虚拟化网卡的一个端口,以满足虚拟机的I/O需求,因此在虚拟化环境中,软件性能很容易成为I/O性能的瓶颈。SR-IOV是一项不需要软件模拟就可以共享I/O设备、I/O端口的物理功能的技术。SR-IOV创造了一系列I/O设备物理端口的虚拟功能(Virtual Function,VF),每个VF都被直接分配到一个虚拟机上。SR-IOV将PCI功能分配到多个虚拟接口以便在虚拟化环境中共享一个PCI设备的资源。SR-IOV能够让网络传输绕过软件模拟层,直接分配到虚拟机,这样就降低了软件模拟层中的I/O开销。2. 硬件设备虚拟化

硬件设备虚拟化主要有两个方向:在传统的基于x86架构机器上安装特定操作系统,实现路由器的功能,以及传统网络设备硬件虚拟化。

通常,网络设备的操作系统软件会根据不同的硬件进行定制化开发,以便设备能以最高的速度工作,比如思科公司的IOS操作系统,在不同的硬件平台上需使用不同的软件版本。近年来,为了提供低成本的网络解决方案,一些公司提出了网络操作系统和硬件分离的思路。

典型的网络操作系统是Mikrotik公司开发的RouterOS。这类网络操作系统通常基于Linux内核开发,可以安装在标准的x86架构的机器上,使得计算机可以虚拟成路由器使用,并适当地扩展一些防火墙、VPN的功能。此类设备因其低廉的价格以及不受硬件平台约束等特性,占据了不少低端路由器市场。

传统网络设备硬件(路由器和交换机)的路由功能是根据路由表转发数据报文。在很多时候,一张路由表已经不能满足需求,因此一些路由器可以利用虚拟路由转发(Virtual Routing and Forwarding,VRF)技术,将转发信息库(Forwarding Information Base,FIB)虚拟化成多个路由转发表。

此外,为增加大型设备的端口利用率,减少设备投入,还可以将一台物理设备虚拟化成多台虚拟设备,每台虚拟设备仅维护自身的路由转发表。比如思科的N7K系列交换机可以虚拟化成多台VDC。所有VDC共享物理机箱的计算资源,但各自独立工作,互不影响。此外,为了便于维护、管理和控制,将多台物理设备虚拟化成一台虚拟设备的技术也有一定的市场,比如H3C公司的IRF技术。1.9.2 链路虚拟化

链路虚拟化是日常使用最多的网络虚拟化技术之一。常见的链路虚拟化技术有链路聚合和隧道协议。这些虚拟化技术增强了网络的可靠性与便利性。1. 链路聚合

链路聚合(Port Channel)是最常见的二层虚拟化技术。链路聚合将多个物理端口捆绑在一起,虚拟为一个逻辑端口。当交换机检测到其中一个物理端口链路发生故障时,就停止在此端口上发送报文,根据负载分担策略在余下的物理链路中选择发送报文的端口。链路聚合可以增加链路带宽,实现链路层的高可用性。

在网络拓扑设计中,要实现网络的冗余,一般都会使用双链路上连的方式。而这种方式明显存在一个环路,因此在生成树计算完成后,就会有一条链路处于block状态,所以这种方式并不会增加网络带宽。如果想用链路聚合方式来实现双链路上连到两台不同的设备,而传统的链路聚合功能不支持跨设备的聚合,在这种背景下就出现了虚链路聚合(Virtual Port Channel,VPC)技术。VPC很好地解决了传统聚合端口不能跨设备的问题,既保障了网络冗余又增加了网络可用带宽。2. 隧道协议

隧道协议(Tunneling Protocol)指一种技术/协议的两个或多个子网穿过另一种技术/协议的网络实现互联,使用隧道传递的数据可以是不同协议的数据帧或包。隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过网络传递被封装的负载数据。隧道可以将数据流强制送到特定的地址,并隐藏中间节点的网络地址,并可根据需要提供对数据加密的功能。一些典型的使用隧道的协议有GRE(Generic Routing Encapsulation)和IPsec(Internet Protocol Security)。1.9.3 虚拟网络

虚拟网络(Virtual Network)是由虚拟链路组成的网络。虚拟网络节点之间的连接并不使用物理线缆连接,而是依靠特定的虚拟化链路相连。典型的虚拟网络包括叠加网络、VPN网络以及在数据中心使用较多的虚拟二层延伸网络。1. 叠加网络

叠加网络(Overlay Network)简单说就是在现有网络的基础上搭建另外一种网络。叠加网络允许对没有IP地址标识的目的主机路由信息,例如分布式哈希表(Distributed Hash Table,DHT)可以路由信息到特定的结点,而这个结点的IP地址事先并不知道。叠加网络可以充分利用现有资源,在不增加成本的前提下提供更多的服务。比如,ADSL Internet接入线路就是基于已经存在的PSTN网络实现的。2. 虚拟专用网

虚拟专用网(Virtual Private Network,VPN)是一种常用于连接中、大型企业或团体与团体间的私人网络的通信方法。虚拟专用网通过公用的网络架构(比如互联网)来传送内联网的信息。利用已加密的隧道协议来达到保密、终端认证、信息准确性等安全效果。这种技术可以在不安全的网络上传送可靠的、安全的信息。需要注意的是,信息是否加密是可以控制的,没有加密的信息依然有被窃取的危险。3. 虚拟二层延伸网络

虚拟化从根本上改变了数据中心网络架构的需求。虚拟化引入了虚拟机动态迁移技术,要求网络支持大范围的二层域。一般情况下,多数据中心之间的连接是通过三层路由连通的。而要实现通过三层网络连接的两个二层网络互通,就要使用虚拟二层延伸网络(Virtual L2 Extended Network)。

传统的VPLS(MPLS L2VPN)技术,以及新兴的Cisco OTV、H3C EVI技术,都是借助隧道的方式,将二层数据报文封装在三层报文中,跨越中间的三层网络,实现两地二层数据的互通。也有虚拟化软件厂商提出了软件的虚拟二层延伸网络解决方案。例如VXLAN、NVGRE,在虚拟化层的vSwitch中将二层数据封装在UDP、GRE报文中,在物理网络拓扑上构建一层虚拟化网络层,从而摆脱对底层网络的限制。1.9.4 基于SDN的网络虚拟化

SDN改变了传统网络架构的控制模式,将网络分为控制层(Control Plane)和数据层(Data Plane)。网络的管理权限交给了控制层的控制器软件,通过OpenFlow传输通道,统一下达命令给数据层设备,数据层设备仅依靠控制层的命令转发数据包。由于SDN的开放性,第三方也可以开发相应的应用置于控制层内,使得网络资源的调配更加灵活。网管人员只需通过控制器下达命令至数据层设备即可,无须一一登录设备,节省了人力成本,提高了效率。可以说,SDN技术极大地推动了网络虚拟化的发展进程。第2章计算虚拟化技术2.1计算虚拟化技术简介

虚拟化是云计算的基石。通过虚拟化,单服务器资源被分割成多个细粒度资源,实现了资源的高效利用。虚拟化技术主要包括Hypervisor虚拟化和容器虚拟化。2.1.1 Hypervisor虚拟化

Hypervisor虚拟化表达了服务请求与底层物理交付的分离。通过在物理硬件与操作系统间增加一层逻辑虚拟化层,计算机的各种实体资源,如CPU、内存、网络及存储等,得以被抽象分割,形成多个虚拟机实体。对于上层服务,虚拟机就是真实的计算机,它拥有独立的计算环境,拥有自己的虚拟硬件。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载